Company
Date Published
Author
Dom Davis
Word count
1483
Language
English
Hacker News points
None

Summary

Building a graph database model from the highest possible vantage point using natural language and domain-specific language helps develop a model that truly stands the test of time. Most basic texts on graphs start with vertices and edges, but modeling them is where the fun part begins. A graph can be viewed as a way of modeling the world using interconnected triples in the format of noun-verb-noun, which can be applied to any language regardless of the order of subject, verb, and object. The model should capture the nouns of that world, form sentences with verbs, labels, and relationships, resulting in a graph model that is easy to reason about. When building this model, consider questions you'll ask of your model, such as "How long did I spend giving talks?" or "Will I be out of talk A in time for talk B?", which may require different data structures like durations or end times. The model should also account for nuances like multiple roles at different companies or the semantics of relationships. Once the model is built, it needs to be converted into a graph, where considerations include viewing the world as instances of those nouns and ensuring unambiguous routes or paths for traversal decisions. The final step involves diving into Cypher query language, using property nodes and relationships to define a schema on the graph, storing data under that schema, and defining aliases and primary languages for more complex concepts like ticketing systems.