Re: Datatypes: the Bermuda Triangle, and how to fly over it.

On 2002-02-01 2:44, "ext Pat Hayes" <phayes@ai.uwf.edu> wrote:


> A dt-interpretation I of E   - with respect to some externally
> defined set D of datatypes, where each datatype d in D has an
> associated lexical-to-value mapping LV(d)  - is an
> rdfs-interpretation of E where for every doublet
> 
> S rdf:value "uuu"
> S rdf:dtype ddd
> 
> in E, if I(ddd) is in D, then I(S)=LV(I(ddd))(uuu)
>
> Notice that this really is a condition on the doublet because it
> mentions both ddd and uuu. It is consistent with I("uuu") being the
> string uuu, so we could make graphs tidy on literals ...
>
> ...
>
> If:
> foo rdf:Range DDD
> xxx foo yyy
> then:
> yyy rdf:dtype DDD

Brilliant insights, Pat. Outstanding!

This fits the concept of TDL perfectly. Looks like a solution.

One additional possibility, if some folks still are not happy
with using rdf:value to associate the literal (which was expressed
recently, I recall) is to use a property rdf:lform denoting the
lexical form.

This mirrors precisely the semantics of the TDL pairing, where you
have the lexical form and datatype paired together. E.g.

foo ex:someProp _:1 .
_:1 rdf:lform "10" .
_:1 rdf:dtype xsd:integer .

This way, the semantics of rdf:value can be left to denote values,
not lexical forms that need datatype context to be interpreted
as values.

It also means that the datatyping solution is a clean extension
of RDF 1.0 and won't force any re-interpretation of existing uses
of either rdf:value or rdf:type insofar as datatyping is concerned.

What do you think?

Thanks so much for your valuable input to this problem.

Cheers,

Patrick

--
               
Patrick Stickler              Phone: +358 50 483 9453
Senior Research Scientist     Fax:   +358 7180 35409
Nokia Research Center         Email: patrick.stickler@nokia.com

Received on Friday, 1 February 2002 03:04:07 UTC