RE: Parsing and Containers

After some more thought, I think that it might be a mistake to allow rdf:li
as attributes. Example 4 demonstrates the problems this can cause:

"Example 4:

       <rdf:Description rdf:about="http://badExample" rdf:li="a"
rdf:_3="b"/>

will generate:

        [http://badExample, rdf:_n, "a"]
        [http://badExample, rdf:_3, "b"]

where n is some integer greater than 0."

Since the order of attributes is indeterminate, it's not certain as to which
attribute would be processed first as you clearly pointed out. This makes it
legal for two different RDF parsers to produce two different models from the
same input. One parser might encounter the li attribute first in which case,
n would be 1. Another might encounter the _3 first in which case, according
to your rules, n would be 4. This is especially dangerous if the container
is a Seq. For the sake of interoperability, I feel that we should try our
best to avoid this.

As Dave Beckett points out in his RDF Concepts Reference [1], rdf:li is
referred to in Section 3.2 of the M&S as a "convenience element" not a
"convenience property" or some other such term that might be interpreted as
applying to both elements and attributes.

Jason.

[1]
http://www.redland.opensource.ac.uk/notes/concepts.html

Received on Sunday, 17 December 2000 01:07:35 UTC