Search code examples
owlontologyprotegeprotege4

issues with min one in Protege


I have a homework to do for my studies that requires to use Protégé. I am pretty new with the language OWL and with this software.

We need to create an ontology on hiking trails. I have multiple classes like Hikers, Trails, Restaurants, Hotels, Equipements, and Places.

This last class (Places) has 2 subclasses: StartEndPoint and PicnicArea. The class StartEndPoint correspond to the places where a trails start and end. So for my Trails class I have the axiome: (startingPoint exactly 1 Places) and (endingPoint exactly 1 Places) to symbolise that a trail starts and end at exactly one starting and ending point.

Similarly, i would like to create the axiom: each starting and ending place has at least one restaurant near this point. To do so, i have added the axiom: "eatingPlace min 1 Restaurants" in the class StartEndPoint.

But when I run the reasoner, it says no error. I did create some instances from all classes but for the instances from the class StartEndPoint, it should say that there is no restaurant as I didn't add any property "eatingPlace" to those instances (see screenshots below).

I wanted to try if the minimum one were working well and so it should have returned me an error i guess. But I got nothing. Is it normal ? If yes why ? And if no, how could I resolve this ?

thanks a lot for your help

enter image description here enter image description here


Solution

  • The reasoner is not finding any errors because of the Open World Assumption. You are stating that each endpoint has at least one restaurant near it, but this does not place any obligation on the ontology to list which restaurant is near to your endpoints - i.e., if you ask the reasoner if there is a restaurant near endpoint X, the reasoner will say yes; but, if you ask it to list the restaurants near endpoint X, the list might be empty because the information is not included in the ontology. This is expected behaviour for OWL ontologies.