- From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
- Date: Mon, 30 Nov 2020 15:25:28 +0100
- To: "public-rdf-star@w3.org" <public-rdf-star@w3.org>, pierre-antoine.champin@ercim.eu, Olaf Hartig <olaf.hartig@liu.se>
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> >> . -- Antoine Zimmermann Institut Henri Fayol École des Mines de Saint-Étienne 158 cours Fauriel CS 62362 42023 Saint-Étienne Cedex 2 France Tél:+33(0)4 77 42 66 03 Fax:+33(0)4 77 42 66 66 http://www.emse.fr/~zimmermann/ Member of team Connected Intelligence, Laboratoire Hubert Curien
Received on Monday, 30 November 2020 14:25:43 UTC