- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Mon, 30 Nov 2020 09:50:19 -0500
- To: public-rdf-star@w3.org
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