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] OWLUnionClass and subsumption using API

Nate Blaylock blaylock at ihmc.us
Thu Jan 14 10:37:11 PST 2010


Hi all,

I cannot get isSubsumedBy to work as I would expect with OWLUnionClass  
using the Protege-OWL Java API (3.4.1) and ProtegePelletJenaReasoner.   
Any time one of the parameters is an OWLUnionClass, isSubsumedBy  
returns false.

For example, for the following ontology:

OWLModel model = ProtegeOWL.createJenaOWLModel();
ReasonerManager reasonerManager = ReasonerManager.getInstance();	
ProtegeReasoner reasoner =  
reasonerManager.createProtegeReasoner(model,  
ProtegePelletJenaReasoner.class);
OWLNamedClass x = model.createOWLNamedClass("x");
OWLNamedClass x1 = model.createOWLNamedClass("x1"); x1.addSuperclass(x);
OWLNamedClass y = model.createOWLNamedClass("y");
OWLNamedClass z = model.createOWLNamedClass("z");
OWLUnionClass xy = model.createOWLUnionClass(); xy.addOperand(x);  
xy.addOperand(y);
OWLUnionClass yz = model.createOWLUnionClass(); yz.addOperand(y);  
yz.addOperand(z);
OWLUnionClass xyz = model.createOWLUnionClass(); xyz.addOperand(x);  
xyz.addOperand(y); xyz.addOperand(z);

I get the following results:

reasoner.classifyTaxonomy();
reasoner.isSubsumedBy(x1,x);  // returns true  (both classes are  
OWLNamedClass here)
reasoner.isSubsumedBy(x,xy); // returns false
reasoner.isSubsumedBy(x1,xy); // returns false
reasoner.isSubsumedBy(y,xy); // returns false
reasoner.isSubsumedBy(xy,xy); // returns false
reasoner.isSubsumedBy(y,yz); // returns false
reasoner.isSubsumedBy(xy,xyz); // returns false
reasoner.isSubsumedBy(yz,xyz); // returns false

I would have expected each of these to return true.  Is there  
something that I'm doing wrong?

thanks in advance,

nate




More information about the protege-owl mailing list