RE: Proposal for abstract syntax representation of inline literals (was Re: weekly call for agenda items)

> I suggest an abstract syntax along the lines of:
>
> An RDF Literal Node can be labelled with one of:
>
> - an RDF String Literal (as now)
> - an RDF XML Literal  (as now)
> - a value from the value space of a datatype.
>
> We simply note that an implementation that is unaware of a
> specific datatype
> used in an RDF/XML document will need to store the datatype URI + lexical
> form pair as a fall-back.
>
> An RDF Graph contains precisely one triple for each Literal node in the
> graph.
>
> [As I have previously indicated this extreme syntactic untidiness is
> practically indistinguishable from extreme tidiness, but leaves Pat more
> room to wriggle.]

Benefits:

1. Implementations don't need to store the original string, fits with almost
all plausible implementations of values. (e.g. in a database)

2. Makes the Closed World Assumption on datatyping. This is more accurate
than an Open World Assumption.
When the document author writes
  <my:datatype>"10"
they know already whether they mean the string "10", the number 2 (binary),
or 10 or 16 (hex).
They are not saying that they are going to make up their mind later about
what the "10" means. <my:datatype> is already defined and they are using
that definition. Someone else shouldn't come and redefine <my:datatype> so
that "10" means something else.

I agree with Patrick that it has a weakness to do with implementations that
do not know a particular datatype have to fallback to something like his
proposal; which licenses two slightly different behaviours. However, note
that XML Schema Datatypes is closed. There are only the predefined basic
types and (possibly user defined) types derived from them. Hence, at least
in principle, an RDF implementation could know all possible predefined
datatypes and the rules for understanding a user definition of a new type.

Jeremy

Received on Thursday, 12 September 2002 08:50:36 UTC