MichelDiz commented :
- It is basically Posting Lists recorded in KV on BadgerDB. You can read more about it in the newly released paper dgraph/paper/dgraph.pdf at master · dgraph-io/dgraph · GitHub
A RDF triple is basically a “KV” with an identifier.
Dgraph is a triple system, but not exactly a triple store per se.
-
Yes.
-
I am not sure. Because I was not present when Dgraph started. But I have a slight idea of why.
Basically Dgraph was “mirroring” itself in GraphQL. And GraphQL had no specific mutation patterns other than JSON objects inside a mutation block. Perhaps the engineers who started the project with Manish had some familiarity with RDF (as they certainly took classes at the university with web semantics). And the RDF seemed to be an obvious choice for that moment. But not the whole package.
I have this slight idea after reading old commits. But I can ask Manish about it.
Anyway, GraphQL does not use web semantics so do we. And there was no demand for this feature. So the DB was maturing without web semantics. Even because, Dgraph is a DB aimed at common web services (like NoSQL is) and not Ontology or similar. Although you can do it, as any GraphDB is customizable. But it would not follow any specific standards. And you have to “fit” it in GraphQL+-.
I understand with the lacking foundation of a triple or quad store, there is actually very little than can be done to fully support RDF & SPARQL.
We can try to support JSON-LD. Which several RDF DBs can export their data. That’s why I have opened some issues about this context Support reserved character "@" to be used in predicate naming · Issue #4897 · dgraph-io/dgraph · GitHub
And also Add aliases at the schema level (In type) · Issue #4898 · dgraph-io/dgraph · GitHub Deal better with Unrecognized RDF types. · Issue #4915 · dgraph-io/dgraph · GitHub
All these are small steps to let users input data coming from RDF triple stores easily (I am studying the problems related to this). We could import JSON-LD and export a JSON file 99.9% similar to JSON-LD. Which is compatible with several tools out there.
What’s the long-term vision of Dgraph?
We are discussing about it Dgraph's New Versioning Scheme - #4 by dmai
Do you mean SPARQL? I’m not sure. We have to finish the GraphQL specs support. There are a lot of things to be done to start a new adventure.