LC Responses/RM1a

PeterPatelSchneider 17:58, 12 March 2009 (UTC)

[Draft second response for LC Comment 51-part1 RM1]

To: Ralf Moeller <> Subject: [LC Response] To Ralf Moeller Re: OWL2

Dear Ralf:

This message is in reply to your comment available as <>, on the OWL 2 Web Ontology Language last call drafts; the initial response from the working group <>; and your subsequent reply, available as <>

The Working Group acknowledges that multi-valued data properties together with datatype facets do pose an implementation burden. However, the group is not chartered [1] to make changes that would break backward compatibility with OWL 1, which had numerous implementations with non-functional datatypes, as well as deployment of ontologies possibly relying on that feature. Note also that no erratum was reported on this feature on OWL 1 [2]. Therefore, the Working Group does not intend to change OWL 2 in this way.

Regards, Peter F. Patel-Schneider on behalf of the W3C OWL Working Group

[1] [2]

Past Messages

From: Ralf Moeller [1] Sent: Friday, March 06, 2009 1:45 PM To: Michael Schneider Subject: Re: [LC Response] To Ralf Moeller Re: OWL2

Dear Michael,

I would like to let you know that I cannot really be satisfied with the response. I have pointed out loose ends in OWL 2 that go back to even looser ends in OWL 1. We should not bury our head in the sand and argue: We cannot change sth because this would break backward compatibility with OWL 1.

Now it is the time to get up the nerve to do sth that appears to be a serious flaw :-)

Best regards,


From: Michael Schneider

Dear Ralf,

Thank you for your comments < comments/2009Jan/0059.html> on the OWL 2 Web Ontology Language last call drafts.

Your mail actually contains three distinct comments. This response exclusively covers your first comment. There will be additional responses to your other two comments.

In your first comment, you state:

 I strongly recommend to change the OWL2 specification in such a way
 that data properties are always functional.

The working group acknowledges that by applying the approach you mention in your comment it would indeed be sufficient if all data properties would be functional.

However, the working group is aware of the fact that the original OWL language did not restrict data properties to be functional. Therefore, restricting data properties to be functional in OWL 2 would break backwards compatibility with OWL.

For this reason, the working group has decided not to make the requested change to OWL 2.

Please acknowledge receipt of this email to <> (replying to this email should suffice). In your acknowledgment please let us know whether or not you are satisfied with the working group's response to your comment.

Regards, Michael Schneider on behalf of the W3C OWL Working Group From: Ralf Moeller [2]

1. I think it is a severe problem not to restrict data properties to functional properties by definition. Many problems with implicit cardinality restrictions occur if the range of data properties is restricted (e.g. via range specs such as xsd:int or xsd:integer with arbitrary conjunctions of datarange specifications inclusing facets with minInclusive and maxInclusive). Implicit cardinality restrictions emerge, and this makes the implementation very difficult, and IMHO the semantics is hard to understand. Further, some facets such as owl:length imply number restrictions for strings. I have no idea, how to deal with the owl:pattern facet (decidability problems?).

Arbitrary data properties are not needed: If, for instance, one might want to use multi-value data properties for multiple names of a Person, say, one can always introduce domain objects of class PersonName with a single-value data property namestring. PersonNames can be set into relation to Person as usual via a role hasName, say. It is easy to restriction the number of names, etc. With this kind of represenation we can associate additional information with person names such as, for instance, whether a name is a nickname or not.

If we say (at-least 2 hasName) then it is not guaranteed that the (two or more) PersonName instances have different namestrings. If hasName was a data property, this would be implied, leading to very tricky constraints, which would make a sound and complete implementation very difficult in the context of Aboxes and additional at-most restrictions for the hasName data property.

I strongly recommend to change the OWL2 specification in such a way that data properties are always functional.

Last modified on 16 March 2009, at 17:50