Search Mailing List Archives
[protege-owl] How to use ontologies from programs?
johann.petrak at chello.at
Tue Apr 17 01:37:18 PDT 2007
I apologize if this is somewhat off-topic on this list, but I would
be interested in how to best use an ontology from a client program
and in best-practice tips you might have.
The Protege GUI allows to very comfortably create and update Ontologies
manually, but what is the usual way to proceed when one wants to
use/update the ontology from within a (non-GUI) program?
There are the following issues as far as I understand:
1) managing individuals: what is the "standard" way to programmatically
add, update, remove or query individuals from an OWL ontology?
How much use can be made of the information stored in the ontology,
e.g. when an individual is known to belong to class A and the ontology
defines A to be disjunct with B, is it possible to query this fact?
Are there limits to what can be asserted in a query that differ from
what can be expressed with the OWL language?
If yes, it would be important to consider these things when designing
2) managing classes and properties: how is it possible to change and
extend the ontology itself programmatically? If the batch program
realizes that some class A has a subclass D in addition to subclasses
B and C that has certain properties, how can the client program go
about extending the knowledge represented in the ontology?
What would be necessary to make use of the new knowledge when asserting
facts about individuals (e.g. the new fact that some individual cannot
belong to the new class D).
3) documenting background information about classes, properties and
individuals: since an ontology is a representation of the knowledge
gathered from experts, documents or other sources, it would make sense
to be able to track back each assertion to where it comes from.
So, it would be necessary to somehow document that the assertion that
B is a subclass of A comes from some source X and that L,M,and N are
mutually exclusive comes from some source Z etc. Is this possible?
Similar things would make sense when storing individuals: the fact
that an individual has a certain property might be based on some
source X and this should be documented in some standard way.
Is there a standard way or a pattern of how to do this?
And finally 0) is this the right forum to discuss such questions or
can you kindly point me to better/additional lists or forums where
people discuss these issues?
Many thanks in advance,
More information about the protege-owl