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] please help a poor, lost newbie

Michael Rusch mcrusch at
Mon Jul 27 14:33:19 PDT 2009

I'm a developer currently working on two software projects, both of 
which use fairly simple ontologies of terms.  On example is an ontology 
of file formats.  I have coded up my own solution for storing and 
querying these ontologies, but it is non-standard, hard to maintain, 
ugly, etc.

I stumbled across Protege, and it struck me that it could be very easy 
to maintain the types of ontologies that I'm using, and a little playing 
around with Protege Frames suggested it would probably work very well.

The problem is that then I have this thing in Protege with no way to 
work with it in my application.  Here's an example of the kind of thing 
I'd like to do:

I have one ontology in which classes in the ontology represent a 
specific subset of classes and interfaces in my application.  I have 
another where each class is a method of accessing some sort of data 
store.  I then have a number of strategies for storing data in those 
data stores.  Then, I want to be able to say something like the 
copy-file strategy accepts HasFilename objects and stores them in a 
filesystem-data-store, or something along those lines.  I can stick all 
this into the ontology no problem, but then I want to be able to ask, 
but then when I have an object whose concrete class implements the 
HasFilename interface (which is a class in the ontology, of course), and 
a set of data store instances, one of which is a filesystem-data-store, 
I want it to be able to find out that I can use the copy-file strategy 
to store that.

It seems to me that this "querying" is what "reasoning" is, right?  But, 
then I have the problem that trying to work with Protege OWL kind of 
made my head spin, and then reasoner stuff and reasoner API was totally 
intractable to me.  I can get very simple queries like "can you infer 
that X is a Y", but I have no idea how to ask these more complicated 

So, I'm a bit lost.  I have to think that these kinds of problems are 
the sorts of things people solve every day, so I'd like to avoid 
re-inventing the wheel.

I guess my question is:
1. Can anybody make suggestions as to how I would want to use the 
various tools to be able to achieve this kind of functionality?
2. If Protege is going to be my editing tool, am I stuck with 
Protege-OWL (which would presumably mean I need to use the other mailing 
list, right?)
3. Any other suggestions?  Are the tutorials I should be reading, forums 
I should be using, etc.?


More information about the protege-discussion mailing list