Re: From syntactic to interpreted triple

Hi Kingsley,

On måndag 8 februari 2021 kl. 17:31:51 CET Kingsley Idehen wrote:
> On 2/8/21 3:39 PM, Olaf Hartig wrote:
> > REQUEST 1:
> >    PREFIX owl: <http://www.w3.org/2002/07/owl#>
> >    INSERT DATA { :fall owl:sameAs :autumn }
> > 
> > Now you can do exactly the same steps as described in my email and, in the
> > 
> > end, the endpoint will return true in response to the following query:
> >    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> >    ASK WHERE { <<:autumn :hasWeather :rainy>> rdf:type :claim }
> 
> Hi Olaf,
> 
> Do I accurately read the above as syntax-sugar (or shorthand) for the
> following?
> 
> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> PREFIX : <#>
> 
> ASK WHERE {
> 
>               :thisClaim a rdf:Statement ;
> 
>                          rdf:subject :autumn ;
>                          rdf:predicate :hasWeather ;
>                          rdf:object :rainy .
>            }

No, not in general. By the currently proposed semantics of RDF* [1,2], it is 
not generally the case that an embedded triple can be used as shorthand for 
the corresponding four reification triples. Consequently, something like this 
is also not possible in queries.

The reason for this is that, by the definition of the proposed semantics, 
embedded triples are referentially opaque (i.e., you can think of an embedded 
triple to be something similar to a literal). In contrast, an rdf:Statement 
(as described by the four reification triples) is referentially transparent; 
for instance, if you have the following reification triples (prefix 
declarations omitted)

   :thisClaim rdf:type rdf:Statement .
   :thisClaim rdf:subject :autumn .
   :thisClaim rdf:predicate :hasWeather .
   :thisClaim rdf:object :rainy .

and you know that the URIs :autumn and :fall denote the same thing, then you 
can infer the following

   :thisClaim rdf:type rdf:Statement .
   :thisClaim rdf:subject :autumn .
   :thisClaim rdf:subject :fall .
   :thisClaim rdf:predicate :hasWeather .
   :thisClaim rdf:object :rainy .

which is something that you generally cannot do with embedded triples in RDF*.

Having said that, in this thread here I have demonstrated that, even if we 
cannot draw such inferences for embedded triples in general, it is still 
possible to do so in specific contexts (namely, if an embedded triple is the 
subject or object of a particular type of nested triple).

Best,
Olaf

[1] https://github.com/w3c/rdf-star/pull/81
[2] https://github.com/w3c/rdf-star/pull/88

Received on Wednesday, 10 February 2021 15:54:57 UTC