Just coming back from a three-day short course on modeling ontologies with Protégé in Vienna and I can’t get pizza out of my mind. Thanks to the Stanford Protégé team I learned how to model an ontology of the Italian signature dish in OWL. OWL is a W3C standard to describe the logical model of a domain, its concepts and properties, including constraints and relations. This can be done for every domain that comes to mind of course. But still, pizza it was.
While some things are relatively straight forward when it comes to modeling an ontology of pizzas some things are not. Surely there is a PizzaBase and PizzaTopping in the pizza domain. And PizzaTopping again has other subclasses such as VegetableTopping or MeatTopping or CheeseTopping. A pizza that has a cheese topping is a cheesy pizza.
Ok, that was the easy and intuitive part. But one OWL characteristic requires extra care when modeling and working with ontologies. It is the open world assumption. This assumption refers to the fact that the absence of a statement does not equal the negation of that statement. If a class of pizzas does not have the property hasTopping some CheeseTopping it does not mean that the pizzas are not cheesy pizzas. It is simply not known if there’s cheese on that slice of Italian bread. So if you want to find all pizzas without cheese then you have to model the ontology accordingly and include that knowledge.
How that can be done, I don’t want to cover here. Go and attend the next Protégé Short Course or get a book on that subject. I just had to get that whole pizza thing off my chest. And to make sure that it doesn’t come back and I end up humming a misheard Bucketheads song, here’s one for you to end all pizza cravings.