RE: OWL hole

Jeff, 

by *not* mentioning A has someValuesFrom C at all is effectively saying
that A optionally has C. 

The semantics is that everything is possible (i.e. it is optional that A
has C, B could be equivalent to A, or to C... A could be a subclass of C
etc etc ). Just like if you don't say B is distinct from C, then the
semantics is that B could be intersecting with C.

To say what you want, I believe the following is enough:

Ontology(
 Class(A
  restriction(has someValuesFrom (B))
 )
 Class(B
  not (C)
 )
 Class(C)
 ObjectProperty(has
  domain(A)
  range(unionOf(B C))
 )
)

Cheers,

Gary
Network Inference (Holdings) Ltd.


> -----Original Message-----
> From: Jeff Lansing [mailto:jeff@polexis.com] 
> Sent: 28 January 2004 17:38
> To: public-webont-comments@w3.org
> Subject: 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/Se
rviceModel.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:43:35 UTC