- 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