Re: Three ideas

TL;DR: RDF-star has better syntax for representing temporal qualification than 
RDF does, and no other advantages.

Hi Fabio:

You appear to be arguing that the embedded triples of RDF provide a necessary 
advance, elminating the need for extra triples, ad-hoc entities, and extra 
connections.  I think this claim quickly falls apart.


One way to disprove this claim is by looking at a comparison with how to 
represent RDF-star examples in RDF itself.

Let's look at the temporal qualifier example.  Attaching temporal qualifiers 
to triples can be done in RDF itself, using only a few new properties.  If we 
want to say that "Barack Obama was the US president between 2009 and 2016" we 
can use properties already part of RDF for the purpose.

:BOUP rdf:subject :Obama ; rdf:predicate :role; rdf:object :UsPresident ;
   :between [ :start "2009" ; end "2017" ] .

Contrary to your claim, this is as good a way of representing the sentence as 
your RDF-star representation, repeated here

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

There is nothing in either RDF or RDF-star indicating that attaching 
properties to embedded triples is any different from attaching properties to 
RDF statements.  Everything in both cases boils down to the intended meaning 
of the properties.


Let's compare the RDF-star and the RDF representations.

The only added properties are :between, :start, and :end.  No advantage either 
way.

The only added entity in the RDF is a non-blank entity, corresponding to the 
RDF-star embedded triple.  No advantage either way.

The only added connections to the original subject, predicate, and object in 
RDF are analogous to the conections made in RDF-star.  No advantage either way.

The there are only three more triples in RDF over the RDF-star approach.  But 
the embedded triple in RDF-star has these connections as well and they are a 
new, different kind of connection.  If there is any advantage here it is for RDF.

The RDF-star syntax is somewhat better, particularly if the embedded triple is 
also asserted.  Advantage RDF-star.

The RDF-star uses embedded triples.  Advantage RDF.

It may appear that implementations of RDF-star will be more efficient than 
implementations of RDF when reasoning and querying this kind of information.  
Of course, implementations of RDF-star have of necessity implementations of 
embedded triples, which is an extra implementation cost.  Implementations of 
RDF don't have this extra cost, but could be optimized if desired.  The 
advantage here does not lie with RDF-star.


My conclusion is that the gains from RDF-star certainly don't push RDF-star 
into something that is needed.   If there is a desire for better syntax then 
add a new shorthand to Turtle, don't satisfy this desire by adding an entirely 
new kind of entity to RDF.


peter

PS:  Note that I am not arguing that this is a good way to represent temporal 
qualifiers.  I am just arguing that RDF is just as good RDF-star for adding 
temporal qualifiers.  I actually think that this is a bad, albeit common, way 
to represent temporal information.

PPS:  If we wanted to be more explicit about the representation we could 
create subclasses of rdf:Statement for cases where we want to talk about a 
proposition and cases where we want to talk about stating a proposition.  This 
allows RDF to be more flexible than RDF-star.  Advantage RDF.

On 1/23/22 10:11, Fabio Vitali wrote:

> 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 16:46:12 UTC