Cutting the Patrician datatype knot

From: Peter F. Patel-Schneider (
Date: 11/21/01


Here is my Thanksgiving turkey for you all. :-)

Suppose one decided that nodes in an RDF graph were one of
	1/ URIs
	2/ blank nodes
	3/ data values
	4/ text (untidy)
and that interpretations mapped
	1/ URIs into resources [as before]
	2/ blank nodes into ... [as before]
	3/ data values into themselves!
	4/ text into arbitrary literal values!

Then a datatype scheme for the model theory is quite simple, 

	Let DT be a collection of datatypes.
	For d in DT let DTC(d) be a set, the extension of d.

The model theory for datatypes is also quite simple.

	For d in DT  ICEXT(d) = DTC(d)
	For d in DT  ICEXT(rdfs:Literal) >= DTC(d)

An RDF/XML serialization of an RDF graph element of the form
	< s , p , v > for v a data value
is of the form
	<... s ...>
	  <p xsi:type="du">x</p>
where d is some datatype with URI du
for which v in DTC(d) and x is a lexical form for v in d.

Thus in the serialization we need access to the lexical-to-value mapping,
but not in the model theory.

An RDF/XML serialization of an RDF graph element of the form
	< s , p , t > for t some text
is of the form
	<... s ...>
where t' is the appropriate XML version of t.

What is lost?  

Well, the ability to provide the lexical-to-data mapping once, as in

	<Property rdf:about="age">
	  <rdfs:range rdf:resource="xsd:integer">

and the related ability to do anything useful with


However, some of both of these can be regained by employing XML Schemas,
i.e., taking any XML Schema information in an XML document and using that
to determine the actual datavalue for literals.

Also, if anyone comes up with an acceptable (i.e., acceptable to both
Pat and Patrick :-) as well as others) method for working with text, i.e.,
text nodes that do not get a type from XML Schema information, then it can
be added to the proposal.

What is gained?

Better conformance with XML and XML Schema!

Fewer messages on rdf-core-wg!!!

Peter F. Patel-Schneider
Bell Labs Research

PS:  The name of this proposal is PFPS (or, if you really need to save
     bits, PS).

This archive was generated by hypermail 2.1.4 : 04/02/02 EST