Is Dgraph an RDF store?


The (free, Neo4j sponsored) O’Reilly Graph+Databases,+2nd+Edition (Appendix A) has this to say about RDF type databases, which of course Dgraph is. Would love to hear some thoughts on some of these statements. Or even more generally, why Dgraph chose the RDF format. Thanks

“Triple stores fall under the general category of graph databases because they deal in data that—once processed—tends to be logically linked. They are not, however, “native” graph databases, because they do not support index-free adjacency, nor are their storage engines optimized for storing property graphs. Triple stores store triples as independent artifacts, which allows them to scale horizontally for storage, but precludes them from rapidly traversing relationships. To perform graph queries, triple stores must create connected structures from independent facts, which adds latency to each query. For these reasons, the sweet spot for a triple store is analytics, where latency is a secondary consideration, rather than OLTP (responsive, online transaction processing systems).”

Dgraph ins’t a Triple Store at all. It uses RDF for convention (it also uses JSON). But the real reason we started to use RDF 3+yrs ago I don’t know, maybe @pawan would help there. As he was the first engineer after Manish.

So, anything related to Triple Store, doesn’t apply to Dgraph. In fact, Dgraph converts RDF(and JSON) to an internal format and then to KV. And it doesn’t support all features covered by W3C. The “RDF-D” is a “custom RDF” with basic triples logic.

1 Like

Yeah, Dgraph is NOT this at all. Dgraph stores data more like a search engine, you can have a read here: Graph Database White Paper | Dgraph

1 Like

Thanks @mrjn. I will re-read paper based on this context. (just one further thought when i am here, I am a graph novice and learning, and most of the info I am seeing on the web relates to either RDF or property stores, so might be worth thinking about adding some clarification around why/how Dgraph differs from these, e.g. present x amount of graph database characteristics, and the describe how RDF, Label Property Graphs and Dgraph achieve them - and what their USP is, e.g, RDF being inference, Dgraph being search?). Thanks, and ps really loving Dgraph!