Re: decisions about RDF semantics

From: pat hayes <phayes@ai.uwf.edu>
Subject: decisions about RDF semantics
Date: Wed, 6 Nov 2002 23:01:48 -0600

> The RDF core WG is rapidly converging to a final version of RDFS, and 
> this is a heads-up of some of the things that are relevant to the 
> webont semantics.
> 
> SubClassOf and subPropertyOf now have IFF semantics, but range and 
> domain don't. The community seems to be about evenly divided on this 
> one, so if anyone has a strong case to make, then please make it 
> quickly.

I don't care.  I believe that it is permissable for OWL to turn the one-way
rdfs:domain and rdfs:range into IFF versions in OWL interpretations.

> The RDF list vocabulary has essentially no semantics, so OWL will 
> have to provide one. (The only assumptions are that
> rdf:nil rdf:type rdf:List
> and the obvious domain and range conditions on rdf:first and rdf:rest.)

I was expecting this all along, so the OWL model theory places its own
conditions on the lists it cares about.

> There is very little datatyping provided. Literals can have datatypes 
> attached, and when they do and when their string is a valid lexical 
> form, they denote the appropriate value. Otherwise they are treated 
> like opaque names, so OWL could impose its own interpretation on them 
> in the absence of datatyping info.  

This is not true.  Typed literals of the form "lll"^^ddd, where ddd is a
known datatype but lll is not in the value space for ddd are given
specific denotations, thus preventing them from being anything else.  For
example, in an XML Schema-interpretation,
"033333333333333333333"^^xsd:float is different from
"0033333333333333333333"^^xsd:float.

> Bare literals always denote 
> themselves (they can be a string or a pair of strings) and this is 
> not influenced by datatyping. Datatype names used as class names 
> refer to the class of elements of the value space of the datatype. 
> There is no range datatyping and no provision for linking a bnode to 
> a literal with a datatyping property, but such usage would not 
> violate RDF, if OWL wanted to impose it. RDF *never* assumes that two 
> items in different value spaces are equal, even when they are. 

I believe that this contradicts both the current version of the RDF MT and
clear wording in the XML Schema datatyping document.

For example, suppose that I have two dataypes ex:D1 and ex:D2.  The L2V
mapping of ex:D1 maps ddd^eee, where ddd is a signed numeral whose integer
value has absolute value less than 2^24 and ee is a signed numeral whose
integer value is between -149 and 104 inclusive, into the integer value of
ddd times 2 raised to the power of the integer value of ddd.  The L2V
mapping of ex:D2 maps ddd^eee, where ddd is a signed numeral whose integer
value has absolute value less than 2^53 and ee is a signed numeral whose
integer value is between -1075 and 970 inclusive, into the integer value of
ddd times 2 raised to the power of the integer value of ddd.

Then if ex:D1 and ex:D2 identify datatypes, the RDF model theory then makes
"5^5"^^ex:D1 denote five times two to the fifth, i.e., one hundred and
sixty, and "5^5"^^ex:D2 denote five times two to the fifth, also one
hundred and sixty.  

What are ex:D1 and ex:D2?  Well, they are just slight modifications of cut
down versions of xsd:float and xsd:double.  The value spaces of xsd:float
and xsd:double are definitely *not* disjoint.

All this actually has consequences for OWL.  It appears to me that in OWL
plus XML Schema datatypes

	<ex:foo> rdf:type owl:functionalProperty .
	<ex:John> <ex:foo> "333333333333"^^xsd:float .
	<ex:John> <ex:foo> "333333333333"^^xsd:double .

would be a contradiction, but that 

	<ex:foo> rdf:type owl:functionalProperty .
	<ex:John> <ex:foo> "5e-2"^^xsd:float .
	<ex:John> <ex:foo> "10e-3"^^xsd:double .

would *not* be a contradiction.

Also, it appears to me that the denotations of datatypes that have
different L2V mappings must be distinct individuals.  Therefore

	xsd:float owl:sameIndividualAs xsd:decimal .	

would be a contradiction.

> If a 
> datatype scheme wishes to make claims like this, it has to do so 
> explicitly. 

This I don't understand at all.  How can a datatyping scheme make explicit
claims that two items in different value spaces are equal?  

> RDF now has a single built-in datatype, rdfs:XMLLiteral, 
> whose function is to be the 'XML-literal' marker. XML literals are 
> the only typed literals that can be given a lang tag. There is a 
> class rdfs:Datatype, whose members are datatypes (and datatype 
> classes).
> 
> In case anyone wants to know, reified triples are understood to refer 
> to triple tokens in a document, rather than to abstract grammatical 
> forms.
> 
> OK, s'all for now.
> 
> Pat


peter

Received on Thursday, 7 November 2002 08:04:24 UTC