- From: Sandro Hawke <sandro@w3.org>
- Date: Thu, 02 Aug 2007 12:24:58 -0400
- To: Story Henry <henry.story@bblfish.net>
- Cc: Lee Feigenbaum <lee@thefigtrees.net>, Richard Cyganiak <richard@cyganiak.de>, Garret Wilson <garret@globalmentor.com>, Tim Berners-Lee <timbl@w3.org>, Sandro Hawke <sandro@w3.org>, Semantic Web <semantic-web@w3.org>
> 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