Re: details of rdf:datatype?

[Patrick Stickler, Nokia/Finland, (+358 40) 801 9690, patrick.stickler@nokia.com]


----- Original Message ----- 
From: "ext Dan Connolly" <connolly@w3.org>
To: <w3c-rdfcore-wg@w3.org>
Sent: 14 October, 2002 15:40
Subject: details of rdf:datatype?


> 
> I'm puzzling thru the details of the [6Sep] decision.
> 
> It seems to specify that this holds:
> 
> :jenny :age <...#integer>"10".
> =>
> :jenny :age <...#decimal>"10".
> 

At the RDF MT level, it does not hold. 

> since those two literals denote the same value.
> 
> and this one holds:
> 
> :jenny :age <...#decimal>"010".
> =>
> :jenny :age <...#decimal>"10".

No. This one doesn't hold either.

The only case where the RDF MT can say that two typed
literal nodes denote the same value is when both the
datatype URI and the lexical form are identical, and
in that case, they are merged into the same tidy node.

If either the datatype URI and/or the lexical form is
not identitical, then the RDF MT cannot determine
equality. They might be equal, they might not.

Thus, the two entailments above do not hold at the
RDF level because RDF itself does not know which
values are denoted, only that there is consistent
denotation for any particular pairing of datatype
and lexical form.

> If somebody would please confirm, I'd appreciate it.
> 
> But I don't see how this works for an open-ended set
> of datatypes. Does this hold?
> 
> :jenny :age <http://example/vocab#type1>"hello".
> =>
> :jenny :age <http://example/vocab#type2>"hello".
> 
> If type1 and type2 map hello to the same value, it does hold.

It does not hold insofar as the RDF MT is concerned. An
application which understands the datatypes in question
may conclude that they denote the same value, but that
depends on the datatypes themselves, and that knowledge
is outside the scope of the RDF MT.

> Likewise, if type1 maps hello1 and hello2 to the
> same value, then the following holds:
> 
> :jenny :age <http://example/vocab#type1>"hello1".
> =>
> :jenny :age <http://example/vocab#type1>"hello2".
> 
> It seems to me that a parser should raise an exception
> if it sees rdf:datatype used with a value it doesn't
> recognize. Recognizing datatypes is a parse-time thing;

Actually, it's a run-time thing since no RDF parser is
expected to understand any particular datatypes, and
generic triples stores may serve statements to a broad
range of applications, some of which may grok more
datatypes than others.

And validation of datatyping statements is performed
on the graph, not the RDF/XML, just as e.g. DAML+OIL
or OWL constraints are tested.

All that RDF is doing is capturing the expression of
the datatype value which will have consistent interpretation
across all applications which understand the datatype in
question. RDF itself doesn't "do" datatypes but merely
provides the generic machinery for higher layer applications
to do so.

> you can't do lazy-evaluation of the type-uri/string-val
> pair.

I don't follow. Can you elaborate?

> Is that the design folks have in mind?

Lazy evalutation is definitely a characteristic of 
RDF datatyping as presently defined.

Patrick



> 
> [6Sep] Draft minutes: telecon 2002-09-06 Jan Grant (Fri, Sep 06 2002) 
> http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Sep/0081.html
> 
> =>
> http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Aug/0257.html
> 
> =>
> http://www-nrc.nokia.com/sw/rdf-datatyping.html
> http://lists.w3.org/Archives/Public/www-archive/2002Aug/0111.html
> 
> 
> -- 
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
> 
> 

Received on Monday, 14 October 2002 09:33:19 UTC