0

What can you do with Labeled Property Graph used by companies such as Neo4j that you can not do with RDF* /SPARQL* used by BlazeGraph?

The-Big-K
  • 2,672
  • 16
  • 35
Alok
  • 1
  • Possible duplicate of [What is the difference between triplestores and graph databases?](https://stackoverflow.com/questions/18482663/what-is-the-difference-between-triplestores-and-graph-databases) – laughedelic Oct 22 '18 at 16:16
  • Also take a look at [Graph databases vs. triple stores](https://stackoverflow.com/q/4974243/736957) – laughedelic Oct 22 '18 at 16:16

1 Answers1

0

What you can do with the store depends, of course, on the stores. And the capabilities of Neo4j and Blazegraph are very different.

Now, if your question is what can I express with RDF-star compared to what the property graph model can express, then this is a valid question, and the answer is they are pretty much equivalent in terms of expressivity.

The property graph uses a higher level of abstraction as its primitives are nodes and relationships, both of which can have internal structure (as in attributes describing them). Instead, RDF breaks every bit of information into triples/statements.

A simple graph describing me posting an answer in StackOverflow can be expressed in Cypher like this:

CREATE 
(:Person { uri: 'http://me.com/jb', name: 'JB'})-[:POST { date:'20/06/2021'}]->(:Answer { uri: 'http://stackoverflow.com/answer/1234', text: 'blah blah blah...'})

...and exactly the same information in SPARQL + RDF-star would look like this:

INSERT DATA
{ 
<http://me.com/jb> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .
<http://me.com/jb> <http://schema.org/name> "JB" .
<http://stackoverflow.com/answer/1234> <http://schema.org/text> "blah blah blah..." .
<http://me.com/jb> <http://schema.org/post> <http://stackoverflow.com/answer/1234> .
<http://stackoverflow.com/answer/1234> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Answer> .
<http://me.com/jb> <http://schema.org/post> <http://stackoverflow.com/answer/1234> .
<<<http://me.com/jb> <http://schema.org/post> <http://stackoverflow.com/answer/1234>>> 
   <http://schema.org/dateCreated> "20/06/2021" .
}

So you can express the same, but one is arguably more "data exchange oriented" (RDF), and the other is more "data manipulation / developer oriented".