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-discussion] Restricting Cardinality Restrictions in Subclasses

Natschläger Christine Christine.Natschlaeger at
Tue Sep 7 02:03:15 PDT 2010



I have a question regarding the inheritance of cardinality:

Is it possible to restrict cardinality restrictions for subclasses in Protégé 4.x? 


I want to define that a class has 1..n relationships (min 1). However, one of the subclasses can only have exactly 1 relationship. If I insert the first restriction for the superclass and the second restriction for the subclass, I see both restrictions (the first under inherited anonymous classes and the second under superclasses). 

Is this correct?  

Having two restrictions [1..n] and [1], is the second really overwriting the first or would it be possible for a user to create nevertheless several relationships for the subclass?


I have found a thread on "inheriting quantifier restrictions" from 2007 (, with a discussion whether inherited and actual restrictions are connected with AND or with OR. The answer to this thread was "AND", so if I connect [1..n] and [1], the intersection would be 1. 

Can I, however, somehow adapt or remove the entry [1..n] under inherited anonymous classes to not confuse the user?


Regarding the question whether this should be possible at all, I have only found one presentation:

On slide 10, it is stated that the cardinality can be strengthened on subclasses by increasing the min or decreasing the max value. I would agree on this suggestion and would also allow "exactly" if the value is lying between the min and max of the superclass.


In addition, I have one further question: Is it possible, to restrict properties based on the value of other properties? E.g. I have a class with a boolean Data Property. If the value of the property is true, then another property must select from a value partition A, however, if the value is false, then the other property must select from a value partition B. Or: If the data property is true, then an object property to class C should be possible, otherwise to class D.





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the protege-discussion mailing list