Regarding Ontology design

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

Regarding Ontology design

ysg11
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Regarding Ontology design

Michael DeBellis-2
Others will probably have better answers but the first thing I would suggest is you remember that everything in OWL is based on set theory and first order logic. If you don't know what those are I recommend taking a few hours and getting in intro text book. The first chapter in Elements of the Theory of Computation by Lewis and Papadimitriou is an excellent intro. I say that because the way you are describing your ontology sounds very much like a programmer defining the objects for their system rather than as someone creating a logical model. I don't mean that as a criticism and perhaps I'm just being too sensitive to that issue because its a problem I still grapple with, my first intuition is to always think like an OO programmer and while there are many similarities with OOP there are also important differences. 

If you haven't already done so you should do the Pizza Tutorial. That provides a lot of examples and I think would answer many of your questions. I also think the FHKB tutorial from Manchester is excellent and definitely worth doing. It shows some of the more powerful capabilities of using DL. 

Also, (and IMO this is true for OO modeling as well) there is seldom just one "right" way to model something. It all depends on your application(s), i.e., how you want to use the model. 

To get to some of your specific questions (and keeping in mind the caveat above) it seems unintuitive to me to have classes like RedTrafficLight, GreenTrafficLight, etc. Since the color of the light is constantly changing that means the type of any actual traffic lights you have will also be constantly changing. Now (unlike most OO systems) that is not prohibited in OWL but it just isn't the way my intuition would go for this problem. 

Also, you can have a string that records the color of the light and still have classes based on that color as well. That's one of the powerful things about OWL DL you can describe new classes based on the value of properties. So if you had a class called TrafficLight you could (although for most applications I don't think I would do this) define a new class called RedTrafficLight and you would add an axiom something like: TrafficLight and hasColor value "red" 

Hope that was helpful.

Michael

On Thu, May 11, 2017 at 7:53 AM, ysg11 <[hidden email]> wrote:
Hello,
I am fairly new to designing ontologies. I am trying to design simple
ontology. However, I would like to know some view with the design pattern.

I have a class Trafficlight. Now is it a good idea to have subclasses for
this class as Red,Green and Yellow or is it good a idea to create a data
property which takes string inputs and restrict values to Red,Green and
Yellow?

Similarly if I have say class road and street class. I connect these with
road1 hasStreetType street1.
Again will it be good idea to have subclasses  of street like
residential,highway etc or have a data property which takes these string
values as input.

Which of two pattern is better for reasoning?
Which of the two pattern will need more instance data?
What are advantages and disadvantages of it?



--
View this message in context: http://protege-project.136.n4.nabble.com/Regarding-Ontology-design-tp4668445.html
Sent from the Protege User mailing list archive at Nabble.com.
_______________________________________________
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: Regarding Ontology design

samsontu
These are good advices. I would add that you should think of classes as sets of individuals. If you say that TrafficLight is a class, then what are individuals of this class? Subclasses are subsets. If you have a subclass, what are individuals of this subclass and are they also individuals of the superclass?

With best regards,
Samson


On May 11, 2017, at 9:14 AM, Michael DeBellis <[hidden email]> wrote:

Others will probably have better answers but the first thing I would suggest is you remember that everything in OWL is based on set theory and first order logic. If you don't know what those are I recommend taking a few hours and getting in intro text book. The first chapter in Elements of the Theory of Computation by Lewis and Papadimitriou is an excellent intro. I say that because the way you are describing your ontology sounds very much like a programmer defining the objects for their system rather than as someone creating a logical model. I don't mean that as a criticism and perhaps I'm just being too sensitive to that issue because its a problem I still grapple with, my first intuition is to always think like an OO programmer and while there are many similarities with OOP there are also important differences. 

If you haven't already done so you should do the Pizza Tutorial. That provides a lot of examples and I think would answer many of your questions. I also think the FHKB tutorial from Manchester is excellent and definitely worth doing. It shows some of the more powerful capabilities of using DL. 

Also, (and IMO this is true for OO modeling as well) there is seldom just one "right" way to model something. It all depends on your application(s), i.e., how you want to use the model. 

To get to some of your specific questions (and keeping in mind the caveat above) it seems unintuitive to me to have classes like RedTrafficLight, GreenTrafficLight, etc. Since the color of the light is constantly changing that means the type of any actual traffic lights you have will also be constantly changing. Now (unlike most OO systems) that is not prohibited in OWL but it just isn't the way my intuition would go for this problem. 

Also, you can have a string that records the color of the light and still have classes based on that color as well. That's one of the powerful things about OWL DL you can describe new classes based on the value of properties. So if you had a class called TrafficLight you could (although for most applications I don't think I would do this) define a new class called RedTrafficLight and you would add an axiom something like: TrafficLight and hasColor value "red" 

Hope that was helpful.

Michael

On Thu, May 11, 2017 at 7:53 AM, ysg11 <[hidden email]> wrote:
Hello,
I am fairly new to designing ontologies. I am trying to design simple
ontology. However, I would like to know some view with the design pattern.

I have a class Trafficlight. Now is it a good idea to have subclasses for
this class as Red,Green and Yellow or is it good a idea to create a data
property which takes string inputs and restrict values to Red,Green and
Yellow?

Similarly if I have say class road and street class. I connect these with
road1 hasStreetType street1.
Again will it be good idea to have subclasses  of street like
residential,highway etc or have a data property which takes these string
values as input.

Which of two pattern is better for reasoning?
Which of the two pattern will need more instance data?
What are advantages and disadvantages of it?



--
View this message in context: http://protege-project.136.n4.nabble.com/Regarding-Ontology-design-tp4668445.html
Sent from the Protege User mailing list archive at Nabble.com.
_______________________________________________
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

-- 
Samson Tu                                                      email: [hidden email]
Senior Research Engineer                              web: www.stanford.edu/~swt/
Center for Biomedical Informatics Research  phone: 1-650-725-3391
Stanford University                                          fax: 1-650-725-7944




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

Re: Regarding Ontology design

ysg11
CONTENTS DELETED
The author has deleted this message.