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] Cardinality restrictions in OWL

Jevon Wright j.m.wright at massey.ac.nz
Mon Aug 3 20:36:58 PDT 2009


Hi,

I'm trying to define an ontology in Protege 4.0/OWL which essentially
says that all Containers must contain at least two Nodes. I have
defined the following ontology:

  Declaration(Class(Container))
  SubClassOf(Container ObjectMinCardinality(2 contains Node))

  Declaration(Class(Node))

  Declaration(ObjectProperty(contains))
  ObjectPropertyDomain(contains Container)
  ObjectPropertyRange(contains Node)

If I only create the one Container individual and no Node individuals,
and ask the FaCT++ reasoner to execute over this ontology, no error
occurs, even though I have defined a Container individual which does
not contain any Nodes.

Approaching from another angle, if I change container to restrict the
maximum number of contained nodes to 2, and create three individual
nodes contained within it:

  SubClassOf(Container ObjectMaxCardinality(2 contains Node))
  ObjectPropertyAssertion(contains SampleContainer Node1)
  ObjectPropertyAssertion(contains SampleContainer Node2)
  ObjectPropertyAssertion(contains SampleContainer Node3)

Reasoning with FaCT++ also produces no error, even though (I think)
this instance also clearly invalidates the OWL model I defined.

Is there a problem behind my OWL model, or a problem with how I am
using the reasoner? Any help would be appreciated.

Thanks!

Jevon



More information about the protege-owl mailing list