Re: Three ideas

Dear Peter, 

>>> Third, RDF-star has its own gotchas. The most discussed recently being the "multiple occurrences" problem (Liz and Richard marriages, Cleveland's presidencies), so you would still need to add the "additional node", even when using RDF-star...
>> Yes. I agree.
>> 
>> But this problem is not shared by named graphs, and this is why we need a rdf-star-like structure to handle complex and compound statements, an rdf-star-named-graph or something.
>> 
> 
> I'm not convinced at all by this argument that there is a need for rdf-star here.   Why not just use RDF reification?  Or a good temporal logic?  What is it about rdf-star that makes it needed here?

I do not know about other people's opinions in this regard, but I am happy give you my own point of view. 

Besides a compact syntax, the real advantage of rdf-star from my point of view is that it gives us:

1) a mechanism to assign annotations to a statement, including temporal constraints,
2) without adding many triples, and
3) without adding ad-hoc entities (blank nodes, instances of some abstract classes or what have you), and
4) without changing roles and constraints to the original subject, predicate and object. 

The interesting part is that temporal annotations are expressible in a totally similar way to any other type of annotation, such as location, provenance, confidence, etc. 

For instance, assuming a common model to express a time interval, with rdf-star the sentence "Barack Obama was the US president between 2009 and 2016" can be expressed simply as

<< :Obama :role :UsPresident >> :between [ :start "2009"; :end "2017". ] .

Without rdf-star, we would need to use an abstract concept, e.g., :Term in case on n-ary relations, or rdf:Statement in case of traditional reification, regardless of whether it was already expected in our mental ontology, and attach properties to the new entity. Thus:

_:t a :Term; 
    :appliesTo :Obama; 
    :role  :UsPresident;
    :between [
       :start "2009"; 
       :end "2017".
    ].

The new entity of type :Term radically changes the graph, which in my mind should be read as something like "Barack Obama had a Term as US President between 2009 and 2016", which is similar but not the same statement as the first one. 

_:b a rdf:Statement; 
    rdf:Subject :Obama; 
    rdf:Predicate :role;
    rdf:Object  :UsPresident;
    :between [
       :start "2009"; 
       :end "2017".
    ].

This in my mind should be read as something like "Somebody is saying that Barack Obama was engaged in the relation "role" with the entity "USPresident" between 2009 and 2016", which is still not the same statement as the first one. 

Also, in both cases there are three or four more triples and entities than with the rdf-star syntax. 

Just my opinion

Thanks for reading,

Fabio

> 
> peter
> 
> 
> 

Received on Sunday, 23 January 2022 15:12:34 UTC