<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:representation="http://www.swop-project.eu/ontologies/pmo/representation.owl#"
    xmlns:operation="http://www.swop-project.eu/ontologies/pmo/operation.owl#"
    xmlns:window="http://www.swop-project.eu/ontologies/d23/window.owl#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rule="http://www.swop-project.eu/ontologies/pmo/rule.owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:product="http://www.swop-project.eu/ontologies/pmo/product.owl#"
    xmlns:cuboid="http://www.swop-project.eu/ontologies/d23/cuboid.owl#"
    xmlns:owl11="http://www.w3.org/2006/12/owl11#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xml:base="http://www.swop-project.eu/ontologies/d23/window.owl">
  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://www.swop-project.eu/ontologies/d23/cuboid.owl"/>
  </owl:Ontology>
  <owl:Class rdf:ID="Window">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:ID="windowHeight"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:ID="windowWidth"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:minCardinality>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:ID="windowDepth"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:minCardinality>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:ID="windowColour"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >0</owl:maxCardinality>
        <owl:onProperty rdf:resource="http://www.swop-project.eu/ontologies/pmo/product.owl#hasPart_directly"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <product:representation>
      <rule:IfThenElse rdf:ID="IfThenElse_Blue">
        <rule:domain_II>
          <rule:IfThenElse rdf:ID="IfThenElse_Green">
            <rule:domain_II>
              <rule:IfThenElse rdf:ID="IfThenElse_Red">
                <rule:condition>
                  <operation:Comparison rdf:ID="Comparison_Red">
                    <operation:comparitor rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
                    >==</operation:comparitor>
                    <operation:domain_II>
                      <operation:Value rdf:ID="Value_StrRed">
                        <operation:value rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
                        >red</operation:value>
                        <operation:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
                      </operation:Value>
                    </operation:domain_II>
                    <operation:domain_I>
                      <owl:DatatypeProperty rdf:about="#windowColour"/>
                    </operation:domain_I>
                  </operation:Comparison>
                </rule:condition>
                <rule:domain_I>
                  <cuboid:Cuboid rdf:ID="redWindow">
                    <cuboid:width>
                      <owl:DatatypeProperty rdf:about="#windowWidth"/>
                    </cuboid:width>
                    <cuboid:depth>
                      <owl:DatatypeProperty rdf:about="#windowDepth"/>
                    </cuboid:depth>
                    <cuboid:height>
                      <owl:DatatypeProperty rdf:about="#windowHeight"/>
                    </cuboid:height>
                    <representation:material>
                      <representation:Material rdf:ID="MaterialRed">
                        <representation:ambientColor>
                          <representation:Color rdf:ID="ColorRed">
                            <representation:redComponent>
                              <operation:Value rdf:ID="ValueOne">
                                <operation:value rdf:datatype=
                                "http://www.w3.org/2001/XMLSchema#float"
                                >1.0</operation:value>
                              </operation:Value>
                            </representation:redComponent>
                          </representation:Color>
                        </representation:ambientColor>
                      </representation:Material>
                    </representation:material>
                  </cuboid:Cuboid>
                </rule:domain_I>
              </rule:IfThenElse>
            </rule:domain_II>
            <rule:condition>
              <operation:Comparison rdf:ID="Comparison_Green">
                <operation:comparitor rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
                >==</operation:comparitor>
                <operation:domain_II>
                  <operation:Value rdf:ID="Value_StrGreen">
                    <operation:value rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
                    >green</operation:value>
                    <operation:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
                  </operation:Value>
                </operation:domain_II>
                <operation:domain_I>
                  <owl:DatatypeProperty rdf:about="#windowColour"/>
                </operation:domain_I>
              </operation:Comparison>
            </rule:condition>
            <rule:domain_I>
              <cuboid:Cuboid rdf:ID="greenWindow">
                <representation:material>
                  <representation:Material rdf:ID="MaterialGreen">
                    <representation:ambientColor>
                      <representation:Color rdf:ID="ColorGreen">
                        <representation:greenComponent rdf:resource="#ValueOne"/>
                      </representation:Color>
                    </representation:ambientColor>
                  </representation:Material>
                </representation:material>
                <cuboid:depth>
                  <owl:DatatypeProperty rdf:about="#windowDepth"/>
                </cuboid:depth>
                <cuboid:height>
                  <owl:DatatypeProperty rdf:about="#windowHeight"/>
                </cuboid:height>
                <cuboid:width>
                  <owl:DatatypeProperty rdf:about="#windowWidth"/>
                </cuboid:width>
              </cuboid:Cuboid>
            </rule:domain_I>
          </rule:IfThenElse>
        </rule:domain_II>
        <rule:condition>
          <operation:Comparison rdf:ID="Comparison_Blue">
            <operation:domain_II>
              <operation:Value rdf:ID="Value_StrBlue">
                <operation:value rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
                >blue</operation:value>
                <operation:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
              </operation:Value>
            </operation:domain_II>
            <operation:comparitor rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
            >==</operation:comparitor>
            <operation:domain_I>
              <owl:DatatypeProperty rdf:about="#windowColour"/>
            </operation:domain_I>
          </operation:Comparison>
        </rule:condition>
        <rule:domain_I>
          <cuboid:Cuboid rdf:ID="blueWindow">
            <cuboid:width>
              <owl:DatatypeProperty rdf:about="#windowWidth"/>
            </cuboid:width>
            <cuboid:depth>
              <owl:DatatypeProperty rdf:about="#windowDepth"/>
            </cuboid:depth>
            <cuboid:height>
              <owl:DatatypeProperty rdf:about="#windowHeight"/>
            </cuboid:height>
            <representation:material>
              <representation:Material rdf:ID="MaterialBlue">
                <representation:ambientColor>
                  <representation:Color rdf:ID="ColorBlue">
                    <representation:blueComponent rdf:resource="#ValueOne"/>
                  </representation:Color>
                </representation:ambientColor>
              </representation:Material>
            </representation:material>
          </cuboid:Cuboid>
        </rule:domain_I>
      </rule:IfThenElse>
    </product:representation>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="#windowDepth"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.swop-project.eu/ontologies/pmo/product.owl#Product"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="#windowHeight"/>
        </owl:onProperty>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="#windowWidth"/>
        </owl:onProperty>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="#windowColour"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:DatatypeProperty rdf:about="#windowHeight">
    <product:defaultValue rdf:datatype="http://www.w3.org/2001/XMLSchema#float"
    >400.0</product:defaultValue>
    <rdfs:domain rdf:resource="#Window"/>
    <product:unit rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >mm</product:unit>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >windowHeight</rdfs:label>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:about="#windowWidth">
    <product:unit rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >mm</product:unit>
    <rdfs:domain rdf:resource="#Window"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/>
    <product:defaultValue rdf:datatype="http://www.w3.org/2001/XMLSchema#float"
    >1000.0</product:defaultValue>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >windowWidth</rdfs:label>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:about="#windowDepth">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/>
    <rdfs:domain rdf:resource="#Window"/>
    <product:unit rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >mm</product:unit>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >windowDepth</rdfs:label>
    <product:defaultValue rdf:datatype="http://www.w3.org/2001/XMLSchema#float"
    >200</product:defaultValue>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:about="#windowColour">
    <product:unit rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    ></product:unit>
    <product:defaultValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >red</product:defaultValue>
    <rdfs:range>
      <owl:DataRange>
        <owl:oneOf rdf:parseType="Resource">
          <rdf:rest rdf:parseType="Resource">
            <rdf:rest rdf:parseType="Resource">
              <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
              <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
              >green</rdf:first>
            </rdf:rest>
            <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
            >blue</rdf:first>
          </rdf:rest>
          <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
          >red</rdf:first>
        </owl:oneOf>
      </owl:DataRange>
    </rdfs:range>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >windowColour</rdfs:label>
    <rdfs:domain rdf:resource="#Window"/>
  </owl:DatatypeProperty>
  <rule:Assignment rdf:ID="Assignment_1">
    <rule:rhs rdf:resource="#Value_StrBlue"/>
    <rule:parameter rdf:resource="#windowColour"/>
  </rule:Assignment>
</rdf:RDF>
