<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="owl"
    nsURI="http:///owl.ecore" nsPrefix="owl">
  <eClassifiers xsi:type="ecore:EClass" name="Fact" abstract="true" eSuperTypes="#//Axiom"/>
  <eClassifiers xsi:type="ecore:EClass" name="Axiom" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="axiomAnnotation" upperBound="-1"
        eType="#//Annotation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Annotation">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotationConstant" lowerBound="1"
        eType="#//Constant"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Constant">
    <eOperations name="AConstantcanthavebothalanguageTagandaURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="(self.languageTag.size()>0 implies self.uri.size()=0) and (&#xD;&#xA;self.uri.size()>0 implies self.languageTag.size()=0)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="languageTag" ordered="false"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataRange">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="arity" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataPropertyAxiom" eSuperTypes="#//Axiom"/>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectPropertyAxiom" eSuperTypes="#//Axiom"/>
  <eClassifiers xsi:type="ecore:EClass" name="Description" abstract="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="ClassAxiom" abstract="true" eSuperTypes="#//Axiom"/>
  <eClassifiers xsi:type="ecore:EClass" name="DataPropertyExpression"/>
  <eClassifiers xsi:type="ecore:EClass" name="OWLEntity" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectPropertyExpression" abstract="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="AsymmetricObjectProperty" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Label" eSuperTypes="#//Annotation">
    <eOperations name="ALabeldoesnothaveaURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="self.uri = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Annotation">
    <eOperations name="ACommentdoesnothaveaURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="self.uri = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Documentation" eSuperTypes="#//Annotation">
    <eOperations name="ADocumentationdoesnothaveaURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="self.uri = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectProperty" eSuperTypes="#//OWLEntity #//ObjectPropertyExpression"/>
  <eClassifiers xsi:type="ecore:EClass" name="InverseObjectProperty" eSuperTypes="#//ObjectPropertyExpression">
    <eStructuralFeatures xsi:type="ecore:EReference" name="inverseObjectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OWLClass" eSuperTypes="#//OWLEntity #//Description"/>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectIntersectionOf" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="intersectionDescription"
        lowerBound="2" upperBound="-1" eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectUnionOf" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="unionDescription" lowerBound="2"
        upperBound="-1" eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectOneOf" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectOneOfIndividual"
        lowerBound="1" upperBound="-1" eType="#//Individual"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Individual" eSuperTypes="#//OWLEntity"/>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectSomeValuesFrom" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" lowerBound="1"
        eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectAllValuesFrom" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" lowerBound="1"
        eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectExistsSelf" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectHasValue" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="individual" lowerBound="1"
        eType="#//Individual"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectMinCardinality" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectpropertyexpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectMaxCardinality" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectpropertyexpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataSomeValuesFrom" eSuperTypes="#//Description">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="self.dataPropertyExpression -> size() = self.dataRange.arity"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataRange" lowerBound="1"
        eType="#//DataRange"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataProperty" eSuperTypes="#//OWLEntity #//DataPropertyExpression"/>
  <eClassifiers xsi:type="ecore:EClass" name="Datatype" eSuperTypes="#//DataRange #//OWLEntity">
    <eOperations name="IftwoDatatypeshavethesameURItheymusthavethesamearity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="self -> forAll(a,b | (a.uri = b.uri) implies (a.arity = b.arity))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataOneOf" eSuperTypes="#//DataRange">
    <eOperations name="DataOneOfhasalwaysarity1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="self.arity = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constant" lowerBound="1"
        upperBound="-1" eType="#//Constant"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DatatypeRestriction" eSuperTypes="#//DataRange">
    <eOperations name="ForthedatatypeFacetattributeofDatatypeRestrictiononlycertainvaluesareallowed"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="self.datatypeFacet = 'length' &#xD;&#xA;or self.datatypeFacet = 'minLength' &#xD;&#xA;or self.datatypeFacet = 'maxLength' &#xD;&#xA;or self.datatypeFacet = 'pattern' &#xD;&#xA;or self.datatypeFacet = 'minInclusive' &#xD;&#xA;or self.datatypeFacet = 'minExclusive' &#xD;&#xA;or self.datatypeFacet = 'maxInclusive'&#xD;&#xA;or self.datatypeFacet = 'maxExclusive'&#xD;&#xA;or self.datatypeFacet = 'totalDigits' &#xD;&#xA;or self.datatypeFacet = 'fractionDigits'&#xD;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="datatypeFacet" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="restrictionValue" lowerBound="1"
        eType="#//Constant"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataRange" lowerBound="1"
        eType="#//DataRange"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataAllValuesFrom" eSuperTypes="#//Description">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="(self.dataPropertyExpression -> size()) = (self.dataRange.arity)"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataRange" lowerBound="1"
        eType="#//DataRange"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataHasValue" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="constant" lowerBound="1"
        eType="#//Constant"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataMinCardinality" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataRange" eType="#//DataRange"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="datayPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataMaxCardinality" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataRange" eType="#//DataRange"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataExactCardinality" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataRange" eType="#//DataRange"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataPropertyAssertion" eSuperTypes="#//Fact">
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceIndividual" lowerBound="1"
        eType="#//Individual"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="targetValue" lowerBound="1"
        eType="#//Constant"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataPropertyDomain" eSuperTypes="#//DataPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPropertyDomain" lowerBound="1"
        eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="rangeDataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataPropertyRange" eSuperTypes="#//DataPropertyAxiom">
    <eOperations name="TheDataRangeofaDataPropertyRangemusthavearity1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="self.dataPropertyRange.arity = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPropertyRange" lowerBound="1"
        eType="#//DataRange"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="domainDataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DifferentIndividuals" eSuperTypes="#//Fact">
    <eStructuralFeatures xsi:type="ecore:EReference" name="individual" lowerBound="2"
        upperBound="-1" eType="#//Individual"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Declaration" eSuperTypes="#//Axiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owlentity" lowerBound="1"
        eType="#//OWLEntity"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DisjointClasses" eSuperTypes="#//ClassAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="disjointDescription" lowerBound="2"
        upperBound="-1" eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DisjointDataProperties" eSuperTypes="#//DataPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="disjointDataPropertyExpression"
        lowerBound="2" upperBound="-1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DisjointObjectProperties" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="2" upperBound="-1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DisjointUnion" eSuperTypes="#//ClassAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="disjointUnionClass" lowerBound="1"
        eType="#//OWLClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="disjointUnionDescription"
        lowerBound="2" upperBound="-1" eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EquivalentClasses" eSuperTypes="#//ClassAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="equivalentDescription"
        lowerBound="2" upperBound="-1" eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EquivalentDataProperties" eSuperTypes="#//DataPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="equivalentDataPropertyExpression"
        lowerBound="2" upperBound="-1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FunctionalDataProperty" eSuperTypes="#//DataPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="functionalDataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EquivalentObjectProperties" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="oobjectPropertyExpression"
        lowerBound="2" upperBound="-1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FunctionalObjectProperty" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Imports" eSuperTypes="#//Annotation">
    <eOperations name="AnImportsconstructdoesnothaveaConstantinitsdefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="context Imports inv:&#xD;&#xA;self.annotationConstant -> size() = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InverseFunctionalObjectProperty" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NegativeObjectPropertyAssertion" eSuperTypes="#//Fact">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceIndividual" lowerBound="1"
        eType="#//Individual"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="targetIndividual" lowerBound="1"
        eType="#//Individual"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectPropertyAssertion" eSuperTypes="#//Fact">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceIndividual" lowerBound="1"
        eType="#//Individual"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="targetIndividual" lowerBound="1"
        eType="#//Individual"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectPropertyDomain" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" lowerBound="1"
        eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SymmetricObjectProperty" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReflexiveObjectProperty" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SubDataPropertyOf" eSuperTypes="#//DataPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="superDataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subDataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SameIndividual" eSuperTypes="#//Fact">
    <eStructuralFeatures xsi:type="ecore:EReference" name="label" upperBound="-1"
        eType="#//Label" volatile="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="comment" upperBound="-1"
        eType="#//Comment" volatile="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" upperBound="-1"
        eType="#//Documentation" volatile="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="individual" lowerBound="2"
        upperBound="-1" eType="#//Individual"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SubObjectPropertyOf" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="superObjectProperty" lowerBound="1"
        eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectComplementOf" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EReference" name="complementDescription"
        lowerBound="1" eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Ontology">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ontologyAnnotation" upperBound="-1"
        eType="#//Annotation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ontologyAxiom" upperBound="-1"
        eType="#//Axiom"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedOntology" upperBound="-1"
        eType="#//Ontology"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectPropertyRange" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="label" upperBound="-1"
        eType="#//Label" volatile="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="comment" upperBound="-1"
        eType="#//Comment" volatile="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" upperBound="-1"
        eType="#//Documentation" volatile="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" lowerBound="1"
        eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NegativeDataPropertyAssertion" eSuperTypes="#//Fact">
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPropertyExpression"
        lowerBound="1" eType="#//DataPropertyExpression"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceIndividual" lowerBound="1"
        eType="#//Individual"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="targetValue" lowerBound="1"
        eType="#//Constant"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClassAssertion" eSuperTypes="#//Fact">
    <eStructuralFeatures xsi:type="ecore:EReference" name="individual" lowerBound="1"
        eType="#//Individual"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" lowerBound="1"
        eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IrreflexiveObjectProperty" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectExactCardinality" eSuperTypes="#//Description">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="description" eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectpropertyexpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataComplementOf" eSuperTypes="#//DataRange">
    <eStructuralFeatures xsi:type="ecore:EReference" name="dataRange" lowerBound="1"
        eType="#//DataRange"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SubClassOf" eSuperTypes="#//ClassAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="subclassDescription" lowerBound="1"
        eType="#//Description"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superclassDescription"
        lowerBound="1" eType="#//Description"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SubObjectProperty">
    <eStructuralFeatures xsi:type="ecore:EReference" name="order" ordered="false"
        lowerBound="1"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TransitiveObjectProperty" eSuperTypes="#//ObjectPropertyAxiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="objectPropertyExpression"
        lowerBound="1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SubObjectProperty">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="_" ordered="false" lowerBound="1"
        upperBound="-1" eType="#//ObjectPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataSomeValuesList">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="_" ordered="false" lowerBound="1"
        upperBound="-1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataAllValuesList">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="_" ordered="false" lowerBound="1"
        upperBound="-1" eType="#//DataPropertyExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EntityAnnotation" eSuperTypes="#//Axiom">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owlentity" ordered="false"
        lowerBound="1" eType="#//OWLEntity"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotation" ordered="false"
        upperBound="-1" eType="#//Annotation"/>
  </eClassifiers>
</ecore:EPackage>
