<?xml version="1.0"?>
<rdf:RDF
    xmlns:parameter="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:Decision="http://www.ontology.se/examples/Decision.owl#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:informationrealization="http://www.ontologydesignpatterns.org/cp/owl/informationrealization.owl#"
    xmlns:situation="http://www.ontologydesignpatterns.org/cp/owl/situation.owl#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns="http://www.ontology.se/examples/DecisionCriteria.owl#"
  xml:base="http://www.ontology.se/examples/DecisionCriteria.owl">
  <owl:Ontology rdf:about="">
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Created with TopBraid Composer</owl:versionInfo>
    <owl:imports rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl"/>
    <owl:imports rdf:resource="http://www.ontology.se/examples/Decision.owl"/>
  </owl:Ontology>
  <owl:Class rdf:ID="CriteriaParameter">
    <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#Parameter"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A parameter that can be applied as a criteria for selection options in a decision process. For instance, if we want to make a decision from which shop to buy a certain product the driving distance may be important to us, hence, "maximum driving distance" may be a parameter, e.g. with a value of 10 miles.</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:ID="criteriaParameterDataValue"/>
        </owl:onProperty>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
        >0</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Criteria parameter</rdfs:label>
  </owl:Class>
  <owl:Class rdf:ID="CriteriaWeight">
    <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#Parameter"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The weight, i.e. "importance", of a certain criteria for a certain set of options in a decision process. For instance, when deciding on where to buy a certain product, driving distance may have a "high" weight for shops from a certain chain, while it has a "low" weight for shops from another chain, which is my favorite set of shops.</rdfs:comment>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Criteria weight</rdfs:label>
  </owl:Class>
  <owl:Class rdf:ID="Criteria">
    <rdfs:subClassOf>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Restriction>
            <owl:someValuesFrom rdf:resource="http://www.ontology.se/examples/Decision.owl#Option"/>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="criteriaForOption"/>
            </owl:onProperty>
          </owl:Restriction>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="hasCriteriaParameter"/>
            </owl:onProperty>
            <owl:someValuesFrom rdf:resource="#CriteriaParameter"/>
          </owl:Restriction>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="isCriteriaOf"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <rdf:Description rdf:about="http://www.ontology.se/examples/Decision.owl#Decision">
                <rdfs:subClassOf>
                  <owl:Restriction>
                    <owl:onProperty>
                      <owl:ObjectProperty rdf:ID="hasCriteria"/>
                    </owl:onProperty>
                    <owl:someValuesFrom rdf:resource="#Criteria"/>
                  </owl:Restriction>
                </rdfs:subClassOf>
              </rdf:Description>
            </owl:someValuesFrom>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#Concept"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A criteria is something by which to evaluate options, when making a decision. For instance, if a decision is to be made from which shop to buy a certain product then one criteria may be the availability of the product, and additional criteria may include the price and the driving distance to the shop. A criteria represents the n-ary relation between a decision, a set of options, one or more parameters, e.g. short driving distance, and a weight describing the importance of that criteria in the decision process.</rdfs:comment>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Criteria</rdfs:label>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="isWeightOfCriteria">
    <rdfs:domain rdf:resource="#CriteriaWeight"/>
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#isParameterFor"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >is weight of criteria</rdfs:label>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A property indicating the criteria this weight is used for.</rdfs:comment>
    <rdfs:range rdf:resource="#Criteria"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#hasCriteria">
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >has criteria</rdfs:label>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A property indicating the criteria used for making this decision.</rdfs:comment>
    <rdfs:range rdf:resource="#Criteria"/>
    <rdfs:domain rdf:resource="http://www.ontology.se/examples/Decision.owl#Decision"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="isCriteriaParameterOf">
    <owl:inverseOf>
      <owl:ObjectProperty rdf:about="#hasCriteriaParameter"/>
    </owl:inverseOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >is criteria parameter of</rdfs:label>
    <rdfs:domain rdf:resource="#CriteriaParameter"/>
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#isParameterFor"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A property indicating the criteria this parameter is used for.</rdfs:comment>
    <rdfs:range rdf:resource="#Criteria"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#hasCriteriaParameter">
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#hasParameter"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >has criteria parameter</rdfs:label>
    <rdfs:domain rdf:resource="#Criteria"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A property indicating the parameter of a specific criteria.</rdfs:comment>
    <rdfs:range rdf:resource="#CriteriaParameter"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasCriteriaWeight">
    <rdfs:range rdf:resource="#CriteriaWeight"/>
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#hasParameter"/>
    <rdfs:domain rdf:resource="#Criteria"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >has criteria weight</rdfs:label>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A property indicating the weight of a criteria.</rdfs:comment>
    <owl:inverseOf rdf:resource="#isWeightOfCriteria"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#criteriaForOption">
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="optionHasCriteria"/>
    </owl:inverseOf>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >criteria for option</rdfs:label>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Property indicating the set of options a particular criteria is applied to.</rdfs:comment>
    <rdfs:domain rdf:resource="#Criteria"/>
    <rdfs:range rdf:resource="http://www.ontology.se/examples/Decision.owl#Option"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#optionHasCriteria">
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >option has criteria</rdfs:label>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A property indicating what criteria is being used to assess this option.</rdfs:comment>
    <rdfs:range rdf:resource="#Criteria"/>
    <rdfs:domain rdf:resource="http://www.ontology.se/examples/Decision.owl#Option"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#isCriteriaOf">
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/situation.owl#hasSetting"/>
    <rdfs:domain rdf:resource="#Criteria"/>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >is criteria of</rdfs:label>
    <owl:inverseOf rdf:resource="#hasCriteria"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A property indicating the decision setting where this criteria is used.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.ontology.se/examples/Decision.owl#Decision"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:about="#criteriaParameterDataValue">
    <rdfs:subPropertyOf rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/parameter.owl#hasParameterDataValue"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A datatype property that holds parameter values used for some criteria involved in a decision, e.g. allowing us to say that the maximum driving distance should be below 10 miles, or that a person's age should be above 18.</rdfs:comment>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >criteria parameter data value</rdfs:label>
  </owl:DatatypeProperty>
</rdf:RDF>

<!-- Created with TopBraid Composer -->
