- 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>
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 UTC