In Praise of Resource Description Framework (RDF)
blog.kuzudb.comI wrote a blog post on something that I find is often misunderstood and under-appreciated: Resource Description Framework (RDF). I explain what RDF is, what it is not, when you may need it, and its virtues and vices. RDF is good to know about in our increasingly AI-dominated world, since it has its roots in knowledge representation and reasoning (KRR), which is a field of AI, known as good-old-fashioned symbolic AI.
I explain RDF first as a data model and compare its pros and cons with relational and property graph model. I then explain RDF and the standards around RDF, such as RDFS and OWL, as a "knowledge representation system". I cover RDF's roots in knowledge representation and reasoning (KRR), traditional symbolic AI systems. I also discuss several directions I have seen people pursue to improve LLMs with RDF-based or more broadly KRR-based technology (see especially the link to Doug Lenat's last article (I think) on the subject before he passed on).
It's a bit of a long read but I hope people find it useful to think about RDF.
Data integrity is what SHACL https://www.w3.org/TR/shacl/ is for. (OWL is for inferencing. SHACL is for integrity.)
That's correct though OWL also provides ways to constraint what can be encoded (e.g., the cardinality constraint example I gave). But yes, SHACL is primarily for constraints. I general, there are several other standards than RDFS and OWL I didn't mention in the post. I wanted to give a few example standards to explain to show how RDF + standards forms something more than a regular data model that developers think of.
I mentioned SHACL specifically because it resolves your issue of lack of integrity as it serves the same role as schema definitions in RDF databases that support it. If any attempt at an insert fails the SHACL constraints, the attempted insert will be rejected.
OWL however is only used when doing selects. It expands queries to allow them to access things they didn't know to ask for. When used on top of an relational database, OWL expresses the kind of statements that exists in a T-box for ontology based access.