Unified Knowledge Graph Model — RDF, RDF* vs LPG — The end of war

Knowledge Graph community is divided into RDF adopters and Property Graphs folks. It is the ultimate question for everybody who starts a graph project — what to choose. It is an even more critical question than choosing a life partner !!! The graph model dictates everything — infrastructure, tools, and methods- and shapes hiring and team decisions. It creates a holy war with no winners.
This type of decision is scary, and the price of mistakes is much more than money and could lead to organizational failure.
How can we make a model change possible without paying too much cost? One of the ideas that we discussed at the Connected Data London Conference 2024 was the layered view architecture of Property Graphs on top of the RDF store. Oracle does even more — folks build a Property and RDF view on top.
Some organizations do a on fly translation of LPG to RDF but for big graphs, it could be space and computationally expensive tasks
Just RDF ?!
In 99% of cases, when you ask your ontologies what to use, you will get an answer — use RDF !!! RDF could be used as a base, but reification is too verbose. It creates way more complex and cluttered graph that require more and more triples to model relations with more and more predefined constraints
Where RDF loses a game to LPG
- edge properties and metadata
- concise data model and complexity
- modeling complex N rarity relations
- Multi-hoop structural queries
TerminusDB : On top of RDF with Linked Data and JSON-LD Documents
Terminus does not marry LPG with RDF it is heavy RDF folks that build DB on top of binary HDT
HDT and Terminus deserve their article, but one key feature is that Terminus offers a graph modeling framework on top of Linked Data documents and JSON-LD frames . We could model the property graph on top of JSON-LD documents.
MilleniumDB: Domain Graphs / Multilayered Graphs

The first paper and model that offers an abstract enough model that can generalize the LPG, RDF, and RDF* model is Multilevel Graphs.
The idea is super simple in a core: we build a graph of layers where layer 0 is similar to an RDF triple, but with a small addition, we add an edge ID to a triple and change it to a quadruple. The first layer does not use edges IDs. Layer 1 does magic — it uses edges from Layer 0 and nodes and allows the addition of triples to the edge. It allows us to add properties and metadata to edges and model a more robust version of RDF*. It also allows the modeling of logical layers like temporal or multi-context data to a graph.

One of the actual use case implementations of Multilayered graphs is Domain Graphs of MilleniumDB.
Millennium DB allows the use RDF or LPG models but does not offer to switch or mix them for now but implement interchangeable practical Domain Graphs model on top of Multilayer Graphs
Neptune: Statement Graphs
One more robust model that marries LPG and RDF came from the Amazon and Neptun databases. The core of model is a StatementGraph that consists of nodes that have a single input edge and three fixed output edges that point to predicate, object-subject relations


Statement graph allow us to model not only RDF and LPG but also models that were not possible to represent as

Beyond RDF, RDF-star, and LPG: A Statement Graph of flight data
is not a OneGraph-View. Note that subject edges are represented as hollow arrows,
predicate edges as double arrows, and object edges as single arrows.
Please read how to model it in relational DB
Conclusion
Structured and domain Graphs allow a heterogeneous model that are capable of marrying RDF and LPG and will allow future graph model translation in space and computation in an effective way. We are still not there with a current databases but we see an apparent movement to better models.
Thank you for being a part of the community
Before you go:
- Be sure to clap and follow the writer ️👏️️
- Follow us: X | LinkedIn | YouTube | Newsletter | Podcast
- Check out CoFeed, the smart way to stay up-to-date with the latest in tech 🧪
- Start your own free AI-powered blog on Differ 🚀
- Join our content creators community on Discord 🧑🏻💻
- For more content, visit plainenglish.io + stackademic.com