About the GraphGist Portal
Already know what a graphgist is? Start yours now.
What is a GraphGist
Building a graph of your data is fairly simple as the graph structure represents the real world much better than columns and rows of data. GraphGists are teaching tools which allow developers to explore how data in a particular domain would be modeled as a graph and see some example queries of that graph data.
Why create a GraphGist?
Neo4j GraphGists are an easy way to create and share example graph models & data for particular use cases or industries. You can explain these models with text and graphics, and provide example queries for how to interact with data using Cypher. They’re very helpful educating the Neo4j community and even developers within your own organization.
These documents are written in a simple, textual markup language (AsciiDoc) and rendered in your browser as rich and interactive web pages that you can quickly evolve from describing simple how-tos or questions to providing an extensive use-case specification.
To see the expressive power of this approach, here are some winners of our past community competitions:
Example GraphGists
Pop Culture
Open/Government Data and Politics
Investigative Journalism
Sports and Recreation
Public Web APIs
How do I create a GraphGist?
GraphGists work like any AsciiDoc document, but they allow you to insert special comments to define how data from Neo4j can be displayed and interacted with.
First define a block of Cypher code to setup the database, this block can also use LOAD CSV. Please use a educational graph size (around 150 nodes and rels):
//setup //hide [source,cypher] ---- CREATE (neo:Database {name:'Neo4j'}) CREATE (neo)-[:SUPPORTS]->(:Language {name:'Cypher'}) ----
You can then describe the use cases, run their queries on the data and output results as a table and/or a graph:
[source,cypher] ---- MATCH (db:Database)-[:SUPPORTS]->(language:Language) RETURN db.name as db, collect(language.name) as languages ---- //table
[source,cypher] ---- MATCH (d:Database)-[rel:SUPPORTS]->(l:Language) RETURN d,l ---- //graph_result