- From: Stephen Petschulat/CanWest/IBM <spetschu@ca.ibm.com>
- Date: Wed, 20 Jun 2001 17:16:18 -0700
- To: w3c-rdfcore-wg@w3.org
Issue Summary ============= The grammar of RDF M&S permits the use of aboutEach to distribute a property over multiple objects. It is not clear how parsers should handle this or if it should even be allowed. Using the example at http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-aboutEach-on-object/test1.rdf <?xml version="1.0"?> <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:DC="http://purl.org/metadata/dublin_core/"> <Bag ID="pages"> <li resource="http://foo.org/foo.html" /> <li resource="http://bar.org/bar.html" /> </Bag> <Description about="URL1"> <DC:Prop> <Description aboutEach="#pages"> <DC:Creator>Ora Lassila</DC:Creator> </Description> </DC:Prop> </Description> </RDF> SiRPAC generates: <online:pages> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> < http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag> . <online:pages> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> < http://foo.org/foo.html> . <online:pages> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> < http://bar.org/bar.html> . <http://foo.org/foo.html> <http://purl.org/metadata/dublin_core/Creator> "Ora Lassila" . <http://bar.org/bar.html> <http://purl.org/metadata/dublin_core/Creator> "Ora Lassila" . ... (where did the DC:Prop go? try replacing the string "DC:Prop" with "blah" and you'll get the same triples)... and this isn't the only parser interpretation. [1] In RDF M&S, aboutEach was intended for use on a top level description only (a subject), not on the object of a statement. [2] However, it has been suggested that there may be value in using aboutEach to distribute over both subjects and objects, [3] though it is doubtful this practice is in widespread use (someone let me know if this is incorrect). Regardless, it is clear that there is confusion over what parsers should generate if it is allowed. Resolution Options ================ Note that this issue may be effected by the resolution of http://www.w3.org/2000/03/rdf-tracking/#rdfms-abouteach Options for resolving this are: - Allow aboutEach on the object of a statement and clarify in the spec what a parser should generate. - Disallow aboutEach on the object of a statement by stating in RDF M&S that aboutEach is restricted to top level rdf:Description nodes. Disallowing at minimum means clarifying Section 3.3 of the M&S. The grammar changes and additions (is this required?) would look something like: [6.2] obj ::= descriptionWithAboutEach | description | container [6.3] description ::= '<rdf:Description' idAboutAttr? bagIdAttr? propAttr* '/>' | '<rdf:Description' idAboutAttr? bagIdAttr? propAttr* '>' propertyElt* '</rdf:Description>' | typedNode [6.5] idAboutAttr ::= idAttr | aboutAttr [6.17] value ::= description | container | string [6.X] descriptionWithAboutEach ::= '<rdf:Description' idAboutAttrWithAboutEach? bagIdAttr? propAttr* '/>' | '<rdf:Description' idAboutAttrWithAboutEach? bagIdAttr? propAttr* '>' propertyElt* '</rdf:Description>' | typedNodeWithEach [6.X] idAboutAttrWithAboutEach ::= idAttr | aboutAttr | aboutEachAttr [6.X] typedNodeWithAboutEach ::= '<' typeName idAboutAttrWithAboutEach? bagIdAttr? propAttr* '/>' | '<' typeName idAboutAttrWithAboutEach? bagIdAttr? propAttr* '>' propertyElt* '</' typeName '>' Ugly, eh? Ok, this can be cleaned up, but it still seems to lose a bit of it's elegance ;-). Discussion ========== Is there really any value in using aboutEach on objects & if so, how does this impact parser implementations and the formalizing of the logical model? Unless there are good reasons to do otherwise, IMHO it makes sense to clarify the spec to what it was originally intended (disallow aboutEach on objects). We can then tackle the question of whether we want to keep the newly clarified aboutEach around at all... cheers, - steve [1] http://lists.w3.org/Archives/Public/www-rdf-interest/2000Aug/0139.html [2] http://lists.w3.org/Archives/Public/www-rdf-interest/2000Dec/0011.html [3] http://lists.w3.org/Archives/Public/www-rdf-interest/2000Aug/0145.html - steve Stephen Petschulat
Received on Wednesday, 20 June 2001 20:22:09 UTC