RDF-ISSUE-84 (d-entailment-typed-literals): "Bug" in D-entailment with literals in non-canonical form [RDF Semantics]

RDF-ISSUE-84 (d-entailment-typed-literals): "Bug" in D-entailment with literals in non-canonical form [RDF Semantics]

http://www.w3.org/2011/rdf-wg/track/issues/84

Raised by: Antoine Zimmermann
On product: RDF Semantics

With the current spec, we have the following situation for D-entailment, when the datatype map contains xsd:decimal (for instance):

:foo :bar "2"^^xsd:decimal .

*does not* D-entail:

:foo :bar "2.0"^^xsd:decimal .

This is because an interpretation is defined relatively to a vocabulary V, so that only the names in V are interpreted. If a triple contains a name that is not present in V, then the triple is necessarily unsatisfied.  This is made very explicit in the RDF Semantics document:

"If the vocabulary of an RDF graph contains names that are not in the vocabulary of an interpretation I - that is, if I simply does not give a semantic value to some name that is used in the graph - then these truth-conditions will always yield the value false for some triple in the graph, and hence for the graph itself."

Since "2"^^xsd:decimal and "2.0"^^xsd:decimal are two different names (although denoting the same thing), the first triple can be satisfied by a D-interpretation that does not interpret "2.0"^^xsd:decimal, thus the second triple does not follow from the first one.

This is probably not in line with how implementations work and the problem seem to be present in OWL 2 RDF-based semantics as well.

Received on Friday, 24 February 2012 06:43:49 UTC