W3C home > Mailing lists > Public > public-rdf-star@w3.org > October 2020

weakness of embedded triples

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Wed, 14 Oct 2020 12:51:18 -0400
To: public-rdf-star@w3.org
Message-ID: <60c4b08a-3ca0-3250-cec2-59f9451aa030@gmail.com>
In https://w3c.github.io/rdf-star/ there is a section on referential opacity. 
The main claim there is that triples are referentially opaque. 


But embedded triples are much weaker than just being referntially opaque.  To
see this consider the following RDF* graph under the RDF* version of RDF
entailment recognizing xsd:decimal and xsd:integer.

:loisLane :believes << :clarkKent :height "6"^^xsd:decimal >> .

In this semantics "6"^^xsd:decimal means the same as "6"^^xsd:integer so one
would expect that

:loisLane :believes << :clarkKent :height "6"^^xsd:integer >> .

is RDF*-entailed.

But it is not.  There are two reasons for this.

First, there is no requirement that satisfying interpretations for the first
graph map < :clarkKent :height "6"^^xsd:integer > to anything and if a
satisfying interpretation does map the triple there is no requirement that its
ITEXT mapping gives the triple its correct meaning.  (The value of ITEXT for
the triple could have the real number pi as its third element.)

Second, "6"^^xsd:integer is a different node from "6"^^xsd:decimal. So even if
the intepretation treats the second embedded triple nicely, and thus gives it
the same meaning as the first embedded triple, they are still two different
triples and :loisLane can believe one but not the other.  So very little of
the semantics of RDF gets into embedded triples.



Each triple is, in effect, its own context.  So, in an RDFS version of RDF*,
even if :loisLane believes several triples that should imply another, they
generally don't.  For example:

:loisLane :believes << :clarkKent rdf:type :man >> .
:loisLane :believes << :man rdfs:subClassOf :human >> .

Does not imply

:loisLane :believes << :clarkKent rdf:type :human >> .



So embedded triples are incredibly weak in RDF*.   Making them useful will
likely require quite a bit of work.



On the other hand, there are some unusual inferences that can be made in
RDF*.  In an RDF* version of RDFS++ it is possible to state that two triples
are the same.   The graph

:loisLane :believes << :superman :can :fly >>.
<< :superman :can :fly >> owl:sameAs << :clarkKent :can :fly >> .

is consistent here and implies

:superman owl:sameAs :clarkKent .
:loisLane :believes << :clarkKent :can :fly >>.



peter
Received on Wednesday, 14 October 2020 16:51:34 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 14 October 2020 16:51:36 UTC