What does it mean to refiy several things? (Re: A few thoughts on RDF-star, Reification, and Labeled Property Graphs)

Dear Phil,

On 17/04/2024 11:21, Phil Barker wrote:
> On 16/04/2024 17:07, Thompson, Bryan wrote:
>> But this same reifier, multiple triples design would allow multiple 
>> link types.  It is in fact closer to named graphs, which are also 
>> just bundles of triples.
>
> I'm aware of the long "we don't need RDF-star, just use named gaphs /  
> rdf:Statement from RDF1.1" discussions and don't mean to revisit that, 
> but I have wondered since it first came up, what is the difference 
> between using same reifier for multiple triples of different types (as 
> it was first introduced) and a named graph?
>
Well, as soon as you involve named graphs, you can not use reasoners 
anymore, because unlike RDF graphs, RDF dataset don't have a standard 
semantics. And no, we can not coin one; the RDF 1.1 WG considered it in 
2024, and reached the conclusion that the uses of named graphs in the 
wild were alteady too heterogeneous. Standardizing one would break all 
the others. This ship has sailed.

On the other hand, "graphs represented by a set of triple-term" are a 
new thing, for which we could design a standard formal semantics. However...

... I don't think that endorsing one reifier to name multiple triples 
solves this problem appropriately. This was hinted to by Souri last week 
[1], when he opposed "set properties" and "multi-values properties". 
Consider the sentence: "alice and bob loved each other from 2020 to 
2022." One might be tempted to represent it like that:

   :r rdf:reifies <<( :alice :loves :bob )>>, <<( :bob :loves :alice )>> ;
     :start 2020 ; :end 2022.

But this would be incorrect! Indeed, when I say that "alice and bob 
loved each other from 2020 to 2022.", it might be true that alice was 
already desperately in love with bob in 2019, OR that alice was still in 
love with bob  in 2023, after he fell out of love for her.

However, the graph above will entail the graph below (because RDF is 
monotonic):

   :r rdf:reifies <<( :alice :loves :bob )>> ;
     :start 2020 ; :end 2022.

So if you want to make statements about a /specific set/ of triples, you 
can not simply use the same reifier for all triples in your set. A 
possible solution that I also proposed last week would be to use a 
collection (aka list) of triple terms./
/

   :r a :Graph;
     :contains ( <<( :alice :loves :bob )>> <<( :bob :loves :alice )>> ) ;
     :start 2020 ; :end 2022.

pa

[1] https://www.w3.org/2024/04/12-rdf-star-minutes.html


> Phil
>
> -- 
>
> Phil Barker <http://people.pjjk.net/phil>, http://people.pjjk.net/phil 
> (he/him).
> Cetis LLP <https://www.cetis.org.uk>: a cooperative consultancy for 
> innovation in education technology.
> PJJK Limited <https://www.pjjk.co.uk>: technology to enhance learning; 
> information systems for education.
>
> CETIS is a co-operative limited liability partnership, registered in 
> England number OC399090
> PJJK Limited is registered in Scotland as a private limited company, 
> number SC569282.
>

Received on Wednesday, 17 April 2024 22:36:31 UTC