2 ms·
For the applications you are describing, they could be modeled as well in a "property graph" as in a triple-store. The thing about Neo4j is that it is a raw gra
by akollegger 15y ago
For the applications you are describing, they could be modeled as well in a "property graph" as in a triple-store. The thing about Neo4j is that it is a raw graph data structure, with nodes, edges and properties on both. With a query language like Cypher it is easy to then traverse the graph to find information. And Neo4j isn't just a graph abstraction, it's purpose built database down to the file system, designed for fast graph traversals.
The RDF/OWL approach has a nice advantage with a built-in notion of logical relationships between things, while being a bit more verbose in storage. Ontologies are a mixed blessing.
For the flexibility you mention, it's common with Neo4j to "organically grow" your data by simply elaborating the structures and relationships. This allows, for instance, multiple domains to be intermingled across a common base set of data, differentiated by the relationships they establish to the common data.
Cheers,
Andreas