Search Mailing List Archives
[protege-discussion] please help a poor, lost newbie
Michael Rusch
mcrusch at wisc.edu
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
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.?
Thanks,
Michael
More information about the protege-discussion
mailing list