[1] https://stackoverflow.com/questions/29192927/a-graph-db-vs-a... (2015)
[1] https://stackoverflow.com/questions/29192927/a-graph-db-vs-a... (2015)
https://raw.githubusercontent.com/xtdb/xtdb/master/docs/conc...
Btw, is that 'RocksDB or ?' for the local store current or other storage engines can get plugged in?
p.s. this is datomic's architecture for comparison.
[1] https://thesearch.space/episodes/5-kevin-feeney-on-terminusd...
RDFS and SHACL (and OWL) are optional in a triple store, which expects the subject and predicate to be string URIs, and there is an object datatype and optional language:
(?s ?p ?o <datatype> [lang])
(?subject:URI, ?predicate:URI, ?object:datatype, object_datatype, [object_language])
RDFS introduces rdfs:domain and rdfs:range type restrictions for Properties, and rdfs:Class and rdfs:subClassOf.`a` means `rdf:type`; which does not require RDFS:
("#xyz", a, "https://schema.org/Thing")
("#xyz", rdf:type, "https://schema.org/Thing")
Quad stores have a graph_id string URI "?g" for Named Graphs: (?g ?s ?p ?o)
("https://example.org/ns/graphs/0", "#xyz", a, "https://schema.org/Thing")
("https://example.org/ns/graphs/1", "#xyz", a, "https://schema.org/ScholarlyArticle")
There's a W3C CG (Community Group) revising very many of the W3C Linked Data specs to support RDF-star: https://www.w3.org/groups/wg/rdf-starLooks like they ended up needing to update basically most of the current specs: https://www.w3.org/groups/wg/rdf-star/tools
"RDF-star and SPARQL-star" (Draft Community Group Report; 08 December 2022) https://w3c.github.io/rdf-star/cg-spec/editors_draft.html
GH topics: rdf-star, rdfstar: https://github.com/topics/rdf-star, https://github.com/topics/rdfstar
pyDatalog does datalog with SQLAlchemy and e.g. just the SQLite database: https://github.com/pcarbonn/pyDatalog ; and it is apparently superseded by IDP-Z3: https://gitlab.com/krr/IDP-Z3/
From https://twitter.com/westurner/status/1000516851984723968 :
> A feature comparison of SQL w/ EAV, SPARQL/SPARUL, [SPARQL12 SPARQL-star, [T-SPARQL, SPARQLMT,]], Cypher, Gremlin, GraphQL, and Datalog would be a useful resource for evaluating graph query languages.
> I'd probably use unstructured text search to identify the relevant resources first.
I have this fear because there's a history of that with novel query languages and DB platforms tossing in network/hierarchical/"document"/object-oriented features, and creating a dog's breakfast which loses the compositional/expressive power of the relational algebra. Think MongoDB or Redis. Conceptually a big mess.
RDF itself has a history of this as well. Appeals to novelty.
Or even Google's F1, which smashes hierarchical tree-structured protobufs into a SQL DB, and so has really weird behaviour on joins and projections.
Well, whatever, you know my opinions on this stuff, I think :-)
At this point I'd settle (or ask for) for a network available tuplestore which just receives relational-algebraic operators from a client, and optimizes/executes, and returns pure tuples, and the client-side could formulate whatever query language (or API) it wanted on top of that. I started playing with building something like that between the two jobs, but never got far.
Treats graph edges as binary relations ("graph normal form"), has a Datalog-ish language. Built for managing large interconnected knowledge sets in a declarative way.
I recommend this talk: https://www.youtube.com/watch?v=WRHy7M30mM4
In the case of RelationalAI, as far as I understand there is no way to even try it out without becoming a customer? I just wish there were, because I really do like the approach!