<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:spin="http://spinrdf.org/spin#"
    xmlns:sp="http://spinrdf.org/sp#"
    xmlns:owlrl="http://topbraid.org/spin/owlrl#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:spif="http://spinrdf.org/spif#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:list="http://jena.hpl.hp.com/ARQ/list#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:spl="http://spinrdf.org/spl#"
  xml:base="http://topbraid.org/spin/owlrl">
  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://spinrdf.org/spin"/>
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0.9.7</owl:versionInfo>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A collection of rules specified by the OWL RL specification in SPIN format. The rules have been encoded as SPIN templates and can be attached to a root class (such as owl:Thing) to achieve OWL inferencing on ontologies that import this file. The file owlrl-all has been created as a convenient out of the box solution for cases where all OWL 2 RL rules shall be used.</rdfs:comment>
    <rdf:type rdf:resource="http://spinrdf.org/spin#LibraryOntology"/>
  </owl:Ontology>
  
  <!-- variables -->
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_s">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">s</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_p">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">p</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_o">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">o</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_x">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">x</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_y">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">y</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_z">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">z</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_s2">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">s2</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_p2">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">p2</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_o2">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">o2</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_c">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">c</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_y1">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">y1</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_y2">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">y2</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_x1">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">x1</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_x2">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">x2</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_p1">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">p1</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_c1">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">c1</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_c2">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">c2</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_c3">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">c3</sp:varName>
  </sp:Variable>
  
  <sp:Variable rdf:about="http://spinrdf.org/sp#_p3">
    <sp:varName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">p3</sp:varName>
  </sp:Variable>
  
  <!-- semantics of equality (eq-*) -->
  
  <spin:Template rdf:ID="eq-ref">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_s"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_o"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">eq-ref</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL eq-ref</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="eq-sym">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">eq-sym</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >OWL RL eq-sym</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="eq-trans">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_z"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_z"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
        >eq-trans</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL eq-trans</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="eq-rep-s">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s" />
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_s2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s2"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">eq-rep-s</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL eq-rep-s</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="eq-rep-p">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">eq-rep-p</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL eq-rep-p</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="eq-rep-o">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_o"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_s"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_o2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">eq-rep-o</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL eq-rep-o</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="eq-diff1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#differentFrom"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:nodeID="eqdiff1"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/spin#ConstraintViolation"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="eqdiff1"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationRoot"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="eqdiff1"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationPath"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="eqdiff1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
            <sp:object>Violates owl:differentFrom</sp:object>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">eq-diff1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL eq-diff1</rdfs:comment>
  </spin:Template>
  
  <!-- semantics of property axioms (prp-*) -->
  
  <!-- prp-ap not directly supported (axiomatic triples):

    owl:priorVersion rdf:type owl:AnnotationProperty .
		owl:backwardCompatibleWith rdf:type owl:AnnotationProperty .
		owl:incompatibleWith rdf:type owl:AnnotationProperty .
		owl:deprecated rdf:type owl:AnnotationProperty .
		owl:versionInfo rdf:type owl:AnnotationProperty .
		rdfs:isDefinedBy rdf:type owl:AnnotationProperty .
		rdfs:label rdf:type owl:AnnotationProperty .
		rdfs:comment rdf:type owl:AnnotationProperty .
		rdfs:seeAlso rdf:type owl:AnnotationProperty .  
  -->
  
  <spin:Template rdf:ID="prp-dom">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#domain"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-dom</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-dom</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-rng">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#range"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-rng</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-rng</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-fp">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y1"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y2"/>
          </rdf:Description>
          <sp:Filter>
            <sp:expression>
              <sp:ne>
                <sp:arg2 rdf:resource="http://spinrdf.org/sp#_y2"/>
                <sp:arg1 rdf:resource="http://spinrdf.org/sp#_y1"/>
              </sp:ne>
            </sp:expression>
          </sp:Filter>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-fp</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-fp</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-ifp">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x1"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x2"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
          <sp:Filter>
            <sp:expression>
              <sp:ne>
                <sp:arg2 rdf:resource="http://spinrdf.org/sp#_x2"/>
                <sp:arg1 rdf:resource="http://spinrdf.org/sp#_x1"/>
              </sp:ne>
            </sp:expression>
          </sp:Filter>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#sameAs"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-ifp</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-ifp</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-irp">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#IrreflexiveProperty"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:nodeID="prpirp"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/spin#ConstraintViolation"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prpirp"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationRoot"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prpirp"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationPath"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prpirp"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
            <sp:object>Irreflexive property</sp:object>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-irp</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-irp</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-symp">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-symp</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-symp</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-asyp">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#AsymmetricProperty"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:nodeID="prpasyp"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/spin#ConstraintViolation"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prpasyp"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationRoot"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prpasyp"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationPath"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prpasyp"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
            <sp:object>Antisymmetric property</sp:object>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-asyp</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-asyp</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-trp">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_z"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_z"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-trp</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-trp</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-spo1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-spo1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-spo1</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-eqp1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentProperty"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-eqp1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-eqp1</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-eqp2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentProperty"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-eqp2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-eqp2</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-pdw">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#propertyDisjointWith"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:nodeID="prppdw"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/spin#ConstraintViolation"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prppdw"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationRoot"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prppdw"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationPath"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p1"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="prppdw"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
            <sp:object>Property declared disjoint with</sp:object>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-pdw</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-pdw</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-inv1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#inverseOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-inv1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-inv1</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="prp-inv2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#inverseOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_y"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_y"/>
            <sp:predicate rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">prp-inv2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL prp-inv2</rdfs:comment>
  </spin:Template>
  
  <!-- semantics of classes (cls-*) -->
  
  <!-- cls-thing not directly supported (axiomatic triple):

    owl:Thing rdf:type owl:Class .
  -->
  
  <!-- cls-nothing not directly supported (axiomatic triple):

    owl:Nothing rdf:type owl:Class .
  -->
  
  <spin:Template rdf:ID="cls-nothing2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:nodeID="clsnothing2"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/spin#ConstraintViolation"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="clsnothing2"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationRoot"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="clsnothing2"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationPath"/>
            <sp:object rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="clsnothing2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
            <sp:object>Violates owl:Nothing membership</sp:object>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">cls-nothing2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL cls-nothing2</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="cls-com">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#complementOf"/>
            <sp:object  rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:nodeID="clscom"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/spin#ConstraintViolation"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="clscom"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationRoot"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="clscom"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
            <sp:object>Shared instance of complement classes</sp:object>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">cls-com</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL cls-com</rdfs:comment>
  </spin:Template>
  
  <!-- semantics of class axioms (cax-*) -->
  
  <spin:Template rdf:ID="cax-sco">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">cax-sco</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL cax-sco</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="cax-eqc1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentClass"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">cax-eqc1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL cax-eqc1</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="cax-eqc2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentClass"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">cax-eqc2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL cax-eqc2</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="cax-dw">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#disjointWith"/>
            <sp:object  rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_x"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:nodeID="caxdw"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://spinrdf.org/spin#ConstraintViolation"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="caxdw"/>
            <sp:predicate rdf:resource="http://spinrdf.org/spin#violationRoot"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_x"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:nodeID="caxdw"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
            <sp:object>Shared instance of disjoint classes</sp:object>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">cax-dw</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL cax-dw</rdfs:comment>
  </spin:Template>

  <!-- semantics of schema vocabulary (scm-*) -->

  <spin:Template rdf:ID="scm-cls">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentClass"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> 
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-cls</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-cls</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-sco">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-sco</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c3"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c3"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-sco</rdfs:comment>
      </sp:Construct>
    </spin:body>
  </spin:Template>

  <spin:Template rdf:ID="scm-eqc1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentClass"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-eqc1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-eqc1</rdfs:comment>
  </spin:Template>
  
    <spin:Template rdf:ID="scm-eqc2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentClass"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-eqc2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-eqc2</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-op">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentProperty"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-op</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-op</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-dp">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
            <sp:object rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentProperty"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-dp</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-dp</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-spo">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p3"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p3"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-spo</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-spo</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-eqp1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentProperty"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p1"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-eqp1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-eqp1</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-eqp2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p1"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2002/07/owl#equivalentProperty"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-eqp2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-eqp2</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-dom1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#domain"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#domain"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-dom1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-dom1</rdfs:comment>
  </spin:Template>

  <spin:Template rdf:ID="scm-dom2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#domain"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#domain"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-dom2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-dom2</rdfs:comment>
  </spin:Template>
  
  <spin:Template rdf:ID="scm-rng1">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#range"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c1"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_c1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#range"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c2"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-rng1</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-rng1</rdfs:comment>
  </spin:Template>

  <spin:Template rdf:ID="scm-rng2">
    <spin:body>
      <sp:Construct>
        <sp:where rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p2"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#range"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_p2"/>
          </rdf:Description>
        </sp:where>
        <sp:templates rdf:parseType="Collection">
          <rdf:Description>
            <sp:subject rdf:resource="http://spinrdf.org/sp#_p1"/>
            <sp:predicate rdf:resource="http://www.w3.org/2000/01/rdf-schema#range"/>
            <sp:object rdf:resource="http://spinrdf.org/sp#_c"/>
          </rdf:Description>
        </sp:templates>
        <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">scm-rng2</rdfs:comment>
      </sp:Construct>
    </spin:body>
    <rdfs:subClassOf rdf:resource="http://spinrdf.org/spin#Templates"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OWL RL scm-rng2</rdfs:comment>
  </spin:Template>
  
</rdf:RDF>

<!-- Created with a text editor -->
