W3C home > Mailing lists > Public > public-owl-comments@w3.org > January 2009

Fwd: OWL2

From: Ian Horrocks <ian.horrocks@comlab.ox.ac.uk>
Date: Tue, 27 Jan 2009 20:02:40 +0000
Message-Id: <AF9C97A4-79FC-45A8-97AB-04B69F25A836@comlab.ox.ac.uk>
Cc: Ralf Moeller <r.f.moeller@tu-harburg.de>
To: public-owl-comments@w3.org

Ralf had some problems posting this message to the public-owl- 
comments list (he got the "Thank you for your comments" message, but  
it didn't appear in the archive) so he asked me to forward it:

Begin forwarded message:

> =============
>
> Dear all,
>
> We have implemented most the syntax for OWL2 in the RacerPro OWL  
> reasoner (version 1.9.3),
> and we plan to eventually support the SROIQ language fragment (up  
> to now SHIQ+Aboxes is supported).
> I would like to make a few comments about the OWL2 language.
>
> 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.
>
> 2. It is my opinion that in the RDF/XML syntax there is a small  
> problem. Look at the following fragment:
>
>  <owl:DataRange rdf:about="#GreaterThan65">
>     <owl2:onDataRange rdf:resource="&xsd;nonNegativeInteger"/>
>     <owl2:withRestrictions rdf:parseType="Collection">
>           <rdf:Description><owl2:minExclusive  
> rdf:datatype="&xsd;int">65</owl2:minExclusive></rdf:Description>
>     </owl2:withRestrictions>
>  </owl:DataRange>
>
> Since owl2:minExclusive is a tag in the position of a property, we  
> need the additional
> description node (see the description of the mapping to RDF graphs).
>
> In my view it would make sense to add owl2:Facet such that we write
>
>  <owl:DataRange rdf:about="#GreaterThan65">
>     <owl2:onDataRange rdf:resource="&xsd;nonNegativeInteger"/>
>     <owl2:withRestrictions rdf:parseType="Collection">
>           <owl2:Facet><owl2:minExclusive  
> rdf:datatype="&xsd;int">65</owl2:minExclusive></owl2:Facet>
>     </owl2:withRestrictions>
>  </owl:DataRange>
>
> Thus, we have a sequence of Facet instances rather than a sequence  
> of abstract nodes.
> Certainly, RacerPro can handle the version with rdf:Description,  
> and RDF/XML is not for humans anyway but,
> in an OWL file I would like to avoid rdf:Description.
>
> 3. I wonder whether naming dataranges is possible at all. Can we  
> declare
>
>  <owl:DataRange rdf:ID="GreaterThan65">
>     <owl2:onDataRange rdf:resource="&xsd;nonNegativeInteger"/>
>     <owl2:withRestrictions rdf:parseType="Collection">
>           <rdf:Description><owl2:minExclusive  
> rdf:datatype="&xsd;int">65</owl2:minExclusive></rdf:Description>
>     </owl2:withRestrictions>
>  </owl:DataRange>
>
> on toplevel and use
>
> <owl:DataRange rdf:about="#GreaterThan65">
>
> later on? Maybe it should be <rdfs:Datatype rdf:ID="GreaterThan65"/ 
> >  these days? (but the naming querstion remains).
>
> RacerPro 1.9.3 also supports the OWLlink protocol as well as the  
> OWLAPI (with new OWL2 features above SHIQ in the near future).
> I hope OWL2 will be successful.
>
> Best regards, also on behalf of the RacerPro team,
>
> Ralf Möller
>
>
> -------------------------------------------------------
> Prof. Dr. Ralf Möller
> Hamburg University of Technology
> Harburger Schloßstraße 20
> 21079 Hamburg
> Germany
> Tel.: 040 42878 3462
> Email: r.f.moeller@tu-harburg.de
> http://www.sts.tu-harburg.de/~r.f.moeller
Received on Tuesday, 27 January 2009 20:03:33 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 January 2009 20:03:34 GMT