A problem in Protege

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

A problem in Protege

Amin Gharebaghi
Hi there,

My name is Amin, PhD student in GIS at Laval University. I am going to develop a mobility ontology using Protégé.
I have a problem by defining same relations (object property) between concepts. For instance, when I want to define the relationship of “is used by” between two couples of concepts (e.g. A is used by B & C is used by D).
Defining two relations with same names leads to encounter with the notice of “Entity already exists” . I was wondering if you would answer to this problem.

Thanks in advance,
Amin
------------------------------------------
Amin Gharebaghi
PhD Student
Pavillon Louis-Jacques Casault 
1055, avenue du Séminaire
Local 0744
Université Laval 
Québec (Qc) G1V 0A6
CANADA 




_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: A problem in Protege

Steve Wartik

Amin,

 

You have fallen into a modeling trap that flusters many who come from a relational database-, entity-relationship-, or programming-oriented modeling background (myself included).

 

The short solution to your problem is: Use one property, and don’t specify its range or domain.

 

This approach is hard for many of us to grasp. We want properties to be as specific as possible. But that’s not really appropriate for expressing the concept of “is used by”. Think about it: what does it mean for one “thing” to use another? That’s a very general notion. Therefore, leaving the domain and range of the property as owl:Thing is probably appropriate.

 

Perhaps in the context of your ontology you mean something more specific. Can you differentiate between what it means for A to be used by B and C to be used by D? If so, create distinct properties with distinct names. If not, is there something about use that’s unique to these 4 classes? You might consider making the domain of the property be the union of A and C, and the range be the union of C and D.

 

The question of how general to make a property’s domain and range is in fact quite difficult and subtle in ontological modeling. Carefully consider the ways in which the property might be used, both in the ontology you’re developing and in future ontologies that might make use of your ontology. This is an art, not a science, so try different approaches. See which work well in the long run, and learn.

 

Regards,

 

Steve Wartik

 

From: protege-user [mailto:[hidden email]] On Behalf Of Amin Gharebaghi
Sent: Monday, December 29, 2014 10:35 AM
To: [hidden email]
Subject: [protege-user] A problem in Protege

 

Hi there,

My name is Amin, PhD student in GIS at Laval University. I am going to develop a mobility ontology using Protégé.
I have a problem by defining same relations (object property) between concepts. For instance, when I want to define the relationship of “is used by” between two couples of concepts (e.g. A is used by B & C is used by D).
Defining two relations with same names leads to encounter with the notice of “Entity already exists” . I was wondering if you would answer to this problem.

Thanks in advance,
Amin

------------------------------------------
Amin Gharebaghi
PhD Student
Pavillon Louis-Jacques Casault 
1055, avenue du Séminaire
Local 0744
Université Laval 
Québec (Qc) G1V 0A6
CANADA 


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: A problem in Protege

grantpax
Helpful response, Steve. Thank you.

On Dec 29, 2014, at 11:23 AM, Wartik, Steven P Steve <[hidden email]> wrote:

Amin,
 
You have fallen into a modeling trap that flusters many who come from a relational database-, entity-relationship-, or programming-oriented modeling background (myself included).
 
The short solution to your problem is: Use one property, and don’t specify its range or domain.
 
This approach is hard for many of us to grasp. We want properties to be as specific as possible. But that’s not really appropriate for expressing the concept of “is used by”. Think about it: what does it mean for one “thing” to use another? That’s a very general notion. Therefore, leaving the domain and range of the property as owl:Thing is probably appropriate.
 
Perhaps in the context of your ontology you mean something more specific. Can you differentiate between what it means for A to be used by B and C to be used by D? If so, create distinct properties with distinct names. If not, is there something about use that’s unique to these 4 classes? You might consider making the domain of the property be the union of A and C, and the range be the union of C and D.
 
The question of how general to make a property’s domain and range is in fact quite difficult and subtle in ontological modeling. Carefully consider the ways in which the property might be used, both in the ontology you’re developing and in future ontologies that might make use of your ontology. This is an art, not a science, so try different approaches. See which work well in the long run, and learn.
 
Regards,
 
Steve Wartik
 
From: protege-user [[hidden email]] On Behalf Of Amin Gharebaghi
Sent: Monday, December 29, 2014 10:35 AM
To: [hidden email]
Subject: [protege-user] A problem in Protege
 
Hi there,

My name is Amin, PhD student in GIS at Laval University. I am going to develop a mobility ontology using Protégé.
I have a problem by defining same relations (object property) between concepts. For instance, when I want to define the relationship of “is used by” between two couples of concepts (e.g. A is used by B & C is used by D).
Defining two relations with same names leads to encounter with the notice of “Entity already exists” . I was wondering if you would answer to this problem.

Thanks in advance,
Amin

------------------------------------------
Amin Gharebaghi
PhD Student
Pavillon Louis-Jacques Casault 
1055, avenue du Séminaire
Local 0744
Université Laval 
Québec (Qc) G1V 0A6
CANADA 

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


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: A problem in Protege

Dave McComb
In reply to this post by Steve Wartik

Well put +1

 

From: protege-user [mailto:[hidden email]] On Behalf Of Wartik, Steven P "Steve"
Sent: Monday, December 29, 2014 9:24 AM
To: User support for WebProtege and Protege Desktop
Subject: Re: [protege-user] A problem in Protege

 

Amin,

 

You have fallen into a modeling trap that flusters many who come from a relational database-, entity-relationship-, or programming-oriented modeling background (myself included).

 

The short solution to your problem is: Use one property, and don’t specify its range or domain.

 

This approach is hard for many of us to grasp. We want properties to be as specific as possible. But that’s not really appropriate for expressing the concept of “is used by”. Think about it: what does it mean for one “thing” to use another? That’s a very general notion. Therefore, leaving the domain and range of the property as owl:Thing is probably appropriate.

 

Perhaps in the context of your ontology you mean something more specific. Can you differentiate between what it means for A to be used by B and C to be used by D? If so, create distinct properties with distinct names. If not, is there something about use that’s unique to these 4 classes? You might consider making the domain of the property be the union of A and C, and the range be the union of C and D.

 

The question of how general to make a property’s domain and range is in fact quite difficult and subtle in ontological modeling. Carefully consider the ways in which the property might be used, both in the ontology you’re developing and in future ontologies that might make use of your ontology. This is an art, not a science, so try different approaches. See which work well in the long run, and learn.

 

Regards,

 

Steve Wartik

 

From: protege-user [[hidden email]] On Behalf Of Amin Gharebaghi
Sent: Monday, December 29, 2014 10:35 AM
To: [hidden email]
Subject: [protege-user] A problem in Protege

 

Hi there,

My name is Amin, PhD student in GIS at Laval University. I am going to develop a mobility ontology using Protégé.
I have a problem by defining same relations (object property) between concepts. For instance, when I want to define the relationship of “is used by” between two couples of concepts (e.g. A is used by B & C is used by D).
Defining two relations with same names leads to encounter with the notice of “Entity already exists” . I was wondering if you would answer to this problem.

Thanks in advance,
Amin

------------------------------------------
Amin Gharebaghi
PhD Student
Pavillon Louis-Jacques Casault 
1055, avenue du Séminaire
Local 0744
Université Laval 
Québec (Qc) G1V 0A6
CANADA 


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

A problem in Protege

Amin Gharebaghi
In reply to this post by Amin Gharebaghi
Hi there,

I am going to visualize an ontology that includes too many concepts using the OntoGraf menu of Protege. In fact, the produced graph is too crowded and seems not to be clear. I would like to know, can I exclude the "thing" class and its relations from the graph? Is there any other solution to represent the complex ontologies?

Thanks,
Amin
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: A problem in Protege

Matthew Horridge-2
Administrator
Hi Amin,

I am going to visualize an ontology that includes too many concepts using the OntoGraf menu of Protege. In fact, the produced graph is too crowded and seems not to be clear.

This can be a problem with these kinds of graphical visualisations.  It’s probably best to use them to look at a few classes.

I would like to know, can I exclude the "thing" class and its relations from the graph? Is there any other solution to represent the complex ontologies?

You might take a look at VOWL (amongst others) http://vowl.visualdataweb.org

Cheers,

Matthew


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