Graph Simple Form (GSF)
There is no "standard" when it comes to building data graphs. Stores that support RDF (Semantic Web) and Property Graphs are most common, but these have failed to gain universal acceptance because they're not broadly-useful.
These first-generation graph stores have some impressive capabilities, but they don't do the basics well. First and foremost, a Graph DBMS has to be great at managing data. It has to be as easy-to-use as a traditional database and loaded with the features that Enterprise users expect. It also has to be highly-searchable, and fast.
These basic requirements heavily influenced our search for a base graph structure. But we also wanted a simplified preferred structure to meet these additional goals...
- Promote data-as-graph Best Practice. The graph equivalent of RDBMS normalization.
- Support Graceful Extension - where enriching your data doesn't break what's already there.
- Allow a Data Landscape to emerge from your graph in support of "fuzzy" and serendipitous discovery of facts.
Graph Simple Form or GSF is that preferred structure. It helps us meet all our core and higher goals. GSF is a variation of what's referred to as a simple mixed-graph. This is what it looks like.
Each vertex or node has...
- A 128-bit identifier.
- A single payload that can be a simple property or a complex object. Or it can be empty.
- A quantifier to flag that the vertex represents some (∃) or all (∀) of these.
Its arcs, edges or connections have these rules...
- It may have a direction. Or not.
- Direction is one of these types: "has", its opposite "is of", "mutual has" or "same as".
- It can carry no other properties. In GSF, properties are for vertices.
- There may only be one arc between any two vertices.
- An arc may not connect a vertex to itself.
With GSF you can model any data problem. You can then build massive future-proof data graphs that are a pleasure to work with.