- From: <Patrick.Stickler@nokia.com>
- Date: Thu, 8 Aug 2002 10:21:21 +0300
- To: <phayes@ai.uwf.edu>, <drew.mcdermott@yale.edu>
- Cc: <www-rdf-logic@w3.org>
> -----Original Message-----
> From: ext pat hayes [mailto:phayes@ai.uwf.edu]
> Sent: 07 August, 2002 18:52
> To: Drew McDermott
> Cc: www-rdf-logic@w3.org
> Subject: Re: Dataypes, literals, syntax
>
>
>
> > [Pat Hayes]
> > But I don't see the real utility of the suggestion [to write,
> > e.g., the literal 10 as xsd:integer"10"] in this case.
> It provides
> > no extra expressive ability; at best it saves a triple here or
> > there; but on the other hand it complicated the syntax.
> So this is
> > a syntactic trade-off, and I guess I think that on
> balance its not
> > worth the trouble. We can get the same effect by using a
> bnode and
> > an extra triple, in effect writing the typed literal as a triple:
> >
> > Jenny age _:x .
> > _:x xsd:integer "10" .
> >
> >Isn't this what was earlier called "Idiom 1"? I take it no one
> >disagrees with the use of Idiom 1; the problem is that people like
> >Idiom 2
> >
> > <age>10</age>
> >
> >or perhaps 2b <.... age="10" />
> >
> >(I express these in XML style just to savor their rich ambiguity.)
> >
> >So the problem is to fix Idiom 2. Saying "You can always use Idiom
> >1" does not answer the question, unless you really mean, "Abandon
> >Idiom 2."
>
> We are going in circles. I was responding to a proposal by Peter to
> incorporate datatyping information into the literal itself. That
> proposal involves extending the notion of 'literal' in RDF, so it's
> not either of the idioms.
Well, I would consider the proposed datatyped literal node
as something other than a literal -- a URLref like entity
which globally and unambiguously denotes a specific datatype
value.
I.e., having something like (xsd:integer)"10" as a node in the
graph introduces a fourth atomic component into the graph
syntax.
Unless one is saying that the structured literal is really
now a four-tuple, consisting of parseType bit, lexical
string, xml:lang, and datatype. But that's making literals
rather "heavy" objects. Better to get all that information out
into the graph explicitly.
> My point was only that one can achieve
> essentially the same effect by using idiom 1, without changing RDF
> syntax, and keeping the datatyping information as an explicit
> assertion in the RDF graph.
Exactly.
And since we're strongly constrained by the charter to make
as few changes as possible, this is the path we likely
should choose.
> I agree that none of this has any direct bearing on idiom 2, but that
> was not the point under discussion. My own current preference for
> idiom 2 is to allow it, but insist that what it says (in your
> example) is that age is a string.
Two comments to that:
1. This precludes any real interaction between RDF range constraints
and datatyping, since any rdfs:range assertion will preclude use
of the inline idiom. If the rdfs:range of ex:age is xsd:integer,
then one can't say { Jenny ex:age "10" . }. And since most folks
use, and want to use the inline idiom, I'd consider that a rather
hard sell... (but hey, we've been over this many, many times)
2. XML Schema employs untidy semantics for datatyping. C.f.
http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Aug/0073.html
So folks who expect RDF datatyping to correspond at least at
the conceptual level with XML Schema will likely prefer untidy literals
and a literal in the inline idiom denoting a datatype value.
Patrick
--
Patrick Stickler Phone: +358 50 483 9453
Senior Research Scientist Fax: +358 7180 35409
Nokia Research Center Email: patrick.stickler@nokia.com
Received on Friday, 9 August 2002 07:15:44 UTC