W3C home > Mailing lists > Public > public-owl-wg@w3.org > June 2008

RE: A proposal for ISSUE-104 (built-in vocabulary)

From: Michael Schneider <schneid@fzi.de>
Date: Wed, 11 Jun 2008 19:16:16 +0200
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A096B505@judith.fzi.de>
To: "Boris Motik" <boris.motik@comlab.ox.ac.uk>
Cc: <public-owl-wg@w3.org>
Hi Boris!

Regarding the 'rdf:first' problem: Your proposal would introduce special
treatment for the List vocabulary in OWL 2. My own idea, stated in an
earlier mail, was the opposite: To simply ignore the list vocabulary (except
in those parts of the reverse mapping where it is applied as part of the

This would have the effect that rdf:first would be just some URI. And this
would mean that, in order to use it, one would need to declare it to be
either an owl:ObjectProperty or an owl:DatatypeProperty, respectively. For
example, the following would then be legal OWL 2 DL:

  rdf:List rdf:type owl:Class .
  rdf:first rdf:type owl:DatatypeProperty .
  rdf:rest rdf:type owl:ObjectProperty .
  rdf:nil rdf:type owl:NamedIndividual .

  :alice :likesNumbers ( 2 3 5 7 ) .

The declarations could be imported, of course, no need to write them down
every time.

It wouldn't be possible to use rdf:first both as an object and a data
property in the same ontology. But this is what one would expect in OWL 2


>-----Original Message-----
>From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org]
>On Behalf Of Boris Motik
>Sent: Wednesday, June 11, 2008 12:33 PM
>To: public-owl-wg@w3.org
>Subject: A proposal for ISSUE-104 (built-in vocabulary)
>The discussion around ISSUE-104 (reserved vocabulary) seemed to show
>that lists and reification are the main, if not the only part
>of the reserved vocabulary that might be useful in OWL 2 DL. (If we feel
>that it is necessary, we may verify this by sending an
>e-mail to owl-dev once we have fleshed out our proposal. I personally
>don't think we need to do this, given my experience how the
>built-in vocabulary has been used in OWL 1.)
>Based on the assumption that we more or less agree on the above
>observation, I would like to put forward a proposal for resolving
>this issue. Before I do so, let me first explain why the obvious way of
>resolving the problem does not work.
>1. A slight problem with exempting rdf:List from the reserved vocabulary
>For a property to be used in any OWL 2 DL axiom, the property must be
>declared as either an object or a data property. Now this
>causes a slight problem for rdf:List: we would make a hard-and-fast
>choice about how to treat rdf:first. Thus, we would have to
>decide whether rdf:first is an object or a data property, which would
>essentially restrict the usage of lists in OWL 2 DL in a nasty
>2. A possible way forward
>To allow for lists, we would introduce four new vocabulary elements in
>OWL 2:
>- owl:List
>- owl:firstLiteral
>- owl:firstIndividual
>- owl:rest
>To ensure semantic compatibility with OWL Full, we would make owl:List a
>subclass of rdf:List, owl:firstLiteral and
>owl:firstIndividual a subproperty of rdf:first, and owl:rest a
>subproperty of rdf:rest.
>We would extend the structural spec to provide built-in declarations for
>these properties (in the obvious way). We would also add a
>subsection to the structural spec and to the primer about how these are
>to be used in ontologies.
>We would leave the rest of the built-in vocabulary in OWL 2 DL as it
>currently is.
>Note that this does not address the reification vocabulary. Reification
>is considered bad in RDF anyway, and it would introduce
>similar problems in OWL 2 DL; therefore, it seems to me that disallowing
>it in OWL 2 DL is not a big deal.
>Let me know how you feel about this.
>	Boris

Received on Wednesday, 11 June 2008 17:16:57 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:41:48 UTC