OWL hole

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 12:52:49 UTC