OWL Pizzeria -- Project 2

Due -- November 7

The overall performance of your system is easy -- you will write a program that will ask how many pizzas someone wants to order, and then for each pizza get a list of ingredients. At the end, you will print out a bill itemizing which type of pizza each one is, and how much they each cost (and a total). You must charge the minimum that is permissible.

The trick, of course, is in how your pizza ordering system works -- you will define an OWL ontology that encodes the following:

Note that Anchovie is neither a vegetable or a meat!

Implementation

You will write a program (in Java preferably) that will invoke the Pellet reasoner using Jena. Li Ding has prepared some very nice notes on this topic at http://iw.rpi.edu/2007/10/csci6962-jena-pellet.htm . Learning to use these is a major part of the assignment, we will NOT be discussing this in detail in class.

You may work together with others n the class on working with Pellet and on how it is called etc. Your ontology and code solution needs to be your own.

Misc Details

The assignment is due 11:59PM on November 7.

You will be emailing your ontology, your code, and some examples (detail below) to me and to the TA as an attached zip file (or tarball).

On the Monday before the assignment is due, in the afternoon, we will post three sets of pizza orders that you will demo your system on. You will show how it runs on those three, and also with three examples of your own choosing.

Please note- there is some subtly in this assignment - to get the minimum costs you will need to do something other than just using Pellet directly (consider a pizza with one thing on it). This is the point of the assignment, to figure out how to appropriately use the reasoner from your procedural code.