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] Programming with Protege-OWL generated code.

Samson Tu swt at
Sun May 4 14:37:18 PDT 2008

In the future, please send OWL-related questions to 
protege-owl at

See in-line comments.

Trudy Cool wrote:
> Dear Protege Group
> I've been evaluating Protege as part of an
> institutional architecture.
> I had expected certain functionality from the
> generated Protege-OWL java code that does not
> seem to be there.
> Here's my test code (my questions follow) ...
> ...
> Observations:
> 1) A MargueritaPizza only exists if there is a
> pizza with Mozzarella and Tomato toppings, but
> this MargueritaPizza has no toppings.
> 2) Clearly, I should not be able to put
> HamTopping on a Vegetarian Pizza.
> So I'd like to ask, if I may:
> 1)  Am I doing something wrong?

You need to call a DL Reasoner (e.g., pellet) explicitly first before 
you can query for inferred statements. So MargueritaPizza has no 
*asserted* toppings.

Similarly, when you asserted that a vegetarian pizza has "Hamster" 
topping, you need to call the Reasoner explicitly to inferred that such 
toppings leads to an inconsistent ontology.

> 2)  Am I expecting functionality that ought to be
> there, but isn't yet?

The functionality is there.

> 3)  Am I expecting functionality that ought NOT
> to be there, for some reason I haven't
> understood?

Calling the Reasoner is an expensive operation. Protege shouldn't call 
it every time the ontology is changed.

> 4)  What must I do to get Java classes that
> consistently obey the ontological rules?

It's not trivial to identify, when you have an inconsistent ontology, 
the assertion that need to be retracted.

With best regard,
Samson Tu

More information about the protege-discussion mailing list