Figure 1: A class with necessary and sufficient property.
Ontology(<http://nomagic.com/ontology/example-case/case-20> Declaration( Class(:CarManufacturer) ) Declaration( Class(:Manufacturer) ) Declaration( Class(:SteeringWheelManufacturer) ) Declaration( Class(:WindshieldManufacturer) ) Declaration( ObjectProperty(:hasContractWith) ) AnnotationAssertion(rdfs:label :CarManufacturer "Car Manufacturer"@en) EquivalentClasses( :CarManufacturer ObjectIntersectionOf( ObjectMinCardinality(1 :hasContractWith :SteeringWheelManufacturer) ObjectSomeValuesFrom(:hasContractWith :SteeringWheelManufacturer) ) ) EquivalentClasses( :CarManufacturer ObjectIntersectionOf( ObjectMinCardinality(1 :hasContractWith :WindshieldManufacturer) ObjectSomeValuesFrom(:hasContractWith :WindshieldManufacturer) ) ) SubClassOf(:CarManufacturer :Manufacturer) AnnotationAssertion(rdfs:label :Manufacturer "Manufacturer"@en) AnnotationAssertion(rdfs:label :SteeringWheelManufacturer "Steering Wheel Manufacturer"@en) SubClassOf(:SteeringWheelManufacturer :Manufacturer) AnnotationAssertion(rdfs:label :WindshieldManufacturer "Windshield Manufacturer"@en) SubClassOf(:WindshieldManufacturer :Manufacturer) AnnotationAssertion(rdfs:label :hasContractWith "has contract with"@en) ObjectPropertyDomain(:hasContractWith :Manufacturer) ObjectPropertyRange(:hasContractWith :Manufacturer) )
Related Pages: