parseType=collection causing confusion

DAML+OIL folk -

In the section on reference section on parseType=collection:

http://www.daml.org/2001/03/reference#collection

it states that a use of parseType=collection, such as:

<oneOf rdf:parseType="daml:collection">
  <Thing rdf:resource="#red"/>
  <Thing rdf:resource="#white"/>
  <Thing rdf:resource="#blue"/>
</oneOf>

is equivalent to an RDF List construct (not reproduced here), which
"imposes a specific order on the elements".  But then it also says
(rather schizophrenically) that "structures of parseType daml:collection
are intended to represent *unordered* collections".

Well, I'd like to use it to represent an *ordered* collection.  Since
it's clearly defined as an RDF List construct that maintains order, it
seems to me I should be able to use it that way with confidence.

In other words, I would like to be able to define my own property,
which, like oneOf, has daml:List as its range, and I'd like to be able
to use parseType=collection in specifying instances of this property.
AND, I'd like to have some confidence that any DAML+OIL-compliant parser
or tool will maintain the order that's given inside the parseType=
collection construct.  But the wording of the reference document leaves
me in doubt.

QUESTION: Can I feel confident that a DAML+OIL-compliant parser or tool
will maintain the order of elements given inside a parseType=collection
construct, when it's used in specifying an instance of a user-defined
property?

RECOMMENDATION: In descendant languages of DAML+OIL, such as OWL, if
"parseType" is still used, let there be *both* of the following:

  parseType=collection, where it's explicitly documented that a parser
*isn't* required to maintain the given order,

AND

  parseType=list, where it's explicitly documented that a parser *is*
required to maintain the given order

Thanks,
David Martin

Received on Thursday, 12 September 2002 20:51:37 UTC