Lisez-moi S.V.P. 
précédent  suivant  introduction  table des matières  index

Les jeux d'essais du langage d'ontologie Web OWL

7.3.6. Les tests de cardinalité étendue


Sommaire


7.3.6. Les tests de cardinalité étendue

DL Full Test d'inférence positive : 901
Description : (informatif) <description-logic/Manifest901#test>
Cette inférence peut être répétée pour trois nombres naturels i, j, k quelconques tel que i+j >= k. Dans cet exemple, on a choisi 2, 3 et 5.
Le format N3 est informatif.
DL Prémisses : <description-logic/premises901>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/premises901" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DL Conclusions : <description-logic/conclusions901>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/description-logic/premises901#"
    xmlns:second="http://www.w3.org/2002/03owlt/description-logic/conclusions901#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/conclusions901" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises901#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >2</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises901#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >3</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises901#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >5</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "3"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "5"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

DL Full Test d'inférence négative : 902
Description : (informatif) <description-logic/Manifest902#test>
Cette non-inférence peut être répétée pour trois nombres naturels i, j, k quelconques tel que i+j <= k. Dans cet exemple, on a choisi 2, 3 et 6.
Le format N3 est informatif.
DL Prémisses : <description-logic/premises902>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/premises902" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DL Conclusions : <description-logic/nonconclusions902>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/nonconclusions902" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises902#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >2</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises902#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >3</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises902#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >6</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "3"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "6"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

DL Full Test d'inférence positive : 903
Description : (informatif) <description-logic/Manifest903#test>
Cette inférence peut être répétée pour trois nombres naturels i, j, k quelconques tel que i+j >= k. Dans cet exemple, on a choisi 200, 300 et 500.
Le format N3 est informatif.
DL Prémisses : <description-logic/premises903>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/premises903" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DL Conclusions : <description-logic/conclusions903>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/description-logic/premises903#"
    xmlns:second="http://www.w3.org/2002/03owlt/description-logic/conclusions903#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/conclusions903" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises903#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >200</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises903#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >300</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises903#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >500</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "200"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "300"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "500"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

DL Full Test d'inférence négative : 904
Description : (informatif) <description-logic/Manifest904#test>
Cette non-inférence peut être répétée pour trois nombres naturels i, j, k quelconques tel que i+j <= k. Dans cet exemple, on a choisi 200, 300 et 600.
Le format N3 est informatif.
DL Prémisses : <description-logic/premises904>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/premises904" >

  <owl:ObjectProperty rdf:ID="r"/>
  <owl:ObjectProperty rdf:ID="p">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="A"/>
    </rdfs:range>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="q">
    <rdfs:subPropertyOf rdf:resource="#r"/>
    <rdfs:range>
      <owl:Class rdf:ID="B"/>
    </rdfs:range>
  </owl:ObjectProperty>
  <owl:Class rdf:about="#A">
    <owl:disjointWith rdf:resource="#B"/>
  </owl:Class>

</rdf:RDF>
first:r rdf:type owl:ObjectProperty .
first:p rdf:type owl:ObjectProperty .
first:p rdfs:subPropertyOf first:r .
first:A rdf:type owl:Class .
first:p rdfs:range first:A .
first:q rdf:type owl:ObjectProperty .
first:q rdfs:subPropertyOf first:r .
first:B rdf:type owl:Class .
first:q rdfs:range first:B .
first:A rdf:type owl:Class .
first:A owl:disjointWith first:B .
DL Conclusions : <description-logic/nonconclusions904>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/nonconclusions904" >

  <owl:Class>
    <owl:intersectionOf rdf:parseType="Collection">
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises904#p"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >200</owl:minCardinality>
       </owl:Restriction>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises904#q"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >300</owl:minCardinality>
       </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
       <owl:Restriction>
          <owl:onProperty>
            <owl:ObjectProperty rdf:about="premises904#r"/>
          </owl:onProperty>
          <owl:minCardinality rdf:datatype=
"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
          >600</owl:minCardinality>
       </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:minCardinality "200"^^xsd:nonNegativeInteger  .
_:e rdf:type owl:Restriction .
first:q rdf:type owl:ObjectProperty .
_:e owl:onProperty first:q .
_:e owl:minCardinality "300"^^xsd:nonNegativeInteger  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:a owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
first:r rdf:type owl:ObjectProperty .
_:k owl:onProperty first:r .
_:k owl:minCardinality "600"^^xsd:nonNegativeInteger  .
_:a rdfs:subClassOf _:k .

DL Full(EC) Document cohérent. 905
Description : (informatif) <description-logic/Manifest905#test>
Ce test montre une multiplication d'entiers dans OWL DL.
N vaut "2", M vaut "3" et N fois M vaut "6".
Le format N3 est informatif.
DL Cohérent : <description-logic/consistent905>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/consistent905" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >2</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >6</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >3</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "2"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "6"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "3"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .

DL Full(EC) Document cohérent. 906
Description : (informatif) <description-logic/Manifest906#test>
Ce test montre une multiplication d'entiers dans OWL DL.
N vaut "20", M vaut "30" et N fois M vaut "600".
Le format N3 est informatif.
DL Cohérent : <description-logic/consistent906>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/consistent906" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >20</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >600</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >30</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "20"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "600"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "30"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .

DL Full(EC) Document cohérent. 907
Description : (informatif) <description-logic/Manifest907#test>
Ce test montre une multiplication d'entiers dans OWL DL.
N vaut "200", M vaut "300" et N fois M vaut "60000".
Le format N3 est informatif.
DL Cohérent : <description-logic/consistent907>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/consistent907" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >200</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >60000</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >300</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "200"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "60000"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "300"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .

DL Full Document cohérent. 908
Description : (informatif) <description-logic/Manifest908#test>
Ce test montre une multiplication d'entiers dans OWL DL, en interaction avec l'infini.
N fois l'infini vaut 2 fois l'infini, M fois l'infini vaut 3 fois l'infini, N fois M fois l'infini vaut 5 fois l'infini.
Le format N3 est informatif.
DL Cohérent : <description-logic/consistent908>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/consistent908" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#infinite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#infinite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="infinite">
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >2</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >5</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#infinite"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >3</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#infinite"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:infinite .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:infinite .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:infinite rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:invP-1-to-N .
_:a owl:cardinality "2"^^xsd:integer  .
first:infinite owl:equivalentClass _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invR-N-times-M-to-1 .
_:c owl:cardinality "5"^^xsd:integer  .
first:infinite owl:equivalentClass _:c .
first:cardinality-N rdf:type owl:Class .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:p-N-to-1 .
_:e owl:someValuesFrom first:infinite .
first:cardinality-N owl:equivalentClass _:e .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:invQ-1-to-M .
_:g owl:cardinality "3"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:g .
first:cardinality-N-times-M rdf:type owl:Class .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:q-M-to-1 .
_:i owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:r-N-times-M-to-1 .
_:k owl:someValuesFrom first:infinite .
first:cardinality-N-times-M owl:equivalentClass _:k .

DL Full Document incohérent. 909
Description : (informatif) <description-logic/Manifest909#test>
Ce test montre une multiplication d'entiers dans OWL DL.
Pour un K fini, N fois K vaut 2 fois K. M fois K vaut 3 fois K. N fois M fois K ne vaut pas 5 fois K.
Le format N3 est informatif.
DL Incohérent : <description-logic/inconsistent909>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/inconsistent909" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#finite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#finite" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
   <owl:FunctionalProperty rdf:ID="f-K-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invF-1-to-K" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#finite" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#f-K-to-1" />

   <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invF-1-to-K"/>
          <owl:maxCardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >1000000000</owl:maxCardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="finite">
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >2</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >5</owl:cardinality>

       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#f-K-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>

        </owl:Restriction>
      </owl:equivalentClass>


    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#finite"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >3</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#finite"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:finite .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:finite .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:f-K-to-1 rdf:type owl:FunctionalProperty .
first:invF-1-to-K rdf:type owl:ObjectProperty .
first:f-K-to-1 owl:inverseOf first:invF-1-to-K .
first:f-K-to-1 rdfs:domain first:finite .
first:f-K-to-1 rdfs:range first:only-d .
first:f-K-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invF-1-to-K .
_:c owl:maxCardinality "1000000000"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
first:finite rdf:type owl:Class .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invP-1-to-N .
_:e owl:cardinality "2"^^xsd:integer  .
first:finite owl:equivalentClass _:e .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:invR-N-times-M-to-1 .
_:g owl:cardinality "5"^^xsd:integer  .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:f-K-to-1 .
_:i owl:someValuesFrom first:only-d .
_:g owl:equivalentClass _:i .
first:finite owl:equivalentClass _:g .
first:cardinality-N rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:p-N-to-1 .
_:k owl:someValuesFrom first:finite .
first:cardinality-N owl:equivalentClass _:k .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:invQ-1-to-M .
_:m owl:cardinality "3"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:m .
first:cardinality-N-times-M rdf:type owl:Class .
_:o rdf:type owl:Restriction .
_:o owl:onProperty first:q-M-to-1 .
_:o owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:o .
first:cardinality-N-times-M rdf:type owl:Class .
_:q rdf:type owl:Restriction .
_:q owl:onProperty first:r-N-times-M-to-1 .
_:q owl:someValuesFrom first:finite .
first:cardinality-N-times-M owl:equivalentClass _:q .

DL Full(EC) Document incohérent. 910
Description : (informatif) <description-logic/Manifest910#test>
Ce test montre une multiplication d'entiers dans OWL DL.
N vaut "20". M vaut "30". N fois M ne vaut pas "601".
Le format N3 est informatif.
DL Incohérent : <description-logic/inconsistent910>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/description-logic/inconsistent910" >

   <owl:FunctionalProperty rdf:ID="p-N-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty rdf:ID="invP-1-to-N" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#p-N-to-1" />

   <owl:FunctionalProperty rdf:ID="q-M-to-1" >
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invQ-1-to-M" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#cardinality-N" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#q-M-to-1" />

   <owl:FunctionalProperty rdf:ID="r-N-times-M-to-1">
     <owl:inverseOf>
        <owl:ObjectProperty  rdf:ID="invR-N-times-M-to-1" />
     </owl:inverseOf>
     <rdfs:domain rdf:resource="#cardinality-N-times-M" />
     <rdfs:range rdf:resource="#only-d" />
   </owl:FunctionalProperty>
   <owl:ObjectProperty rdf:about="#r-N-times-M-to-1"/>
  
    <owl:Class rdf:ID="only-d">
      <owl:oneOf rdf:parseType="Collection">
         <owl:Thing rdf:ID="d"/>
      </owl:oneOf>
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#invP-1-to-N"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >20</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>

      <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#invR-N-times-M-to-1"/>
          <owl:cardinality rdf:datatype=
            "http://www.w3.org/2001/XMLSchema#integer"
           >601</owl:cardinality>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N">
       <owl:equivalentClass>
         <owl:Restriction>
           <owl:onProperty rdf:resource="#p-N-to-1"/>
           <owl:someValuesFrom rdf:resource="#only-d"/>
         </owl:Restriction>
       </owl:equivalentClass>
       <owl:equivalentClass>
         <owl:Restriction>
             <owl:onProperty rdf:resource="#invQ-1-to-M"/>
             <owl:cardinality rdf:datatype=
               "http://www.w3.org/2001/XMLSchema#integer"
              >30</owl:cardinality>
         </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:ID="cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#q-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#cardinality-N"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


    <owl:Class rdf:about="#cardinality-N-times-M">
       <owl:equivalentClass>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#r-N-times-M-to-1"/>
            <owl:someValuesFrom rdf:resource="#only-d"/>
          </owl:Restriction>
       </owl:equivalentClass>
    </owl:Class>


</rdf:RDF>
first:p-N-to-1 rdf:type owl:FunctionalProperty .
first:invP-1-to-N rdf:type owl:ObjectProperty .
first:p-N-to-1 owl:inverseOf first:invP-1-to-N .
first:p-N-to-1 rdfs:domain first:cardinality-N .
first:p-N-to-1 rdfs:range first:only-d .
first:p-N-to-1 rdf:type owl:ObjectProperty .
first:q-M-to-1 rdf:type owl:FunctionalProperty .
first:invQ-1-to-M rdf:type owl:ObjectProperty .
first:q-M-to-1 owl:inverseOf first:invQ-1-to-M .
first:q-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:q-M-to-1 rdfs:range first:cardinality-N .
first:q-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 rdf:type owl:FunctionalProperty .
first:invR-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:r-N-times-M-to-1 owl:inverseOf first:invR-N-times-M-to-1 .
first:r-N-times-M-to-1 rdfs:domain first:cardinality-N-times-M .
first:r-N-times-M-to-1 rdfs:range first:only-d .
first:r-N-times-M-to-1 rdf:type owl:ObjectProperty .
first:only-d rdf:type owl:Class .
first:d rdf:type owl:Thing .
_:a rdf:first first:d .
_:a rdf:rest rdf:nil .
first:only-d owl:oneOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:invP-1-to-N .
_:c owl:cardinality "20"^^xsd:integer  .
first:only-d owl:equivalentClass _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty first:invR-N-times-M-to-1 .
_:e owl:cardinality "601"^^xsd:integer  .
first:only-d owl:equivalentClass _:e .
first:cardinality-N rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:p-N-to-1 .
_:g owl:someValuesFrom first:only-d .
first:cardinality-N owl:equivalentClass _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty first:invQ-1-to-M .
_:i owl:cardinality "30"^^xsd:integer  .
first:cardinality-N owl:equivalentClass _:i .
first:cardinality-N-times-M rdf:type owl:Class .
_:k rdf:type owl:Restriction .
_:k owl:onProperty first:q-M-to-1 .
_:k owl:someValuesFrom first:cardinality-N .
first:cardinality-N-times-M owl:equivalentClass _:k .
first:cardinality-N-times-M rdf:type owl:Class .
_:m rdf:type owl:Restriction .
_:m owl:onProperty first:r-N-times-M-to-1 .
_:m owl:someValuesFrom first:only-d .
first:cardinality-N-times-M owl:equivalentClass _:m .


précédent  suivant  introduction  table des matières  index