OWL and rdf:List

I just noticed that the following syntax

<my:Class rdf:about="#a">
  <my:property rdf:parseType="Collection">
    <my:Class1 rdf:about=#b" />
    <my:Class1 rdf:about=#c" />
  </my:property>
</my:Class>

produces something like (in N3)

:a a my:Class ;
   my:prop [
      rdf:first :b ;
      rdf:rest [
         rdf:first :c ;
         rdf:rest rdf:nil
      ]
   ]

while I was expecting

:a a my:Class ;
   my:prop [
      a rdf:List ; # ADDED
      rdf:first :b ;
      rdf:rest [
         a rdf:List ; # ADDED
         rdf:first :c ;
         rdf:rest rdf:nil
      ]
   ]

Indeed, the RDF spec states that those blank nodes are "implicitly" of
type rdf:List. However, this is a shame because the
rdf:parseType="Collection" idiom can not be used in OWL (Lite and DL)
where every resource must have a type.

Is there any workaround (other than constructing the list by hand...)
existing or in development, like RDF parsers with an option to make this
typing information explicit, and/or OWL inference engines like Pellet
use such option ? Or any hot debate that I missed where it was finally
decided that this was not necessary ??

  pa

Received on Tuesday, 11 April 2006 15:08:22 UTC