Home

RDF confusion

Updated:
Created:

I just read the fantastic Semantic Web for the Working Ontologist. I should be happy, but somehow I am still confused about RDF.

Update: I just read an article in which RDF 1.2 Triple Terms and Reification is mentioned. This gives me hope for the future!

AAA

One of the basic assumptions for the semantic web is that Anyone can say Anything about A nything (AAA).

This means that multiple people can say the same thing, or that people can say contradicting things.

Provenance

So we really need to talk about statements, in order to keep track of things. Who said what? When? Why? With what certainty? etc. I think they call it provenance in the RDF world. From what I have understood there are multiple approaches to it, because the usual subject-predicate-object form is not really well suited for this.

Approaches

There is a nice overview over the approaches to tackle this. IMHO there is no clear winner, and it all seems to have many problems associated with it.

What I also don’t get: Using reification, I can describe the following:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://example.org/> .

:stmt1 a rdf:Statement;
            rdf:subject   :Alice;
            rdf:predicate :likes;
            rdf:object    :Bob .

If I put this in a database, I have the statement, but not what it asserts. So there is no Alice likes Bob in there. I would have to do this manually, but could only “guess” that Alice likes Bob is the one described in stmt1.

Maybe this has to do with the fact that you don’t have the same assertion twice in a rdf database, if I understood it correctly.

Id?

What I never understood: if instead of having subject-predicate-object statements (SPO), why not have subject-predicate-object-id statements? (See this email for someone competent asking the same question).

I have the feeling of having quads this way would mean rewriting tons of rdf related code. So it is probably too much to ask for.

Is AAA global only?

From what I am guessing, AAA is what is said about the world, but not about my data storage. Somehow I get the impression that once you put it in RDF, it is one truth only, that doesn’t have contradictions and redundancies.

Probably a bit mean, but the official article on RDF concepts had it explained, while the newest version (linked there) has “forgotten” about it

Result

I am very torn about RDF. I admire the great work that has gone into it. At the same time I always have the feeling that I am not quite getting it, and that the fundamentals are missing something: the id.

Maybe we can do AAA in LPG?