Comments on: RDF vs. Property Graphs: Choosing the Right Approach for Implementing a Knowledge Graph https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/ The Leader in Graph Databases Fri, 12 Dec 2025 16:50:47 +0000 hourly 1 https://wordpress.org/?v=6.9.4 By: Steve Sarsfield https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-319109 Mon, 10 Feb 2020 18:26:14 +0000 https://neo4j.com/?p=66897#comment-319109 In reply to Heimo Hänninen.

That said, this article is somewhat dated. It doesn’t include mention of the new LPG capability in RDF, called RDF*, which many SPARQL endpoint engines now have.

]]>
By: Jesús Barrasa https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-191695 Fri, 29 Mar 2019 08:25:39 +0000 https://neo4j.com/?p=66897#comment-191695 In reply to Gabe.

Hi, it’s a talk he gave at ESWC 16. I cannot find the video but the slides are here: https://www.slideshare.net/jahendler/wither-owl

Cheers,

JB.

]]>
By: Thibaut https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-191559 Thu, 28 Mar 2019 19:48:37 +0000 https://neo4j.com/?p=66897#comment-191559 Hi.

Very interesting comparison. The last thing that makes me asking questions is adding sources to statements.

:Statement1 = :Cannabinoids :Lower : ChronicPain
:Statement1 :isSupportedBy :Source1
:Statement1 :isNotSupportedBy :Source2

If we want sources to be external URI it is pretty easy with property graph. We just have to add it to the edge’s properties.

If we want it to be a node it is more complex because we can’t add edges to edge. So that we have to transform the :Lower edge into a vertice.

Cannabinoids – ARE -> TreatmentID -FOR-> ChronicPain

If treatmentID is unique to the statement then sources can point to this node. But this makes queries much less intuitives.

It could be interesting if we could add unique identifiers to edges and refer to it in another node properties. Or, why not, having a special type of edges that connect to edges.

]]>
By: Gabe https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-158769 Wed, 03 Oct 2018 16:05:36 +0000 https://neo4j.com/?p=66897#comment-158769 Which article were you referring to in the link in your last paragraph re: https://www.cs.rpi.edu/~hendler/ ?
I looked through his page, but couldn’t find anything demonstratively discussing shortcomings of RDF.

Thanks

]]>
By: Heimo Hänninen https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-154424 Mon, 10 Sep 2018 11:45:23 +0000 https://neo4j.com/?p=66897#comment-154424 Thanks Jesús!
First time someone clearly explained reification and confirmed my understanding the RDF triple does have an imperfection, in terms of modeling evolving data model for associations. Some background: I have worked on RDF, SKOS and a bit also on Neo4J. In the past I have designed some ontologies using ISO Topic Maps (R.I.P.) which I still believe provided the most elegant model for defining graph 😉

The problem: I may design initially, that Component-A -contains-> Part-B. The, after some iterations, I am asked to add a property @tested-date on the association (edge/predicate) “contains”. In Topic Maps, I would then app the property on Association type – a piece of cake, same with the Neo4j labeled graph, BUT with RDF no can do.

I have to redesign the model, promote a predicate to become a subject with property “tested-date” – and having changed the data model I am forced to propagate the change in the stored data – not good. Predicate URIs will become obsolete since replaced by Subject URIs or whatever workaround I take.

Also, I have to tweak sparql queries in the business logic. Otherwise nice and simple RDF is not robust in that sense. Do I have to treat all predicates as potential associations to become nodes – in order to say more about the association? Cumbersome to my mind…

]]>
By: Jesús Barrasa https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-115038 Wed, 14 Mar 2018 16:03:46 +0000 https://neo4j.com/?p=66897#comment-115038 In reply to Ken Williams.

Hi, slides can be found here: bit.ly/howSemanticIsYourGraph
Cheers,

JB.

]]>
By: Jesús Barrasa https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-114957 Wed, 14 Mar 2018 00:52:46 +0000 https://neo4j.com/?p=66897#comment-114957 In reply to Lennin Arriola.

Hi Lennin, thanks for your comment.

I’m sure you will be glad to hear that our friends from Derivo (https://derivo.de/) have actually implemented a pretty interesting technology called GraphScale that empowers Neo4j with OWL reasoning by connecting it to any state of the art OLW reasoner. As a matter of fact, they’ve used both HermiT and Konclude.

Here is a recent blog entry where Dr. Thorsten Liebig describes their approach https://neo4j.com/blog/neo4j-rdf-graph-database-reasoning-engine/
You can also have a look at the paper from the proceedings of the ISWC 2015 where they presented it first.

Enjoy and please do reach out to them if you want to know more.

Regards,

JB.

]]>
By: Lennin Arriola https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-114940 Tue, 13 Mar 2018 18:08:08 +0000 https://neo4j.com/?p=66897#comment-114940 I look forward to the author showing reasoning capabilities with LPG. I doubt that any reasoners to the level of Fact++; Pellet or Hermit would be ever be written for LPG.

]]>
By: Ken Williams https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-109806 Wed, 17 Jan 2018 19:17:41 +0000 https://neo4j.com/?p=66897#comment-109806 Nice article. The embedded slides are impossible to read, though, could they be replaced with better image captures?

]]>
By: Ray https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-104627 Thu, 30 Nov 2017 23:57:34 +0000 https://neo4j.com/?p=66897#comment-104627 Jesús, thank you so much for this post. As someone who has been working with the semantic web stack for its reasoning capabilities, I have been wondering for the past two years (yes, that long) how the property graph scene would stack (the pun!) up. As soon as I realized that my work in knowledge engineering is about determining the patterns and rules, I knew the RDF/OWL stack was not the only solution.

Pretty much any technology that facilitated the patterns and rules would work. It could be done with declarative programming, say, in Prolog. Within the OWL world you still have complementary procedural rules in the form of SWRL, SPIN, etc., and their accompanying limitations in terms of the open-world assumption, monotonicity, making things more complex. There are other rule formalisms, such as Rulelog, which have other KR languages and modelling or programming processes dissimilar to the RDF/OWL way.

However, I note that you are fully inclined on the LPG model, especially when you say it can do what OWL can do. So I ask you, do you think the BioMed folks, given time and funds, could make a switch to LPG from RDF/OWL and still get the same results? They are very much based around declarative reasoning (rules on class definitions) and not procedural (rules on instances), so they rely more on OWL(2) and the reasoning engine’s features.

Could it be that the more complex the inferencing you need is, the more complex it becomes to define your ontology and rules in an LPG framework? What would be really great, is if someone (you?) could write an LPG translation for the Protege+OWL Pizza tutorial [1] 🙂

Note: But keep in mind that OWL is not the end of the semantics. It cannot create new instances (and so can’t SWRL, to an extent), and the Pizza tutorial doesn’t touch on procedural rules. [2]

[1] https://mowl-power.cs.man.ac.uk/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_3.pdf
[2] https://dior.ics.muni.cz/~makub/owl/ [this still doesn’t touch upon new instances]

]]>
By: Sung-Kook Han https://neo4j.com/blog/knowledge-graph/rdf-vs-property-graphs-knowledge-graphs/#comment-97220 Fri, 29 Sep 2017 10:25:12 +0000 https://neo4j.com/?p=66897#comment-97220 Question:
You say the edges representing relationships in LPG consist of
ID+Type+set of Key-value pairs.
What is the Type of the edges? Would you show a good example of this?
Thank you very much….

]]>