Search Mailing List Archives
[protege-owl] Programming with Protege-OWL generated code.
swt at stanford.edu
Wed May 7 15:59:39 PDT 2008
Trudy Cool wrote:
> Just to be sure I understand, please...
> Are you saying that from my Symantic Web
> project's Java code I will need to place a call
> to a reasoner for every change I make to any
> object instance, to ensure that it still conforms
> to its ontological specification?
> If that is the case, then where can I read about
> recommended best-practices for doing this?
Have you gone through the pizza tutorial
see how DL reasoners are used to check the consistency of an
>>> 2) Am I expecting functionality that ought
>>> to be there, but isn't yet?
>> The functionality is there.
> Yes, but as you say, heavy and expensive :-(
>>> 3) Am I expecting functionality that ought
>>> NOT to be there, for some reason I haven't
>> Calling the Reasoner is an expensive operation.
>> Protege shouldn't call it every time the
>> ontology is changed.
> I suspect you didn't see what I was really asking
> here. I'm not concerned about calling the
> reasoner from Protege, and I'm not concerned
> about what happens when the ontology changes.
> I'm concerned about what happens when my Java
> object instances change.
> I haven't understood why the Java classes cannot
> be "type safe" in full conformance to the
From the point of view of consistency checking, there is no difference
between ontology and instances. Java classes cannot be in "full
conformance to the ontology" because Java classes cannot perform the
description logic reasoning needed to infer consistency. Logical
consistency is not type checking.
> Can I expect the Java code generator of Protege
> to be enhanced in the future to include the
> ability to generate such functionality?
> Is there some sort of paradigm mismatch that
> makes it impossible for Java classes to fully
> reflect the properties and relations of OWL/RDF?
> If so, can you point me to some reading material
> that would help me understand better.
Sorry, I don't know whether there is any literature that compare what
Java classes can do and what DL reasoner can do. Maybe the issue is the
difference between type-checking and logical inference. Can someone
point to references that fully explain this issue?
>>> 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.
> Again, I'm not sure you have understood me.
> *Assuming* a consistent ontology, what is the
> best (and least heavy) way to get Java classes to
> behave completely in accordance with that
> consistent ontology?
As I said, instances are part of the ontology from the point of the view
of consistency checking. Because of the open-world assumption, you need
to have enough axioms to infer that your particular hamster is not also
a kind of vegetable.
More information about the protege-owl