# baseURI: http://www.tno.nl/car
# imports: http://www.tno.nl/cmo

@prefix :        <http://www.tno.nl/car#> .
@prefix cmo:     <http://www.tno.nl/cmo#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://www.tno.nl/car>
      rdf:type owl:Ontology ;
      owl:imports <http://www.tno.nl/cmo> ;
      owl:versionInfo "Created with TopBraid Composer"^^xsd:string .

:Body
      rdf:type owl:Class ;
      rdfs:subClassOf owl:Thing .

:Body_1
      rdf:type :Body .

:Bolt
      rdf:type owl:Class ;
      rdfs:subClassOf owl:Thing .

:Bolt_1-1
      rdf:type :Bolt .

:Bolt_1-2
      rdf:type :Bolt .

:Bolt_1-3
      rdf:type :Bolt .

:Bolt_1-4
      rdf:type :Bolt .

:Bolt_1-5
      rdf:type :Bolt .

:Car  rdf:type owl:Class ;
      rdfs:subClassOf owl:Thing ;
      rdfs:subClassOf
              [ rdf:type owl:Restriction ;
                owl:cardinality "4"^^xsd:nonNegativeInteger ;
                owl:onProperty cmo:hasWheel
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Restriction ;
                owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
                owl:onProperty cmo:hasNavigationSystem
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Restriction ;
                owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
                owl:onProperty cmo:hasBody
              ] ;
      rdfs:subClassOf
              [ rdf:type owl:Restriction ;
                owl:minCardinality "1"^^xsd:nonNegativeInteger ;
                owl:onProperty cmo:hasBody
              ] .

:MyCar
      rdf:type :Car ;
      :brand  "Toyota"^^xsd:string ;
      :hasBody :Body_1 ;
      :hasNavigationSystem
              :NavigationSystem_1 ;
      cmo:hasWheel :Wheel_1 , :Wheel_2 , :Wheel_3 , :Wheel_4 .

:NavigationSystem
      rdf:type owl:Class ;
      rdfs:subClassOf owl:Thing .

:NavigationSystem_1
      rdf:type :NavigationSystem .

:Wheel
      rdf:type owl:Class ;
      rdfs:subClassOf owl:Thing ;
      rdfs:subClassOf
              [ rdf:type owl:Restriction ;
                owl:cardinality "5"^^xsd:nonNegativeInteger ;
                owl:onProperty cmo:hasBolt
              ] .

:Wheel_1
      rdf:type :Wheel ;
      :diameter "0.2"^^<http://qudt.org/1.1/vocab/unit#Meter> ;
      :hasBolt :Bolt_1-1 , :Bolt_1-2 , :Bolt_1-3 , :Bolt_1-4 , :Bolt_1-5 .

:Wheel_2
      rdf:type :Wheel ;
      :diameter "0.2"^^<http://qudt.org/1.1/vocab/unit#Meter> .

:Wheel_3
      rdf:type :Wheel ;
      :diameter "0.2"^^<http://qudt.org/1.1/vocab/unit#Meter> .

:Wheel_4
      rdf:type :Wheel ;
      :diameter "0.2"^^<http://qudt.org/1.1/vocab/unit#Meter> .

:brand
      rdf:type owl:DatatypeProperty ;
      rdfs:domain :Car ;
      rdfs:range xsd:string .

:diameter
      rdf:type owl:DatatypeProperty ;
      rdfs:domain :Wheel ;
      rdfs:range <http://qudt.org/1.1/vocab/unit#Meter> .

:hasBody
      rdf:type owl:ObjectProperty ;
      rdfs:range :Body ;
      rdfs:subPropertyOf cmo:hasPart .

:hasBolt
      rdf:type owl:ObjectProperty ;
      rdfs:range :Bolt ;
      rdfs:subPropertyOf cmo:hasPart .

:hasNavigationSystem
      rdf:type owl:ObjectProperty ;
      rdfs:range :NavigationSystem ;
      rdfs:subPropertyOf cmo:hasPart .

:hasWheel
      rdf:type owl:ObjectProperty ;
      rdfs:range :Wheel ;
      rdfs:subPropertyOf cmo:hasPart .
