Re: rdfs:subClassOf and XSD derivation by restriction

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