Search Mailing List Archives
[protege-owl] How to use ontologies from programs?
tredmond at stanford.edu
Tue Apr 17 17:12:33 PDT 2007
A small correction. The kaos url has a typo:
Timothy Redmond wrote:
> I am not sure if you are asking if there are tools available or a
> deeper question about best practices. The first question I can
> answer - there are many tools available. There are several
> programatic apis for manipulating ontologies including the Protege
> OWL API (protege.stanford.edu/doc/dev.html), the OWL API
> (sourceforge.net/projects/owlapi), jena (jena.sourceforge.net) and
> many many others. These tools include the ability to add facts and
> instances to the ontology, the ability to annotate classes and
> instances with their author or source and query capabilities. I
> don't know if you can annotate axioms in OWL DL but I know that this
> is a feature that people have wanted.
> In addition there are several inference engines around including
> pellet (pellet.owldl.com), FaCT++ (http://owl.man.ac.uk/
> factplusplus), and racer. These tools come with powerful correctness
> and soundness guarantees.
> As to the deeper question of how you can best use these tools to
> achieve your needs maybe others can give useful answers. I did do
> some work on the KAoS system (http://www.coginsts.uwf.edu:16080/
> research/projects/KAoS) once which involved updating OWL knowledge
> bases, queries and inference. But I am not sure what to tell you
> about this work.
> On Apr 17, 2007, at 1:37 AM, Johann Petrak wrote:
>> 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
>> 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
>> 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
>> an ontology.
>> 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
>> 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,
>> protege-owl mailing list
>> protege-owl at lists.stanford.edu
>> Instructions for unsubscribing: http://protege.stanford.edu/doc/
> protege-owl mailing list
> protege-owl at lists.stanford.edu
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
More information about the protege-owl