Ontology
comment: An example ontology that contains all constructs required for the various versions of the Pizza Tutorial run by Manchester University (see http://www.co-ode.org/resources/tutorials/) @en
version info: v.1.5. Removed protege.owl import and references. Made ontology URI date-independent @en
version info: version 1.5
version info: v.1.4. Added Food class (used in domain/range of hasIngredient), Added several hasCountryOfOrigin restrictions on pizzas, Made hasTopping invers functional @en

hasIngredient
type: ObjectProperty
type: TransitiveProperty
comment: NB Transitive - the ingredients of ingredients are ingredients of the whole @en
inverse of: isIngredientOf
domain: Food
range: Food

hasSpiciness
type: ObjectProperty
type: FunctionalProperty
range: Tempero
comment: A property created to be used with the ValuePartition - Spiciness. @en

hasTopping
type: ObjectProperty
type: InverseFunctionalProperty
comment: Note that hasTopping is inverse functional because isToppingOf is functional @en
domain: Pizza
sub property of: hasIngredient
range: CoberturaDaPizza
inverse of: isToppingOf

isIngredientOf
type: ObjectProperty
type: TransitiveProperty
domain: Food
comment: The inverse property tree to hasIngredient - all subproperties and attributes of the properties should reflect those under hasIngredient. @en
range: Food

isToppingOf
type: ObjectProperty
type: FunctionalProperty
sub property of: isIngredientOf
comment: Any given instance of topping should only be added to a single pizza (no cheap half-measures on our pizzas) @en
domain: CoberturaDaPizza
range: Pizza

Americana
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeTomate
    union of: CoberturaDeCalabreza
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCalabreza
subclass of: Restriction
  on property: hasCountryOfOrigin
  has value: America
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
disjoint with: QuatroQueijos
disjoint with: AmericanaPicante

AmericanaPicante
type: Class
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDePimentaoVerdePicante
    union of: CoberturaDeJalapeno
    union of: CoberturaDeTomate
    union of: CoberturaDeCalabreza
subclass of: Restriction
  on property: hasCountryOfOrigin
  has value: America
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeJalapeno
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDePimentaoVerdePicante
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCalabreza
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate

CoberturaDeAnchovies
type: Class
subclass of: CoberturaDePeixe
disjoint with: CoberturaDeCamarao
disjoint with: CoberturaDeFrutosDoMarMistos

CoberturaDeArtichoke
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
subclass of: CoberturaDeVegetais
disjoint with: CoberturaDeCogumelo
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaDeLeek
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeCebola
disjoint with: CoberturaDeEspinafre

CoberturaDeAspargos
type: Class
subclass of: CoberturaDeVegetais
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaPetitPois

Cajun
type: Class
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaPeperonata
subclass of: Restriction
  on property: hasTopping
  some values from: MolhoTobascoPepper
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCamarao
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCebola
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: MolhoTobascoPepper
    union of: CoberturaPeperonata
    union of: CoberturaDeCebola
    union of: CoberturaDeCamarao
    union of: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
disjoint with: Cogumelo
disjoint with: SloppyGiuseppe
disjoint with: AmericanaPicante
disjoint with: Veneziana
disjoint with: PolloAdAstra
disjoint with: Caprina
disjoint with: Giardiniera
disjoint with: PizzaAberta
disjoint with: Siciliana
disjoint with: Margherita
disjoint with: Rosa
disjoint with: Americana
disjoint with: Parmense
disjoint with: CoberturaPrinceCarlo
disjoint with: QuatroQueijos
disjoint with: Napoletana
disjoint with: Soho
disjoint with: Capricciosa
disjoint with: Fiorentina
disjoint with: FrutosDoMar
disjoint with: LaReine

CoberturaDeCajun
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: Picante
subclass of: CoberturaDeErvas

CoberturaDeCaper
type: Class
subclass of: CoberturaDeVegetais
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaDeTomate
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaDeCogumelo
disjoint with: CoberturaDeLeek
disjoint with: CoberturaDeArtichoke
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeCebola
disjoint with: CoberturaDePimentao
disjoint with: CoberturaRocket
disjoint with: CoberturaDeAzeitona

Capricciosa
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCaper
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeAnchovies
    union of: CoberturaDePresunto
    union of: CoberturaPeperonata
    union of: CoberturaDeTomate
    union of: CoberturaDeAzeitona
    union of: CoberturaDeCaper
    union of: CoberturaDeMozzarella
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaPeperonata
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAnchovies
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDePresunto
disjoint with: AmericanaPicante
disjoint with: Soho
disjoint with: Americana
disjoint with: FrutosDoMar
disjoint with: Fiorentina
disjoint with: QuatroQueijos
disjoint with: Parmense
disjoint with: Rosa
disjoint with: Napoletana
disjoint with: Margherita
disjoint with: Veneziana
disjoint with: LaReine
disjoint with: PizzaAberta
disjoint with: SloppyGiuseppe
disjoint with: Giardiniera
disjoint with: Siciliana
disjoint with: PolloAdAstra

Caprina
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeQueijoDeCabra
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomateRessecadoAoSol
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeQueijoDeCabra
    union of: CoberturaDeTomateRessecadoAoSol
    union of: CoberturaDeTomate
    union of: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
disjoint with: Rosa
disjoint with: Siciliana
disjoint with: PolloAdAstra
disjoint with: Margherita
disjoint with: QuatroQueijos
disjoint with: PizzaAberta
disjoint with: LaReine
disjoint with: Veneziana
disjoint with: Americana
disjoint with: Napoletana
disjoint with: FrutosDoMar
disjoint with: Capricciosa
disjoint with: Parmense
disjoint with: Cogumelo
disjoint with: Fiorentina
disjoint with: CoberturaPrinceCarlo
disjoint with: Soho
disjoint with: SloppyGiuseppe
disjoint with: Giardiniera
disjoint with: AmericanaPicante

CoberturaDeQueijo
type: Class
subclass of: CoberturaDaPizza

PizzaComQueijo
type: Class
equivalent class: Class
  intersection of: Pizza
  intersection of: Restriction
    on property: hasTopping
    some values from: CoberturaDeQueijo
comment: Any pizza that has at least 1 cheese topping. @en

CoberturaDeQueijoComVegetais
type: Class
subclass of: CoberturaDeQueijo
subclass of: CoberturaDeVegetais
comment: This class will be inconsistent. This is because we have given it 2 disjoint parents, which means it could never have any members (as nothing can simultaneously be a CheeseTopping and a VegetableTopping). NB Called ProbeInconsistentTopping in the ProtegeOWL Tutorial. @en

CoberturaDeFrango
type: Class
subclass of: CoberturaDeCarne
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDePresunto
disjoint with: CoberturaDeBifePicante

Pais
type: Class
equivalent class: Class
  intersection of: DomainConcept
  intersection of: Class
    one of: America
    one of: Italy
    one of: Germany
    one of: England
    one of: France
comment: A class that is equivalent to the set of individuals that are described in the enumeration - ie Countries can only be either America, England, France, Germany or Italy and nothing else. Note that these individuals have been asserted to be allDifferent from each other. @en

BaseEspessa
type: Class
subclass of: BaseDaPizza

Fiorentina
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeEspinafre
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeParmesao
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeAzeitona
    union of: CoberturaDeTomate
    union of: CoberturaDeEspinafre
    union of: CoberturaDeParmesao
    union of: CoberturaDeAlho
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAlho
subclass of: PizzaComUmNome
disjoint with: Margherita
disjoint with: QuatroQueijos
disjoint with: AmericanaPicante
disjoint with: Rosa
disjoint with: SloppyGiuseppe
disjoint with: Veneziana
disjoint with: Napoletana
disjoint with: Giardiniera
disjoint with: PizzaAberta
disjoint with: Soho
disjoint with: FrutosDoMar
disjoint with: PolloAdAstra
disjoint with: Americana
disjoint with: Siciliana

CoberturaDePeixe
type: Class
subclass of: CoberturaDaPizza
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeQueijo

CoberturaQuatroQueijos
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
subclass of: CoberturaDeQueijo

QuatroQueijos
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCogumelo
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCaper
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCalabreza
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeCalabreza
    union of: CoberturaDeAnchovies
    union of: CoberturaDeCaper
    union of: CoberturaDeAzeitona
    union of: CoberturaDeCogumelo
    union of: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAnchovies
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
disjoint with: FrutosDoMar
disjoint with: Napoletana
disjoint with: AmericanaPicante
disjoint with: Caprina
disjoint with: Veneziana
disjoint with: Cogumelo
disjoint with: Giardiniera
disjoint with: Rosa
disjoint with: CoberturaPrinceCarlo
disjoint with: PolloAdAstra
disjoint with: LaReine
disjoint with: Parmense
disjoint with: Siciliana
disjoint with: Capricciosa
disjoint with: SloppyGiuseppe
disjoint with: Soho
disjoint with: PizzaAberta
disjoint with: Americana
disjoint with: Margherita
disjoint with: QuatroQueijos
disjoint with: Fiorentina

CoberturaDeFrutas
type: Class
subclass of: CoberturaDaPizza
disjoint with: CoberturaDeCarne
disjoint with: CoberturaDeErvas
disjoint with: CoberturaDePeixe
disjoint with: CoberturaDeQueijo

FrutosDoMar
type: Class
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeFrutosDoMarMistos
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeFrutosDoMarMistos
    union of: CoberturaDeTomate
    union of: CoberturaDeAlho
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAlho
disjoint with: Americana
disjoint with: Margherita
disjoint with: AmericanaPicante
disjoint with: Napoletana
disjoint with: Soho
disjoint with: PolloAdAstra
disjoint with: Rosa
disjoint with: Siciliana
disjoint with: QuatroQueijos
disjoint with: SloppyGiuseppe
disjoint with: PizzaAberta
disjoint with: Giardiniera
disjoint with: Veneziana

CoberturaDeAlho
type: Class
subclass of: CoberturaDeVegetais
subclass of: Restriction
  on property: hasSpiciness
  some values from: Media
disjoint with: CoberturaDeArtichoke
disjoint with: CoberturaDeCaper
disjoint with: CoberturaDeLeek
disjoint with: CoberturaDePimentao
disjoint with: CoberturaDeCebola
disjoint with: CoberturaDeCogumelo
disjoint with: CoberturaDeAzeitona
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaRocket
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeTomate

Giardiniera
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomateFatiado
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeLeek
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaPeperonata
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeTomate
    union of: CoberturaDeCogumelo
    union of: CoberturaDeLeek
    union of: CoberturaDeTomateFatiado
    union of: CoberturaPetitPois
    union of: CoberturaDeAzeitona
    union of: CoberturaPeperonata
    union of: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaPetitPois
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCogumelo
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
disjoint with: Americana
disjoint with: Rosa
disjoint with: QuatroQueijos
disjoint with: AmericanaPicante

CoberturaDeQueijoDeCabra
type: Class
subclass of: CoberturaDeQueijo
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeParmesao
disjoint with: CoberturaDeGorgonzola
disjoint with: CoberturaQuatroQueijos

CoberturaDeGorgonzola
type: Class
subclass of: CoberturaDeQueijo
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeParmesao
disjoint with: CoberturaQuatroQueijos

CoberturaDePimentaoVerde
type: Class
subclass of: CoberturaDePimentao

CoberturaDePresunto
type: Class
subclass of: CoberturaDeCarne
disjoint with: CoberturaDeBifePicante

CoberturaDeErvas
type: Class
subclass of: CoberturaDaPizza
disjoint with: CoberturaDeQueijo
disjoint with: CoberturaDeCarne
disjoint with: CoberturaDePeixe

Picante
type: Class
subclass of: Tempero

CoberturaDePimentaoVerdePicante
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: Picante
subclass of: CoberturaDePimentaoVerde

CoberturaDeBifePicante
type: Class
subclass of: CoberturaDeCarne
subclass of: Restriction
  on property: hasSpiciness
  some values from: Picante

Sorvete
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeFrutas
subclass of: Food
disjoint with: BaseDaPizza
disjoint with: CoberturaDaPizza
disjoint with: Pizza
comment: A class to demonstrate mistakes made with setting a property domain. The property hasTopping has a domain of Pizza. This means that the reasoner can infer that all individuals using the hasTopping property must be of type Pizza. Because of the restriction on this class, all members of IceCream must use the hasTopping property, and therefore must also be members of Pizza. However, Pizza and IceCream are disjoint, so this causes an inconsistency. If they were not disjoint, IceCream would be inferred to be a subclass of Pizza. @en

PizzaInteressante
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: hasTopping
    min cardinality: 3
  intersection of: Pizza
comment: Any pizza that has at least 3 toppings. Note that this is a cardinality constraint on the hasTopping property and NOT a qualified cardinality constraint (QCR). A QCR would specify from which class the members in this relationship must be. eg has at least 3 toppings from PizzaTopping. This is currently not supported in OWL. @en

CoberturaDeJalapeno
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: Picante
subclass of: CoberturaDePimentao
disjoint with: CoberturaDePimentaoVerde
disjoint with: CoberturaDePimentaoDoce
disjoint with: CoberturaPeperonata

LaReine
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDePresunto
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeAzeitona
    union of: CoberturaDeCogumelo
    union of: CoberturaDeTomate
    union of: CoberturaDePresunto
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCogumelo
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: PizzaComUmNome
disjoint with: QuatroQueijos
disjoint with: Fiorentina
disjoint with: Americana
disjoint with: PolloAdAstra
disjoint with: Giardiniera
disjoint with: SloppyGiuseppe
disjoint with: Soho
disjoint with: Rosa
disjoint with: Veneziana
disjoint with: Siciliana
disjoint with: FrutosDoMar
disjoint with: AmericanaPicante
disjoint with: PizzaAberta
disjoint with: Margherita
disjoint with: Napoletana

CoberturaDeLeek
type: Class
subclass of: CoberturaDeVegetais
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeEspinafre

Margherita
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeTomate
disjoint with: Americana
disjoint with: Giardiniera
disjoint with: Rosa
disjoint with: Siciliana
disjoint with: AmericanaPicante
disjoint with: PizzaAberta
disjoint with: SloppyGiuseppe
disjoint with: QuatroQueijos

CoberturaDeCarne
type: Class
subclass of: CoberturaDaPizza
disjoint with: CoberturaDeQueijo
disjoint with: CoberturaDePeixe

PizzaDeCarne
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: hasTopping
    some values from: CoberturaDeCarne
  intersection of: Pizza
comment: Any pizza that has at least one meat topping @en

Media
type: Class
subclass of: Tempero
disjoint with: Picante
disjoint with: NaoPicante

NaoPicante
type: Class
subclass of: Tempero
disjoint with: Picante

CoberturaDeFrutosDoMarMistos
type: Class
subclass of: CoberturaDePeixe

CoberturaDeMozzarella
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
subclass of: CoberturaDeQueijo
subclass of: Restriction
  on property: hasCountryOfOrigin
  has value: Italy
disjoint with: CoberturaDeParmesao
disjoint with: CoberturaQuatroQueijos
disjoint with: CoberturaDeQueijoDeCabra
disjoint with: CoberturaDeGorgonzola

Cogumelo
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCogumelo
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeCogumelo
    union of: CoberturaDeTomate
    union of: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: PizzaComUmNome
disjoint with: FrutosDoMar
disjoint with: Parmense
disjoint with: QuatroQueijos
disjoint with: AmericanaPicante
disjoint with: Giardiniera
disjoint with: SloppyGiuseppe
disjoint with: Siciliana
disjoint with: Capricciosa
disjoint with: PizzaAberta
disjoint with: CoberturaPrinceCarlo
disjoint with: Veneziana
disjoint with: Fiorentina
disjoint with: Americana
disjoint with: PolloAdAstra
disjoint with: Rosa
disjoint with: LaReine
disjoint with: Margherita
disjoint with: Soho
disjoint with: Napoletana

CoberturaDeCogumelo
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
subclass of: CoberturaDeVegetais
disjoint with: CoberturaDeLeek
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaPetitPois

PizzaComUmNome
type: Class
subclass of: Pizza
comment: A pizza that can be found on a pizza menu @en

Napoletana
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCaper
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeCaper
    union of: CoberturaDeAnchovies
    union of: CoberturaDeTomate
    union of: CoberturaDeAzeitona
    union of: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasCountryOfOrigin
  has value: Italy
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAnchovies
disjoint with: QuatroQueijos
disjoint with: SloppyGiuseppe
disjoint with: AmericanaPicante
disjoint with: PizzaAberta
disjoint with: Margherita
disjoint with: Americana
disjoint with: Rosa
disjoint with: Giardiniera
disjoint with: Siciliana

PizzaNaoVegetariana
type: Class
equivalent class: Class
  intersection of: Class
    complement of: PizzaVegetariana
  intersection of: Pizza
disjoint with: PizzaVegetariana
comment: Any Pizza that is not a VegetarianPizza @en

CoberturaDeCastanha
type: Class
subclass of: CoberturaDaPizza
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeFrutas
disjoint with: CoberturaDeErvas
disjoint with: CoberturaDeCarne
disjoint with: CoberturaDeVegetais
disjoint with: CoberturaDeQueijo
disjoint with: CoberturaDePeixe

CoberturaDeAzeitona
type: Class
subclass of: CoberturaDeVegetais
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaDeLeek
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeTomate
disjoint with: CoberturaDeArtichoke
disjoint with: CoberturaDeCebola
disjoint with: CoberturaDeCogumelo

CoberturaDeCebola
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: Media
subclass of: CoberturaDeVegetais
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaDeCogumelo
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaDeLeek

CoberturaDePrezuntoParma
type: Class
subclass of: CoberturaDePresunto
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante

Parmense
type: Class
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeParmesao
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDePresunto
    union of: CoberturaDeParmesao
    union of: CoberturaDeTomate
    union of: CoberturaDeAspargos
    union of: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDePresunto
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAspargos
disjoint with: SloppyGiuseppe
disjoint with: PizzaAberta
disjoint with: QuatroQueijos
disjoint with: LaReine
disjoint with: Veneziana
disjoint with: Giardiniera
disjoint with: Soho
disjoint with: Americana
disjoint with: Siciliana
disjoint with: AmericanaPicante
disjoint with: Rosa
disjoint with: Napoletana
disjoint with: Margherita
disjoint with: PolloAdAstra
disjoint with: Fiorentina
disjoint with: FrutosDoMar

CoberturaDeParmesao
type: Class
subclass of: CoberturaDeQueijo
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaQuatroQueijos

CoberturaPeperonata
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: Media
subclass of: CoberturaDePimentao
disjoint with: CoberturaDePimentaoDoce
disjoint with: CoberturaDePimentaoVerde

CoberturaDeCalabreza
type: Class
subclass of: CoberturaDeCarne
subclass of: Restriction
  on property: hasSpiciness
  some values from: Media
disjoint with: CoberturaDePresunto
disjoint with: CoberturaDeBifePicante
disjoint with: CoberturaDeFrango

CoberturaDePimentao
type: Class
subclass of: CoberturaDeVegetais
disjoint with: CoberturaDeArtichoke
disjoint with: CoberturaDeCogumelo
disjoint with: CoberturaRocket
disjoint with: CoberturaDeCebola
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaDeAzeitona
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeTomate
disjoint with: CoberturaDeLeek
disjoint with: CoberturaDeAspargos

CoberturaPetitPois
type: Class
subclass of: CoberturaDeVegetais
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante

CoberturaPineKernels
type: Class
subclass of: CoberturaDeCastanha

Pizza
type: Class
subclass of: Restriction
  on property: hasBase
  some values from: BaseDaPizza
subclass of: Food
disjoint with: CoberturaDaPizza

BaseDaPizza
type: Class
subclass of: Food
disjoint with: CoberturaDaPizza
disjoint with: Pizza

CoberturaDaPizza
type: Class
subclass of: Food

PolloAdAstra
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCajun
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCebolaVermelha
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDePimentaoDoce
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAlho
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeCebolaVermelha
    union of: CoberturaDeCajun
    union of: CoberturaDeTomate
    union of: CoberturaDePimentaoDoce
    union of: CoberturaDeFrango
    union of: CoberturaDeAlho
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeFrango
disjoint with: Siciliana
disjoint with: Margherita
disjoint with: Giardiniera
disjoint with: AmericanaPicante
disjoint with: Americana
disjoint with: Napoletana
disjoint with: QuatroQueijos
disjoint with: Rosa
disjoint with: PizzaAberta
disjoint with: SloppyGiuseppe

CoberturaDeCamarao
type: Class
subclass of: CoberturaDePeixe
disjoint with: CoberturaDeFrutosDoMarMistos

CoberturaPrinceCarlo
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeParmesao
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeLeek
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaRosemary
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeParmesao
    union of: CoberturaDeLeek
    union of: CoberturaRosemary
    union of: CoberturaDeTomate
    union of: CoberturaDeMozzarella
disjoint with: SloppyGiuseppe
disjoint with: Fiorentina
disjoint with: AmericanaPicante
disjoint with: QuatroQueijos
disjoint with: Giardiniera
disjoint with: Veneziana
disjoint with: Rosa
disjoint with: Siciliana
disjoint with: Parmense
disjoint with: Soho
disjoint with: PizzaAberta
disjoint with: Americana
disjoint with: LaReine
disjoint with: PolloAdAstra
disjoint with: Napoletana
disjoint with: FrutosDoMar
disjoint with: Capricciosa
disjoint with: Margherita

QuatroQueijos
type: Class
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeTomate
    union of: CoberturaQuatroQueijos
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaQuatroQueijos
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
disjoint with: AmericanaPicante

PizzaItalianaReal
type: Class
equivalent class: Class
  intersection of: Pizza
  intersection of: Restriction
    on property: hasCountryOfOrigin
    has value: Italy
subclass of: Restriction
  on property: hasBase
  all values from: BaseFinaEQuebradica
comment: This defined class has conditions that are part of the definition: ie any Pizza that has the country of origin, Italy is a RealItalianPizza. It also has conditions that merely describe the members - that all RealItalianPizzas must only have ThinAndCrispy bases. In essence, all pizzas from Italy must have ThinAndCrispy bases. @en

CoberturaDeCebolaVermelha
type: Class
subclass of: CoberturaDeCebola

CoberturaRocket
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: Media
subclass of: CoberturaDeVegetais
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaDeAzeitona
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaDeCogumelo
disjoint with: CoberturaDeCebola
disjoint with: CoberturaDeArtichoke
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeLeek
disjoint with: CoberturaDeTomate

Rosa
type: Class
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeTomate
    union of: CoberturaDeGorgonzola
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeGorgonzola
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
disjoint with: Americana
disjoint with: AmericanaPicante
disjoint with: QuatroQueijos

CoberturaRosemary
type: Class
subclass of: CoberturaDeErvas
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeCajun

CoberturaEmMolho
type: Class
subclass of: CoberturaDaPizza
disjoint with: CoberturaDeCastanha
disjoint with: CoberturaDeCarne
disjoint with: CoberturaDeQueijo
disjoint with: CoberturaDePeixe
disjoint with: CoberturaDeErvas
disjoint with: CoberturaDeFrutas
disjoint with: CoberturaDeVegetais

Siciliana
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDePresunto
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAnchovies
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeArtichoke
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAlho
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeAnchovies
    union of: CoberturaDeAzeitona
    union of: CoberturaDeArtichoke
    union of: CoberturaDeTomate
    union of: CoberturaDePresunto
    union of: CoberturaDeMozzarella
    union of: CoberturaDeAlho
disjoint with: Giardiniera
disjoint with: Rosa
disjoint with: PizzaAberta
disjoint with: Americana
disjoint with: SloppyGiuseppe
disjoint with: QuatroQueijos
disjoint with: AmericanaPicante

CoberturaDeTomateFatiado
type: Class
subclass of: CoberturaDeTomate
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeTomateRessecadoAoSol

SloppyGiuseppe
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDePimentaoVerde
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCebola
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeTomate
    union of: CoberturaDePimentaoVerde
    union of: CoberturaDeBifePicante
    union of: CoberturaDeCebola
    union of: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeBifePicante
disjoint with: QuatroQueijos
disjoint with: Giardiniera
disjoint with: AmericanaPicante
disjoint with: Rosa
disjoint with: Americana

Soho
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAlho
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeParmesao
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaRocket
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeAlho
    union of: CoberturaDeMozzarella
    union of: CoberturaRocket
    union of: CoberturaDeTomate
    union of: CoberturaDeAzeitona
    union of: CoberturaDeParmesao
disjoint with: SloppyGiuseppe
disjoint with: PizzaAberta
disjoint with: Americana
disjoint with: Napoletana
disjoint with: PolloAdAstra
disjoint with: AmericanaPicante
disjoint with: Giardiniera
disjoint with: Margherita
disjoint with: QuatroQueijos
disjoint with: Rosa
disjoint with: Siciliana

Tempero
type: Class
equivalent class: Class
  union of: Picante
  union of: NaoPicante
  union of: Media
subclass of: ValorDaParticao
comment: A ValuePartition that describes only values from Hot, Medium or Mild. NB Subclasses can themselves be divided up into further partitions. @en

PizzaTemperada
type: Class
equivalent class: Class
  intersection of: Pizza
  intersection of: Restriction
    on property: hasTopping
    some values from: CoberturaTemperada
comment: Any pizza that has a spicy topping is a SpicyPizza @en

PizzaTemperadaEquivalente
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: hasTopping
    some values from: Class
      intersection of: Restriction
        on property: hasSpiciness
        some values from: Picante
      intersection of: CoberturaDaPizza
  intersection of: Pizza
comment: An alternative definition for the SpicyPizza which does away with needing a definition of SpicyTopping and uses a slightly more complicated restriction: Pizzas that have at least one topping that is both a PizzaTopping and has spiciness hot are members of this class. @en

CoberturaTemperada
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: hasSpiciness
    some values from: Picante
  intersection of: CoberturaDaPizza
comment: Any pizza topping that has spiciness Hot @en

CoberturaDeEspinafre
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
subclass of: CoberturaDeVegetais
disjoint with: CoberturaDeAspargos
disjoint with: CoberturaPetitPois

CoberturaSultana
type: Class
subclass of: CoberturaDeFrutas
subclass of: Restriction
  on property: hasSpiciness
  some values from: Media

CoberturaDeTomateRessecadoAoSol
type: Class
subclass of: CoberturaDeTomate
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante

CoberturaDePimentaoDoce
type: Class
subclass of: CoberturaDePimentao
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDePimentaoVerde

BaseFinaEQuebradica
type: Class
subclass of: BaseDaPizza
disjoint with: BaseEspessa

MolhoTobascoPepper
type: Class
subclass of: Restriction
  on property: hasSpiciness
  some values from: Picante
subclass of: CoberturaEmMolho

CoberturaDeTomate
type: Class
subclass of: CoberturaDeVegetais
subclass of: Restriction
  on property: hasSpiciness
  some values from: NaoPicante
disjoint with: CoberturaDeLeek
disjoint with: CoberturaDeCogumelo
disjoint with: CoberturaDeArtichoke
disjoint with: CoberturaDeCebola
disjoint with: CoberturaDeEspinafre
disjoint with: CoberturaPetitPois
disjoint with: CoberturaDeAspargos

PizzaAberta
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: PizzaComUmNome
disjoint with: QuatroQueijos
disjoint with: Rosa
disjoint with: AmericanaPicante
disjoint with: Americana
disjoint with: Giardiniera
disjoint with: SloppyGiuseppe
comment: An unclosed Pizza cannot be inferred to be either a VegetarianPizza or a NonVegetarianPizza, because it might have other toppings.

ValorDaParticao
type: Class
comment: A ValuePartition is a pattern that describes a restricted set of classes from which a property can be associated. The parent class is used in restrictions, and the covering axiom means that only members of the subclasses may be used as values. The possible subclasses cannot be extended without updating the ValuePartition class.

CoberturaDeVegetais
type: Class
subclass of: CoberturaDaPizza
disjoint with: CoberturaDeCarne
disjoint with: CoberturaDeErvas
disjoint with: CoberturaDeFrutas
disjoint with: CoberturaDeQueijo
disjoint with: CoberturaDePeixe

PizzaVegetariana
type: Class
equivalent class: Class
  intersection of: Class
    complement of: Restriction
      on property: hasTopping
      some values from: CoberturaDeCarne
  intersection of: Pizza
  intersection of: Class
    complement of: Restriction
      on property: hasTopping
      some values from: CoberturaDePeixe
comment: Any pizza that does not have fish topping and does not have meat topping is a VegetarianPizza. Members of this class do not need to have any toppings at all. @en

PizzaVegetarianaEquivalente1
type: Class
equivalent class: Class
  intersection of: Pizza
  intersection of: Restriction
    on property: hasTopping
    all values from: CoberturaVegetariana
comment: Any pizza that only has vegetarian toppings or no toppings is a VegetarianPizzaEquiv1. Should be inferred to be equivalent to VegetarianPizzaEquiv2. Not equivalent to VegetarianPizza because PizzaTopping is not covering @en

PizzaVegetarianaEquivalente2
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: hasTopping
    all values from: Class
      union of: CoberturaEmMolho
      union of: CoberturaDeVegetais
      union of: CoberturaDeFrutas
      union of: CoberturaDeQueijo
      union of: CoberturaDeErvas
      union of: CoberturaDeCastanha
  intersection of: Pizza
comment: An alternative to VegetarianPizzaEquiv1 that does not require a definition of VegetarianTopping. Perhaps more difficult to maintain. Not equivalent to VegetarianPizza @en

CoberturaVegetariana
type: Class
equivalent class: Class
  intersection of: CoberturaDaPizza
  intersection of: Class
    union of: CoberturaEmMolho
    union of: CoberturaDeVegetais
    union of: CoberturaDeFrutas
    union of: CoberturaDeQueijo
    union of: CoberturaDeErvas
    union of: CoberturaDeCastanha
comment: An example of a covering axiom. VegetarianTopping is equivalent to the union of all toppings in the given axiom. VegetarianToppings can only be Cheese or Vegetable or....etc. @en

Veneziana
type: Class
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaPineKernels
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeMozzarella
subclass of: Restriction
  on property: hasTopping
  all values from: Class
    union of: CoberturaDeMozzarella
    union of: CoberturaDeCaper
    union of: CoberturaPineKernels
    union of: CoberturaDeAzeitona
    union of: CoberturaDeTomate
    union of: CoberturaSultana
    union of: CoberturaDeCebola
subclass of: PizzaComUmNome
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeAzeitona
subclass of: Restriction
  on property: hasCountryOfOrigin
  has value: Italy
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCebola
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeTomate
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaSultana
subclass of: Restriction
  on property: hasTopping
  some values from: CoberturaDeCaper
disjoint with: Giardiniera
disjoint with: Rosa
disjoint with: Margherita
disjoint with: Siciliana
disjoint with: PolloAdAstra
disjoint with: SloppyGiuseppe
disjoint with: PizzaAberta
disjoint with: QuatroQueijos
disjoint with: Napoletana
disjoint with: Americana
disjoint with: AmericanaPicante
disjoint with: Soho