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

Jonathan Carter jonathan.carter at
Thu Jul 30 05:17:35 PDT 2009

Hi Michael,

I think I went through a similar experience a couple of years ago when  
I first started using Protege. I think quite early on, it's important  
to look at some of the documentation on the Protege site/wiki about  
whether you should be using Frames or OWL. They are different and you  
work with them differently and your scenario will more naturally fit  
one or the other. You can convert projects from one format to the  
other, so it's not a complete show-stopper if you find that, actually,  
you ought to be using the other style for managing your ontology.

I also found the OWL a little harder to get into than Frames at first  
and so spent more time with that but luckily when I reviewed the  
Protege guidance on the site, it seemed that Frames was the right  
approach for my use-case. Obviously, some of the tools that are  
available only work with OWL but you can use things like Jess and  
Algernon with Frames, to define rules that these plugins use to  
perform inference on the contents of your knowledge base along the  
lines of the scenario you described ("if X and Y and Z then copy-file  
strategy applies").

In terms of how I'm using Protege, we've created a meta model for  
describing an Enterprise Architecture, using the Protege Classes and  
Slots. You populate your architecture model by creating Instances of  
the classes. This makes it very straight-forward to manage the  
ontology. You can then explore the model by navigating the instances,  
using the Query tab or by using the Protege API to interact with the  
knowledge base.
We've also created a web-based reporting environment that operates on  
an XML export of the Protege project (classes and instances). This  
web-based environment provides drill-down reports that make it easy  
for anyone to explore the knowledge base and make complex queries  
without having to understand Protege or the meta model. We've built a  
simple plugin for sending the XML version of the knowledge base to the  
reporting web application.

It's in these web-based reports that we ask the complex questions that  
may have to navigate a complex sequence of instances and relationships  
between them - but you define that once and then anyone can make the  

I would take some time to explore the pros and cons of both Frames and  
OWL and see which fits your needs best in terms of how you capture  
your ontology and how you manage it. Querying tools exist for both  
approaches but don't make the decision on which approach to take  
purely on which plugins look the best.

Hope this helps a bit



Jonathan Carter - Head of Technical Architecture
Enterprise Architecture Solutions Ltd

Proud sponsors of The Essential Project.
The free open-source Enterprise Architecture Management Platform

On 27 Jul 2009, at 22:33, Michael Rusch wrote:

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 questions.

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.?

protege-discussion mailing list
protege-discussion at

Instructions for unsubscribing:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the protege-discussion mailing list