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

Hello,

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
way.


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.

Regards,

	Boris

Received on Wednesday, 11 June 2008 10:34:46 UTC