W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > February 2002

Re: simplified datatyping proposal

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Wed, 20 Feb 2002 12:27:05 -0600
Message-Id: <p05101429b8999430403e@[65.212.118.219]>
To: Patrick Stickler <patrick.stickler@nokia.com>
Cc: w3c-rdfcore-wg@w3.org
>On 2002-02-20 6:11, "ext Pat Hayes" <phayes@ai.uwf.edu> wrote:
>
>>  Guys, Ive put up a quick draft of a simplified version of the
>>  datatyping proposal at
>>
>>  http://www.coginst.uwf.edu/users/phayes/simpledatatype
>
>(the URL is missing the final '.html')
>
>
>I can live with this.
>
>--
>
>
>One final plea...
>
>I think that while it is agreed that no matter
>where a literal occurs in the graph, whether inline or
>in a datatyping idiom, it is just a literal -- it would
>be useful to provide the ability to interpret an inline
>literal as a lexical form such that there simply is not an
>explicit denotation of the value in the graph.
>
>Thus
>
>    Jenny ex:age "15" .
>
>without datatyping asserted by any range statements
>just means that "15" is interpreted as "15".
>
>Whereas all of the following mean that "15" is 15, insofar
>as interpretation by an application is concerned, not that
>15 has any explicit denotation in the graph in all cases
>(though it does in all of the bNode idioms):
>
>    Jenny ex:age "15" .
>    ex:age rdfs:drange xsd:integer .

Well, but this is going to be VERY confusing to many people. On the 
face of it, you seem now to have said a direct contradiction. If "15" 
means "15", then how can it suddenly mean 15 when some  other triple 
is added to the graph? What you must have meant when you said that 
"15" is interpreted as "15" wasn't what it seemed to say; you mean 
that it is interpreted that way *as long as nothing else wanted it to 
be interpreted differently*. So any conclusions that have been drawn 
based on that 'meaning' are at risk: they might have to be undone if 
any datatyping is added or imported, and other, different, 
conclusions drawn. In other words, we now have a nonmonotonic logic.

If that is what people want, I can give you an MT for it, but its not 
going to be nice. There won't be any nice results connecting 
datatype-entailment with plain RDF entailment, for example: in fact 
there will be almost no connection at all; a datatype-savvy RDF 
engine will have use completely different inference techniques from a 
non-datatype-savvy one. Datatyping the language will make it into a 
different kind of language, rather in the way that DAML or OWL "sit 
on" RDFS but are not really extensions of it.

We can do this if y'all want. Or we can tell CC/PP to re-write their 
RDF. (They will have to rewrite it to use rdf:drange in any case: 
what made them think that the M&S spec was enough to do 
datatyping??.) Your choice, guys.

>    Jenny ex:age _:1 .
>    _:1 rdfs:dlex "15" .
>    ex:age rdfs:drange xsd:integer .
>
>    Jenny ex:age _:1 .
>    _:1 xsd:integer "15" .
>
>    Jenny ex:age _:1 .
>    _:1 rdfs:dlex "15" .
>    _:1 rdfs:dtype xsd:integer .
>
>Likewise, I think it's fair to interpret the first
>range constraint above as meaning that if the property
>value of ex:age is a literal, then it must be a member
>of the lexical space of the datatype. If the property
>value is a bNode, it denotes a member of the value
>space of the datatype.

that makes no semantic sense to me at all. Surely a bnode CAN denote 
the same value as a literal? So why would a range constraint take on 
a different meaning when it is applied to a literal than when applied 
to a bnode?

>If one wishes to also exclude value bNodes for a given
>property, then in addition to the rdfs:drange constraint
>one can add
>
>    ex:age rdfs:range rdfs:Literal .

But that restricts to all literal *values* , not all literals. Some 
bnodes might denote literal values (why not?).  Look, this is the 
dilemma we all have been in from the beginning: you can't do datatype 
syntactic restrictions by simply talking about classes.

>
>and if one wishes to exclude inline idioms, then add
>
>    ex:age rdfs:range rdfs:Resource .
>
>and that is that.
>
>Since multiple ranges are treated as an intersection, the
>intersection of ddd.(val U lex) and rdfs:Literal is ddd.lex
>and the intersection of ddd.(val U lex) and rdfs:Resource
>is ddd.val.

No, that last part doesn't work in general, that's part of the 
problem with unions.

>
>I think that the ability to use the inline/S-B idiom
>with datatyping will be much appreciated by users, and
>rejection of the *spirit* and *intent* of the above
>would be a great shame.

Well, I half-agree, but we can't have all three things at once:

1. You and Graham want range-sensitive inline literals.
2. Dan C. wants an inline literal used with no datatyping to 
unambiguously denote a character string.
3. We all want the logic to be monotonic.

Something has to give.

Pat
-- 
---------------------------------------------------------------------
IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
phayes@ai.uwf.edu 
http://www.coginst.uwf.edu/~phayes
Received on Wednesday, 20 February 2002 13:27:09 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:45:17 EDT