pizza.owl:IceCream leaf node


URI

http://www.co-ode.org/ontologies/pizza/pizza.owl#IceCream

Label

IceCream

Description

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.

Usage

Instances of pizza.owl:IceCream can have the following properties:

PROPERTYTYPEDESCRIPTIONRANGE

Implementation

@prefix : <http://www.co-ode.org/ontologies/pizza/pizza.owl#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

:IceCream a owl:Class ;
    rdfs:label "IceCream"@en,
        "Sorvete"@pt ;
    rdfs: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 ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty :hasTopping ;
            owl:someValuesFrom :FruitTopping ],
        :Food ;
    skos:prefLabel "Ice Cream"@en .