Search Mailing List Archives
[protege-owl] Query: how to enforce using reasoning property relationships on class instances
kaljurand at gmail.com
Thu Jan 31 08:52:37 PST 2008
On Jan 31, 2008 5:12 PM, william fitzgerald <wfitzgerald at tssg.org> wrote:
> how do you enforce that a instances of a class (A) must have at least 1
> property relationship to instances of a certain class (B) while it must
> also have at least 1 property to another class (C) using that same property.
A subClassOf (prop some B)
A subClassOf (prop some C)
B subClassOf not C
> an example would be to steal a server one needs to break into the room
> AND leave room un-noticed.
> So stealing a sever requires: Server stealProp Room AND Server stealProp
Sorry, don't understand this example ...
> Classes: A,B and C are disjoint.
> Property: someProp with domain = A, range = B and C also set
Do you mean "and" or "or" in the range? Probably "or" otherwise
range would be owl:Nothing.
> in the class description tab, i can state that instances of Class A must
> have at least 1 "someProp" relationship to Class B "AND" also must have
> at least 1 "someProp" relationship to Class C.
> A closure axiom is also applied.
If you mean the allValuesFrom-description then this is just a specific form
of range. Once you have range, the allValuesFrom becomes redundant.
> Running the reasoner passes consistency checks and so forth as expected.
> But I expected something different when introducing Instances!
> Now having created instances of class A, B and C called a1,b1 and c1, I
> expected an error or warning of some kind to suggest that I failed to
> link a1 to c1 along the someProp relationship.
Why? There is an unmentioned instance of C that A links to. This
instance is not necessarily c1. See the open world assumption.
> By not entering any instances into the dialog box of the individual "a1"
> instance tab, you would see a red box. This is to be expected given that
> the class definition states it requires at least 1 relationship.
> However, once I filled in the relationship to b1 the red box disappears.
> Even though the class definition states that the someProp points to 2
> separate classes and i presumed each separate definition restriction was
> ANDed together. hence i expected to see an error saying "You need to
> assign instance a1 to a member of Class C along the someProp property also".
> Is this not possible in DL? Ensuring instances are deployed with valid
> properties is out of scope for DL reasoning.
Maybe it's some mismatch between Protege 3 and OWL DL.
> Has Open World Assumption got something to do with it? In that just
> because I do not assign a1 to c1 along someProp does not mean it is not
> already done/assumed.
More information about the protege-owl