en <p>A set of classes used to demonstrate common errors made while modelling, including: <ol> <li>Over-constraining domains on properties</li> <li>Misinterpretation of functional properties</li> <li>Descriptions of VegetarianPizza that:<ol> <li>can be trivially satisfied</li> <li>can subsume unclosed pizzas</li> <li>use restrictions that do not mean anything</li> <li>use intersection incorrectly</li> <li>use inappropriate disjoints</li> </ol> </li> </ol> VegePizzas have been left as primitives to simplify viewing the classification. Convert each of these, one at a time or in small groups, to a defined class (using the right-click menu) before classifying. </p> version 1.0 Defined classes are generally not disjoint. They definitely cannot be disjoint with classes they are designed to subsume - this will cause an inconsistency CONVERT TO DEFINED BEFORE CLASSIFYING This is correct, with respect to our PizzaToppings Cannot be empty (will not subsume open pizzas) CONVERT TO DEFINED BEFORE CLASSIFYING The intersection of Meat and Fish is empty because they are disjoint. So we only have toppings that are (not owl:Nothing) Therefore, we only have toppings that are (owl:Thing) This statement is meaningless. This class is equivalent to Pizza Pizzas that have been closed to limit what toppings they can have 0 This pizza exists to test trivial satisfaction - members of this class cannot have any toppings. This should classify under VegePizza02 Pizzas that could be extended - they have the given toppings, but could also have other, unspecified toppings CONVERT TO DEFINED BEFORE CLASSIFYING Has at least one topping (of any class but not meat or fish) No toppings can be meat or fish (will not subsume open pizzas) We have not asserted that all pizzas must have at least 1 topping CONVERT TO DEFINED BEFORE CLASSIFYING only (Universal) does not state some Trivially satisfied by Pizzas with no toppings Can only have VegetarianToppings or be empty (will not subsume open pizzas) The MaterialStates should be disjoint, but this has been left out - see LiquidSolidIceCream A class that uses a functional property (hasMaterialState) twice. This is not inconsistent unless MaterialStates have been declared disjoint CONVERT TO DEFINED BEFORE CLASSIFYING some (Existential) does not state only Not Closed Has at least one VegetarianTopping, but could also have toppings of anything else (will subsume open pizzas) CONVERT TO DEFINED BEFORE CLASSIFYING The intersection of Meat and Fish is empty because they are disjoint. So we have toppings that are (not owl:Nothing) Therefore, we have toppings that are (owl:Thing) Has at least 1 topping of any class (will subsume open pizzas) CONVERT TO DEFINED BEFORE CLASSIFYING Can have anything as a topping (even non toppings) except meat or fish. Trivially satisfied - Does not have to have any toppings Equivalent to VegePizza05 (will not subsume open pizzas) 1 CONVERT TO DEFINED BEFORE CLASSIFYING Has at least 1 topping (any class) Equivalent to VegePizza08 - the Universal restr is ignored (see VegePizza06) (will subsume open pizzas) CONVERT TO DEFINED BEFORE CLASSIFYING Has at least one topping (of any class except meat or fish) Could have other toppings (including meat and fish) (will subsume open pizzas) All IceCreams must have at least 1 topping. Any individual that has a topping must be a Pizza. Therefore all IceCreams must be Pizzas. Icecream is inferred to be a subclass of Pizza. A m CONVERT TO DEFINED BEFORE CLASSIFYING Can have anything as a topping (even non toppings) except meat or fish. Trivially satisfied - Does not have to have any toppings Equivalent to VegePizza04 (will not subsume open pizzas)