Re: RDF's curious literals

> http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Datatypes
> 
> [[
> A datatype consists of a lexical space, a value space and a lexical-=20
> to-value mapping.
> 
> The lexical space of a datatype is a set of Unicode [UNICODE] strings.
> 
> The lexical-to-value mapping of a datatype is a set of pairs whose =20
> first element belongs to the lexical space of the datatype, and the =20
> second element belongs to the value space of the datatype:
> 
> Each member of the lexical space is paired with (maps to) exactly one =20=
> 
> member of the value space.
> Each member of the value space may be paired with any number =20
> (including zero) of members of the lexical space (lexical =20
> representations for that value).
> A datatype is identified by one or more URI references.
> 
> RDF may be used with any datatype definition that conforms to this =20
> abstraction, even if not defined in terms of XML Schema.
> 
> ]]


Is there some other distinguishing criterion on datatypes?   

I can't think of one.

Therefore, X is a datatype if and only if X is an owl:FunctionalProperty
and the rdfs:domain of X contains only Unicode strings.

It's kind of a shame this logic isn't used more in the design of RDF to
simplify it.   There might be another re-articulation of the RDF design
which would use this fact.    

(Again, this is not a new idea [1]).

> The important point there is that there has to be a lexical to value 
> mapping, and there has to be a one to one mapping.

No, it's a one-to-many mapping.    For instance, the value one can be
mapped to from "1", "01", "001", etc.

> This can only work 
> of course if all the information is contained in the String, ie, 
> there is not more information to be got from anywhere else, or else 
> there would be no way to create a decision procedure for it. So 
> "George Bush"^^xxx:presidents would not work. For one, George Bush 
> may never have been president.

But it's easy for me to construct the mapping you quoted above.  So I
can't understand what you mean.  A datatype like eg:uspresidents makes
every bit as much sense as a datatype like xs:date.

This all brings me back to:

   A simpler abstract syntax for RDF would be N-triples where you only
   have unicode-string-literals (plainLiterals), b-nodes, and a "URI"
   predicate. (You'd have to allow b-nodes in the predicate position.)
   The current design of RDF is basically syntactic sugar on that
   foundation.

   [Personally, I'd probably use bit-strings or byte-strings instead of
   unicode-character-strings, too.    Tough design tradeoffs, there.]

   -- Sandro

[1] http://esw.w3.org/topic/InterpretationProperties

Received on Thursday, 2 August 2007 16:26:39 UTC