W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > March 2003

RE: LC Issue hendler-01 (substantive) discussion

From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Date: Mon, 10 Mar 2003 15:12:57 +0100
To: "Dave Beckett" <dave.beckett@bristol.ac.uk>, "RDF Core" <w3c-rdfcore-wg@w3.org>
Message-ID: <BHEGLCKMOHGLGNOKPGHDEEEICBAA.jjc@hpl.hp.com>


I suggest we note the related comment:

http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0027.html

"This is not an official request to do anything"

in our reply. (I had thought that this comment was sent on behalf of WebOnt,
but I can't find the trail).

Jeremy


> -----Original Message-----
> From: w3c-rdfcore-wg-request@w3.org
> [mailto:w3c-rdfcore-wg-request@w3.org]On Behalf Of Dave Beckett
> Sent: 10 March 2003 14:18
> To: RDF Core
> Subject: LC Issue hendler-01 (substantive) discussion
>
>
>
>
> Proposal to close hendler-01
>   http://www.w3.org/2001/sw/RDFCore/20030123-issues/#hendler-01
>
> Summary: rejected
>
>   This request would require substantial changes to the RDF/XML
>   grammar, make it more complex, introduce further tricky
>   implementation work and require another last call WD.  The
>   resulting RDF graph can be generated from the existing RDF/XML
>   albeit in a long form.
>
>
> NOTE * * * This is not yet a response to the issue raiser  * * *
>
> Rationale [LONG - with examples]
>
> This request would require a substantial change to the RDF/XML
> syntax, so that
>    http://www.w3.org/TR/rdf-syntax-grammar/#parseTypeCollectionPropertyElt
> would allow not only a list of node elements, but a list
> of what would might be called 'literal node elements'.
>
> This change would require another last call WD.
>
>
> Grammar Change Choices
>
> 1. The grammar would be changed to:
>
>   start-element(URI == propertyElementURIs ),
>       attributes == set(idAttr?, parseCollection))
>   (nodeElementList | literalNodeElementList)
>   end-element()
>
> and new grammar productions
>   literalNodeElementList ::= literalNodeElement*
>
>   literalNode ::= start-element(URI == ???,
>                                 attributes == set(datatypeAttr?,
> parseLiteral?))
>                     literal
>                   end-element()
>
> The latter would need new careful rules to handle both datatypes and
> parseType="Literal" forms (or the latter could be ruled out).
>
> This would mean inventing a new rdf term for ??? that would allow
> literals to be used where nodes were expected.  I will use rdf:abc
> for this example rather than pick one.
>
> 2. Alternatively only http://www.w3.org/TR/rdf-syntax-grammar/#nodeElement
> could be changed to be handle the functionality above, but it is one of
> the most complex parts of the grammar and it would be difficult.
>
>   Aside: If nodeElement was changed in this way, it *would* also
>   allow literals to be given as subjects of triples. However this is a
>   postponed RDF Core Issue:
>     http://www.w3.org/2000/03/rdf-tracking/#rdfms-literalsubjects
>   and if this choice was made, there would be temptation to
>   change all the other working drafts in order to allow it in the
>   semantics and abstract syntax, explain in the primer, etc.
>
> Examples of this new syntax
>
> So given rdf:abc and either of the above choices, you could then use:
>
>   <rdf:Description rdf:about="http://example.org/node">
>     <ex:propertyElement rdf:parseType="Collection">
>       <rdf:abc>a</rdf:abc>
>       <rdf:abc>b</rdf:abc>
>     </ex:propertyElement>
>   </rdf:Description>
>
> giving N-Triples:
>
> <http://example.org/node>
> <http://www.example.org/ns#propertyElement> _:genid1 .
> _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> .
> _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "a" .
> _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid2 .
> _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> .
> _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "b" .
> _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
>
> and all the usual literal datatypes
>
>   <rdf:Description rdf:about="http://example.org/node">
>     <ex:propertyElement rdf:parseType="Collection">
>       <rdf:abc rdf:parseType="Literal"><a:b
> xmlns:a="http://example.org/a">Some XML</a:b></rdf:abc>
>       <rdf:abc rdf:datatype="&xsd;decimal">10</rdf:abc>
>       <rdf:abc xml:lang="fr">chat</rdf:abc>
>     </ex:propertyElement>
>   </rdf:Description>
>
> giving N-Triples
> <http://example.org/node>
> <http://www.example.org/ns#propertyElement> _:genid1 .
> _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> .
> _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "<a:b
> xmlns:a="http://example.org/a">Some
> XML</a:b>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
> _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid2 .
> _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> .
> _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first>
> "10"^^<http://www.w3.org/2000/10/XMLSchema#decimal> .
> _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid3 .
> _:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> .
> _:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "chat"@fr .
> _:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
>
>
> Working with the Existing RDF/XML
>
> All the triples given above can be generated from the existing
> grammar, with the triples written out in long form.  This would be
> true for all potential mappings and although inconvenient for
> hand-writing, would be possible.
>
> The first set of triples written out in longhand RDF/XML
>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>          xmlns:ex="http://www.example.org/ns#" >
>   <rdf:Description rdf:about="http://example.org/node">
>     <ex:propertyElement rdf:nodeID="genid1" />
>   </rdf:Description>
>
>   <rdf:Description rdf:nodeID="genid1">
>     <rdf:type
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List" />
>     <rdf:rest rdf:nodeID="genid2" />
>     <rdf:first>a</rdf:first>
>   </rdf:Description>
>
>   <rdf:Description rdf:nodeID="genid2">
>     <rdf:type
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List" />
>     <rdf:rest
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" />
>     <rdf:first>b</rdf:first>
>   </rdf:Description>
> </rdf:RDF>
>
> The second set:
>
> <?xml version='1.0' encoding='utf8'?>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>          xmlns:ex="http://www.example.org/ns#" >
>   <rdf:Description rdf:about="http://example.org/node">
>     <ex:propertyElement rdf:nodeID="genid1" />
>   </rdf:Description>
>
>   <rdf:Description rdf:nodeID="genid3">
>     <rdf:type
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List" />
>     <rdf:rest
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" />
>     <rdf:first xml:lang="fr">chat</rdf:first>
>   </rdf:Description>
>
>   <rdf:Description rdf:nodeID="genid1">
>     <rdf:type
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List" />
>     <rdf:rest rdf:nodeID="genid2" />
>     <rdf:first rdf:parseType="Literal"><a:b
> xmlns:a="http://example.org/a">Some XML</a:b></rdf:first>
>   </rdf:Description>
>
>   <rdf:Description rdf:nodeID="genid2">
>     <rdf:type
> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List" />
>     <rdf:rest rdf:nodeID="genid3" />
>     <rdf:first
> rdf:datatype="http://www.w3.org/2000/10/XMLSchema#decimal">10</rdf:first>
>   </rdf:Description>
>
> </rdf:RDF>
>
>
> Both of the latter two rdf/xml examples are legal and work in parsers
> conformant with the Jan 23 2003 drafts.
>
>
> Summary of adding this form:
>
> Pros (changing to add this new form)
>   Adds a shorthand for a triples form that Hendler and Webont call
>     "very important" (Hendler)
>     --
http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0322.html
    and "prefered .. to be allowed" ,"would permit some constructs in
        OWL that are difficult under the current design." (WebOnt)
    --
http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0335.html
  With grammar choice 2, allows a way to do literal triple subjects.
  Using the current RDF/XML is very long and "extremely ugly" (Hendler)

Cons (not changing)
  Is creating another new piece of RDF/XML syntax.
  Requires a new last call RDF/XML syntax WD.
  Tricky grammar choices and changes, wordings.
  New implementation burden.
  Adds yet another alternate way to use RDF/XML - already too many options.
  Requires new description in RDF/XML syntax section 2 and in the RDF
primer.
  With grammar choice 2, would tempt changes to be made to most all other
WDs.

---

My personal summary is: sorry, too late for such a large change.

Dave
Received on Monday, 10 March 2003 09:13:08 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:56:11 EDT