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] Modelling questions: Synonyms, instances

James Howison james at
Tue Oct 7 08:46:46 PDT 2008

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.

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.

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?


>> to create arbitrary anonymous class definitions whenever you need
>> them.  I would choose a slightly simpler formulation than Kaarel
>> Kaljurand's, though:
>>   Machine1234 type (AllValuesFrom canHandle Canister)
>> which says that Machine1234 belongs to the class of things that can
>> handle only canisters, but without any other restrictions on the  
>> types
>> of canisters.  This isn't the same as saying it handles ALL  
>> canisters,
>> but rather that it handles ONLY canisters.  This is a bit different
>> semantically from Kaarel's second solution which says that all
>> canisters can be handled by Machine1234, but without saying anything
>> about what else Machine1234 could do in addition to handling  
>> cannisters.
> I have to admit, I have no idea how to implement such statement in  
> protege.
> But even if, wouldn't I still have to assert canisters to the
> property manually?
> I made a screenshot of my "problem". This is the function I am  
> looking for, but
> kind of synchronized. (It's partially in german, I hope it is  
> understandable
> though ;) )
>> _______________________________________________
>> protege-owl mailing list
>> protege-owl <at>
>> Instructions for unsubscribing:
> _______________________________________________
> protege-owl mailing list
> protege-owl at
> Instructions for unsubscribing:

More information about the protege-owl mailing list