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] How to use ontologies from programs?

Timothy Redmond tredmond at stanford.edu
Tue Apr 17 17:12:33 PDT 2007


A small correction.  The kaos url has a typo:

> http://www.coginst.uwf.edu:16080/research/projects/KAoS


-Timothy


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.
>
> -Timothy
>
>
>
> 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  
>> 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
>> 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  
>> 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,
>>   Johann
>>
>> _______________________________________________
>> protege-owl mailing list
>> protege-owl at lists.stanford.edu
>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>> Instructions for unsubscribing: http://protege.stanford.edu/doc/ 
>> faq.html#01a.03
>>     
>
> _______________________________________________
> protege-owl mailing list
> protege-owl at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
>   




More information about the protege-owl mailing list