Datatypes, abstract syntax / data model.

My vote was for Jos' suggestion, which was: a datatyped literal is
held (in the abstract syntax) to be the pair

	( datatype uri, clex )

..where clex is the canonical lexical form for the datatype; secondly,
to make the assertion that such a canonical form exists.


Patrick S asked, "what if there is no such form?" Well, I choose to
accept the axiom of choice, which (I think) covers this*. Anyhoo -
that's the sum total of the proposal as I heard it from Jos, and seemed
a happy middle-ground. This is why:


From an implementation point of view, using "values" and sneaky DB
primitive types is acceptable. This works, because the DB primitive type
might be viewed as simply another non-canonical lexical form.

From a roundtripping point of view, this is acceptable, since we are
basically trying to roundtrip from abstract syntax (or data model) to
abstract syntax, not preserve "spurious" details about the lexical
forms. If we don't know anything about the lexical form, then no harm is
done.

Also, note that no canonicalisation is _required_ from an
implementation, and that's OK too. If an implementation doesn't know
about a datatype, there's absolutely nothing it can do better than that
(the open-world view); if it happens to know about closed-world XSD
stuff then it may be able to offer more conclusions (Jenny and John have
the same age).

jan

PS. In many ways, this is just another way of spelling out why Jeremy and
Patrick differ in opinion, but can see each others' point of view - I
think.

Some of the reason for this differing of opinion seems to be the subtle
semantics attached to words like "abstract", "lexical" and "syntax". I
dunno what to do about that.


* that is, for any datatype, there exists a canonicalisation function
which selects from the set of equivalence sets of lexical forms one
preferred form.

-- 
jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/
Tel +44(0)117 9287088 Fax +44 (0)117 9287112 http://ioctl.org/jan/
User interface? I hardly know 'er!

Received on Friday, 13 September 2002 11:24:18 UTC