- From: Richard Smith <richard@ex-parrot.com>
- Date: Tue, 6 Mar 2018 19:40:09 +0000 (GMT)
- To: Pat Hayes <phayes@ihmc.us>
- cc: Andreas Harth <andreas@harth.org>, semantic-web@w3.org
Pat Hayes wrote:
>> I'm sure it's intended that the lexical space, value
>> space and lexical-to-value mapping of these types for the
>> purpose of RDF is the same as their lexical space, value
>> space and lexical mapping as defined in XSD.
>
> Yes. The RDF 1.1 semantics is explicit about this. If you recognize these
> datatypes, they must be used in exact conformity with the XSD specs.
My point was perhaps a rather pedantic one: nothing says the
what RDF calls a lexical-to-value mapping is that same thing
that XSD calls a lexical mapping.
>> Given the triple
>>
>> ex:a ex:p "sss"^^xsd:integer .
>>
>> [...]
>> Therefore that triple entails the following triple:
>>
>> ex:a ex:p "sss"^^xsd:decimal .
>
> However, it still does not follow that one datatype is an RDFS subclass of
> the other, since RDFS classes are not required to be extensionally defined
> (ie not all subsets need be subclasses).
Agreed. Perhaps more surprisingly, at least to me, if there
were a subclass relationship, that wouldn't entail the
statements above. I think I now understand why. RDFS
requires only that the value spaces of datatypes related by
rdfs:subClassOf is a subset. It doesn't say the same about
the lexical space and therefore the lexical-to-value
mapping.
So given
ex:a ex:p "sss"^^ex:sub .
ex:sub rdfs:subClassOf ex:super .
ex:super a rdfs:Datatype .
we know this implies some statement of the form
ex:a ex:p "ttt"^^ex:super .
but unless we understand the two types (i.e. unless D
includes ex:sub and ex:super) we cannot say what ttt is.
Quite possibly ttt=sss, but not necessarily.
The best we can say is that these three statements RDFS
entail:
ex:a ex:p [ a ex:super ] .
>> This is a pertinent comment, as it seems to me that D entailment
>> is the least well understood entailment regime. It's easy enough
>> in the simple case where the only recognised datatypes are
>> xsd:string and rdfs:langString which are the only two required
>> ones, but as soon as other types come in, it gets hairy rapidly.
>
> Indeed. This is why OWL-DL keeps all literal/datatype issues in a separate
> box with very strict rules on how it can interact with general class
> reasoning.
I'm struggling to work out whether OWL2 allows this to be
expressed. It almost seems that
ex:a ex:p "sss"^^ex:sub .
ex:sub owl:equivalentClass [
owl:onDatatype ex:super ;
owl:withRestrictions [] ] .
ex:super a rdfs:Datatype .
might OWL entail (for an appropriate type of OWL
entailment):
ex:a ex:p "sss"^^ex:super .
But I'm not sure as I've never properly got to grips with
OWL datatypes.
Richard
Received on Tuesday, 6 March 2018 19:43:06 UTC