After staring at them for a couple moments and repressing the urge to sell them the "app" for five bucks, you start thinking about how you're going to access and use this wonderful data.
"If only there was a way to query the data..." you wonder.
While SQL is the querying language of choice for relational databases, there is no real "standard" as far as NoSQL databases go (that's a subject for another time).
In the world of graph-driven databases, there are options:
- Gremlin; a Groovy-based querying language that can handle any type of query. This language is perhaps geared more towards those with more of a math- or graph-based background as the syntax is nothing like SQL.
- SPARQL; a popular query language for RDF graphs. This language is likely more easily picked up by those with an SQL background as the syntax is more SQL-like than Gremlin.
- Cypher; a neo4j-specific querying language. This language currently only allows read-only queries of graphs (i.e. no inserts, updates or deletions). Like SPARQL, Cypher also takes its cues from SQL.
The graph below assumes one that has nodes describing products and people, and has relationships showing purchases and who knows whom.