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

[Patrick Stickler, Nokia/Finland, (+358 50) 483 9453, patrick.stickler@nokia.com]


----- Original Message ----- 
From: "ext Brian McBride" <bwm@hplb.hpl.hp.com>
To: "RDF Core" <w3c-rdfcore-wg@w3.org>
Sent: 11 September, 2002 21:16
Subject: weekly call for agenda items


> 
> This is the usual weekly call for agenda items.  Please can I have any by 
> noon uk time Thursday please.
> 
> On my list of possibles I have:
> 
>   o abstract syntax - I'd prefer a whole proposal rather than specific 
> questions

Here is my proposal:

1. Explicitly typed non-XML literals (typed literals)
   would be represented in the abstract syntax by a single node,
   having as its label a tuple (ddd, "LLL") where ddd is the
   URIref value of rdf:datatype and "LLL" is the literal, including
   any xml:lang suffix, if present. The proposed representation
   in N-Triples is to directly concatenate the datatype URIref
   to the double-quote delimited literal string. 

   Explicitly typed literal nodes are syntactically and 
   semantically tidy.

   Thus

   <rdf:Description rdf:about="#Jenny">
      <age rdf:datatype="#integer">10</age>
   </rdf:Description>

   would result in the triple

      <#Jenny> <#age> <#integer>"10" .

   and

   <rdf:Description rdf:about="#Jenny" xml:lang="en">
      <age rdf:datatype="#integer">10</age>
   </rdf:Description>

   would result in the triple

      <#Jenny> <#age> <#integer>"10"-en .

2. Non-explicitly typed non-XML literals (inline literals)
   would be represented in the abstract syntax by a single node,
   having as its label a tuple (ID, "LLL") where ID is an autogenerated
   and globally unique system ID and "LLL" is the literal, including
   any xml:lang suffix, if present. The proposed representation
   in N-Triples is to directly concatenate the system ID
   to the double-quote delimited literal string. 

   Non-explicitly typed literal nodes are syntactically tidy, though
   given their unique system ID component each occurrence results
   in a distinct node. The semantics are not at present specified,
   but could be either tidy or untidy.

   Thus

   <rdf:Description rdf:about="#Jenny">
      <age>10</age>
   </rdf:Description>

   would result in the triple

      <#Jenny> <#age> _:x"10" .

   and

   <rdf:Description rdf:about="#Jenny" xml:lang="en">
      <age>10</age>
   </rdf:Description>

   would result in the triple

      <#Jenny> <#age> _:x"10"-en .

3. XML literals would be excluded from taking an explicit
   datatype -- i.e. rdf:datatype and rdf:parseType would
   be mutually exclusive attributes -- and are represented
   in the abstract syntax by a single node with a label
   consisting of the XML flag, the XML content string,
   and optionally an xml:lang suffix. 

   XML literals are syntactically and semantically tidy.

   Thus

   <rdf:Description rdf:about="#Chapter1">
      <title rdf:parseType="Literal"><h1>Datatyping and other Horrors</h1></title>
   </rdf:Description>

   would result in the triple

      <#Chapter1> <#title> xml"<h1>Datatyping and other Horrors</h1>" .

   and

   <rdf:Description rdf:about="#Chapter1" xml:lang="en">
      <title rdf:parseType="Literal"><h1>Datatyping and other Horrors</h1></title>
   </rdf:Description>

   would result in the triple

      <#Chapter1> <#title> xml"<h1>Datatyping and other Horrors</h1>"-en .

Cheers,

Patrick

Received on Thursday, 12 September 2002 03:08:57 UTC