Search Mailing List Archives
[protege-owl] Modelling questions: Synonyms, instances
damian.nowak at empolis.com
Wed Oct 8 02:24:18 PDT 2008
James Howison <james <at> howison.name> writes:
> On 7 Oct 2008, at 7:15 AM, Damian Nowak wrote:
> >>> Correct (simplified) example:
> >>> A machine can handle all modeled canisters. So, I do have a object
> >>> property called "canHandle" (domain: machines, range: objects) for
> >>> example. I create an instance: Machine1234, and want to say that it
> >>> can
> >>> handle ALL canisters. I can use the "All asserted instances"
> >>> functionality in protege, but of course this won't regard
> >>> canisters I
> >>> add tomorrow or at any later point of time.
> >>> So, how can I solve that problem?
> >> Well, aside from Jame Howison's note that you might not have to do
> >> anything, which would be my first choice, you can also use the
> >> ability
> > Hi,
> > first of all: sorry for the late reply
> > (I was pretty busy the last couple of days)
> > and thanks a lot for the extensive replies!
> > If I understand correctly, James Howison's proposed solution entails
> > that I would have to bind the restriction to the property.
> > Since there are many
> > different specializations of machines which can handle very
> > different kinds of objects, I'd have to introduce one property for
> > every
> > machine/object combination.
> Not quite that bad, I think. The property could have domain :Machine
> and range :YourObject, then it would 'work' for all sub-classes of
> those things ... I say 'work' but I'm not quite sure what you are
> trying to do.
Yes, it would work - but it would not allow me to infer the knowledge I want to
infer. See below.
> I'm not sure. Have you had a chance to think about what you want to
> assert, what you want to infer and what you want to know, after the
> data process? (Also how you will know it; finding an inconsistency,
> querying for particular types of inferred statements?) I think that
> would help us help more.
Yes, I have thought about that. I suppose I have to give some background
Actually, we do not connect the objects with the machines. What we have is a
relationship between objects, functions, machines and operations. A function is
defined to consist of an object and an operation. A machine can provide such
function. So, what I want to assert is: Machine1234 can provide function4567 for
all canisters, and I'd like to state that without binding it to concrete
instances of canisters, but to classes of canisters (but obviously that would be
OWL-Full). So what I wanted to to is to bind it to the set of all instances of a
certain class, this is possible using protege (as shown in the screenshot
below), but as I said, this approach would not consider instances I add in the
What I want to infer is: Given a function, which machines (which specific
instances) can provide this function?
There are a few other gimmicks we use for inferring relevance of similar
machines (for example), but that should be irrelevant for this concern.
Thanks for your help, I hope the situation is a bit clearer now.
> For example, do you want to query a db to find a canister for a
> particular machine? Or to find an appropriate machine for a
> particular canister? Or perhaps you are shipping canisters and you
> want to match supply with demand for a particular set of machines?
More information about the protege-owl