Modeling part-whole relations on Protege

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Modeling part-whole relations on Protege

Gustavo Felhberg
Hi everybody,

I'm quite new on modeling ontologies on protege and I have some questions.

Is there a way to model part-whole relations on Protege? The part-whole
relations define that an object can be part of other object and this can
be applied into a large number of  situations. But I don't know how to
model this on protege very well. I tried to use one "partOf" relation to
use in two pair of different classes and the result was not what I was
expecting. For example:

I can say that an Activity is partOf another Activity
I also can say that a Software Tool is partOf a Software Environment.

On protege I can set the property partOf and use as Domain the classes
Activity and S Tool and as Range Activity and Software Environment. The
problem is when I click on the Class S Tool, protege shows me that this
class has the property partOf (multiple Activity or
Software_Environment). Should I constraint this as a restriction or
shouldn't I use the same property to different types of classes?

Did anyone have the same problem??

Thanks a lot.

Gustavo Felhberg
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Modeling part-whole relations on Protege

Alan March
Hi Gustavo.

I've been through the problem of parts and the best references I could find
as helpful to my problems were:

http://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/ (very
implementation oriented)
http://www.cs.man.ac.uk/~rector/papers/scale-and-granularity-revised.pdf (a
fine analysis of the differente kinds of parts)

Best regards

Alan

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of
> Gustavo Felhberg
> Sent: Monday, June 04, 2007 11:40 AM
> To: Protege-OWL Mailling List
> Subject: [protege-owl] Modeling part-whole relations on Protege
>
> Hi everybody,
>
> I'm quite new on modeling ontologies on protege and I have
> some questions.
>
> Is there a way to model part-whole relations on Protege? The
> part-whole relations define that an object can be part of
> other object and this can be applied into a large number of  
> situations. But I don't know how to model this on protege
> very well. I tried to use one "partOf" relation to use in two
> pair of different classes and the result was not what I was
> expecting. For example:
>
> I can say that an Activity is partOf another Activity I also
> can say that a Software Tool is partOf a Software Environment.
>
> On protege I can set the property partOf and use as Domain
> the classes Activity and S Tool and as Range Activity and
> Software Environment. The problem is when I click on the
> Class S Tool, protege shows me that this class has the
> property partOf (multiple Activity or Software_Environment).
> Should I constraint this as a restriction or shouldn't I use
> the same property to different types of classes?
>
> Did anyone have the same problem??
>
> Thanks a lot.
>
> Gustavo Felhberg
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing:
> http://protege.stanford.edu/doc/faq.html#01a.03 

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Modeling part-whole relations on Protege

Thomas Russ
In reply to this post by Gustavo Felhberg

On Jun 4, 2007, at 7:39 AM, Gustavo Felhberg wrote:

> Hi everybody,
>
> I'm quite new on modeling ontologies on protege and I have some  
> questions.
>
> Is there a way to model part-whole relations on Protege? The part-
> whole
> relations define that an object can be part of other object and  
> this can
> be applied into a large number of  situations. But I don't know how to
> model this on protege very well. I tried to use one "partOf"  
> relation to
> use in two pair of different classes and the result was not what I was
> expecting. For example:
>
> I can say that an Activity is partOf another Activity
> I also can say that a Software Tool is partOf a Software Environment.
>
> On protege I can set the property partOf and use as Domain the classes
> Activity and S Tool and as Range Activity and Software Environment.  
> The
> problem is when I click on the Class S Tool, protege shows me that  
> this
> class has the property partOf (multiple Activity or
> Software_Environment). Should I constraint this as a restriction or
> shouldn't I use the same property to different types of classes?

My approach would be to use a set of general part-whole relations.
You will probably need more than one, because the semantics can vary  
a bit.
I personally would start with something based on Winston, Chaffin &  
Hermann:

   @article{DBLP:journals/cogsci/WinstonCH87,
   author    = {Morton E. Winston and
                Roger Chaffin and
                Douglas Herrmann},
   title     = {A Taxonomy of Part-Whole Relations.},
   journal   = {Cognitive Science},
   volume    = {11},
   number    = {4},
   year      = {1987},
   pages     = {417-444},
   bibsource = {DBLP, http://dblp.uni-trier.de}

   <http://www.informatik.uni-trier.de/~ley/db/journals/cogsci/ 
cogsci11.html>

but am also open to suggestions from more recent treatments.

After you have the general relations, you can arrange to specialize  
them for
particular classes using value restrictions on the classes  
themselves.  So,
for example, you might want to have a restriction like the following:

   Activity:  partOf all Activity

which just says that all partOf relations on Activity class members take
fillers of type Activity.  You will also want to make sure you have
appropriate disjointness assertions for your classes, since by default
classes in OWL are NOT disjoint.




_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
Reply | Threaded
Open this post in threaded view
|

Re: Modeling part-whole relations on Protege

Wacek Kusnierczyk
In reply to this post by Gustavo Felhberg
Gustavo Felhberg wrote:

> Hi everybody,
>
> I'm quite new on modeling ontologies on protege and I have some questions.
>
> Is there a way to model part-whole relations on Protege? The part-whole
> relations define that an object can be part of other object and this can
> be applied into a large number of  situations. But I don't know how to
> model this on protege very well. I tried to use one "partOf" relation to
> use in two pair of different classes and the result was not what I was
> expecting. For example:
>
> I can say that an Activity is partOf another Activity
> I also can say that a Software Tool is partOf a Software Environment.
>
> On protege I can set the property partOf and use as Domain the classes
> Activity and S Tool and as Range Activity and Software Environment. The
> problem is when I click on the Class S Tool, protege shows me that this
> class has the property partOf (multiple Activity or
> Software_Environment). Should I constraint this as a restriction or
> shouldn't I use the same property to different types of classes?
>
> Did anyone have the same problem??

This is not a problem (in the sense of a bug), but a feature of the
framework.

You can solve the problem in two ways:

1. introduce two new relations, e.g., partOfActivity and
partOfSoftwareEnvironment, as subrelations of partOf, and constrain
their domains and ranges respectively.

2. keep partOf, but add local restrictions:  for Activity, assert partOf
only Activity, for ST partOf only SE.

This does not solve all other, related problems you may have, but in
limited cases should work.

vQ
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03