Re: Some reflections on the semantics of embedded triples

Hmm.   Forcing equality of RDF(S) syntax (rdf:type, rdfs:subClassOf, ...)
results in odd behaviour, and so it is not surprising that forcing equality of
RDF* syntax does as well.  So example 3 is not surprising.


peter



On 11/30/20 9:25 AM, Antoine Zimmermann wrote:
> In the current semantics, blank nodes that appear in embedded triples are
> behaving differently from blank nodes outside. This leads to peculiarities
> of semantics with possibly unforseen consequences.
>
> TL;DR: In short, blank nodes inside embedded triples can be understood as
> "placeholders", as opposed to existentials when they are outside embedded
> triples.
>
> ==Long comments:==
>
> One consequence is that it is not possible to directly refer to triples with
> blank nodes. For instance, if I say:
>
> << _:b <p> <o> >>  onto:source  ex:somewhere .
>
> it does not mean that a triple with a bnode in subject position is found
> somewhere. It means that there is a ground triple following the template
>
> ?s <p> <o>
>
> that relates to ex:somewhere via relation onto:source. Also, while the triple:
>
> << <s> <p> "042"^^xsd:integer >>  onto:source  ex:somewhere .
>
> must be derived from data that has "042" rather than "42", the triple:
>
> << <s> <p> _:b42 >>  onto:source  ex:somewhere .
>
> can be derived from anything that follows the template:
>
> << <s> <p> ?x >>  onto:source  ex:somewhere .
>
> If we use the "embedded-triple-as-quotation" metaphore, then if we say:
>
> Mike says "Joe is in the house". (:mike :says << :joe :in :house >>)
>
> we cannot conclude:
>
> Mike says "someone is in the house". (Joe replaced by an existential)
>
> but we can conclude:
>
> Mike says "______ is in the house". (Joe replaced by a placeholder)
>
> This may be a problem for a number of use cases where one wants to
> faithfully refer to triples with blank nodes.
>
>
> There are also bizarre (or seemingly bizarre) things happening when we try
> to extend the current semantics to more expressive regimes.
>
>
> Some examples that are not necessarily intuitive:
>
> # Example 1
> << <a> <b> "42"^^xsd:integer >> <x> <y> .
> <s> <p> "042"^^xsd:integer .
>
> entails (recognising xsd:integer):
>
> << <a> <b> _:x >> <x> <y> .
> <s> <p> _:x .
>
> # Example 2
> << _:x <b> <c> >> <p> << _:y <b> <c> >> .
> _:x owl:sameAs _:y .
>
> does not entail (in RDFS-plus):
>
> << _:x <b> <c> >> <p> << _:x <b> <c> >> .
>
> # Example 3
> << <clark> <can> <fly> >> owl:sameAs << <superman> <power> <flight> >> .
> <clark> a <journalist> .
>
> entails (in RDFS-plus):
>
> <superman> a <journalist> .
>
> but does not entail:
>
> << <clark> <can> <fly> >> owl:sameAs << <superman> <can> <fly> >> .
>

Received on Monday, 30 November 2020 14:50:34 UTC