Re: Why does RDF* allow triples as objects?

> On 2 Sep 2019, at 17:37, Olaf Hartig <> wrote:
> The reason why I defined RDF* in the way I did (i.e., allowing triples not only 
> in the subject position but also in the object position) was based on several 
> thoughts.
> One of which was along the same lines of William's comment. Now, regarding 
> your response to this comment, I don't think that introducing the possible 
> asymmetry regarding the use of triples within RDF* triples can be justified by 
> the fact that RDF has the same kind of asymmetry for literals.

You appeal to a symmetry that is absent from RDF to justify a symmetry in RDF*.

I appeal to parsimony. Make the minimal addition to RDF that addresses the use cases. If that minimal addition is asymmetric, so be it. RDF is asymmetric and it works.

> Another thought was that I wanted RDF* to be as close as possible to RDF 
> reification. In RDF reification, the triples that talk about a reified triple may 
> contain as their object the IRI or bnode used for the reification of the reified 
> triple. For instance, the following is an RDF reification version of William's 
> example:
> :bob :believes _:b1 .
> _:b1  rdf:type  rdf:Statement .
> _:b1  rdf:subject  :moon .
> _:b1  rdf:predicate :consistsOf .
> _:b1  rdf:object  :greenCheese .

So you say you wanted RDF* to be close to RDF reification, and since RDF reification allows statements to appear in the object position, RDF* allows it too.

But RDF* falls well short of the goal to be close to RDF reification. It cannot express any of the following (except by using RDF reification directly):

- annotations of triples that are not in the graph
- multiple instances of the same triple with different annotations
- IRIs as statement identifiers

I'm not saying that addressing any of these items in RDF* is important or even desirable, but I don't understand why triples-as-objects *was* important enough to include in RDF*, while these other items were not important enough. I can think of clear use cases for some of these items that are difficult to address with RDF* as it stands, while I have trouble thinking of a use case that requires triples-as-objects.


Received on Tuesday, 3 September 2019 13:07:07 UTC