Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Query: how to enforce using reasoning property relationships on class instances

Kaarel Kaljurand kaljurand at
Thu Jan 31 08:52:37 PST 2008


On Jan 31, 2008 5:12 PM, william fitzgerald <wfitzgerald at> 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
> Excape.

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.

See above.


More information about the protege-owl mailing list