W3C home > Mailing lists > Public > public-webont-comments@w3.org > January 2004

Re: OWL hole

From: Benjamin Nowack <bnowack@appmosphere.com>
Date: Wed, 28 Jan 2004 19:52:37 +0100
To: Jeff Lansing <jeff@polexis.com>
Cc: public-webont-comments@w3.org
Message-ID: <PM-EH.20040128195237.A62E3.1.1D@192.168.27.2>


Hi Jeff,

(this is probably the wrong ML for a reply but I'll give
it a try..)
why don't you just remove the "someValuesFrom C" from your
ontology. then "has" can relate individuals of type A to 
either individuals of type B or type C. keeping 
"someValuesFrom B" ensures that A has at least one B. 
if C is optional, the range definition is sufficient.

did I understand your question? or did you mean that it's
not possible to attach cardinalities to value constraints
(e.g. A 3x has B)? DAML+OIL has this type of qualified
constraints, IIRC, but I'm not sure. If they are not 
available in OWL now, then this is probably not a hole in
the spec but has been well thought-through by the webont wg...

hope that helps..
benjamin


On 28.01.2004 09:38:12, Jeff Lansing wrote:
>
>There seems to be a hole in the coverage of OWL.
>
>More specifically, given classes 'A', 'B', and 'C', a property 'has',  
>and the "reality" that A has B and optionally has C, and that B is 
>distinct from C, it does not seem possible to model this situation in OWL.
>
>Some considerations:
>
>Renaming 'has' to 'has-an-A' and 'has-a-B' appears to be a non-starter. 
>The property has already been named in the "reality" that is being 
>modelled. Perhaps I am translating from an E-R model, or from UML. Where 
>is the information about this gratuitous renaming going to go? Perhaps I 
>don't own the namespace of the property.
>
>If the example seems contrived, look at the WSA, where there appear to 
>be cases just like this. (See e.g.: 
>http://dev.w3.org/cvsweb/~checkout~/2002/ws/arch/wsa/images/ServiceModel.png)
>
>The best that I can do seems to be this:
>
>Ontology(
> Class(A
>  restriction(has someValuesFrom (B))
>  restriction(has someValuesFrom (C)))
> Class(B)
> Class(C)
> ObjectProperty(has
>  domain(A)
>  range(unionOf(B C)))
>)
>
>which contradicts the fact that having C is optional.
>
>Jeff
>
>
>
>
Received on Wednesday, 28 January 2004 13:57:58 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:43:29 GMT