Confusion about order of elements

Hi,

It seems to me that RDF is a step backwards compared to plain XML if you
want to rely on the order of elements - but maybe it's just its
complexity and lack of tools like we already have them for XML.

Anyway: In classification schemes the order of narrower concepts is
almost always fixed. How do you preserve this order in SKOS? For RDF
semantics this:

<skos:Concept>
  <skos:narrower rdf:resource="#A"/>
  <skos:narrower rdf:resource="#B"/>
</skos:Concept>

is equivalent to

<skos:Concept>
  <skos:narrower rdf:resource="#B"/>
  <skos:narrower rdf:resource="#A"/>
</skos:Concept>

and you'll probably get the "wrong" order if you rely on it. That's what
Alistair suggested at
http://lists.w3.org/Archives/Public/public-esw-thes/2005Dec/0026
as far as I understand him:

<skos:Concept>
  <skos:narrower>
    <skos:OrderedCollection>
      <skos:memberList rdf:parseType="Collection">
        <skos:element rdf:resource="#A"/>
        <skos:element rdf:resource="#B"/>
      <skos:memberList>
    </skos:OrderedCollection>
  </skos:narrower>
</skos:Concept>

Pretty much overhead, isn't it?

Additionally Collection are also used for arrays (and should also be
used for auxilary tables according to my guide), so there is confusion
about when a collection is used for ordering only and when it is a
special element in the concept scheme.

So why can't we use something like:

<skos:Concept>
  <rdf:Seq>
    <skos:narrower rdf:resource="#B"/>
    <skos:narrower rdf:resource="#A"/>
  <rdf:Seq>
</skos:Concept>

or

<skos:Concept>
  <skos:narrower>
    <rdf:li rdf:resource="#A"/>
    <rdf:li rdf:resource="#A"/>
  </skos:narrower>
</skos:Concept>

or even better:

<skos:Concept rdf:preserveorder="yes">
  <skos:narrower rdf:resource="#A"/>
  <skos:narrower rdf:resource="#B"/>
</skos:Concept>

But this is probably all no valid RDF.

Greetings,
Jakob

P.S: The real purpose of RDF is to blow up you data with tons of
additional markup, isn't it? ;-)

Received on Thursday, 10 August 2006 11:22:02 UTC