Skip to content

ObdalibDlliterTranslator

Martin Rezk edited this page Nov 29, 2013 · 7 revisions

OWLAPI 2.0 to OBDALib-DLLiter

Now we describe the translation from OWLAPI 2 objects into internal objects representing a DLLiteA ontology. Note that the following thing are different from DLLiteA ontologies as stated in the articles:

  • Disjointness is handled natively, not as a subclass assertion
  • Equivalence is handled natively.
  • A subclass of (R some (R some (R some B))) is handled natively
  • Attributes are supported, but typing is not yet available. For example, the attribute name is available, but one can't say its range is a string anywhere.
  • Disjunction (Or) and Conjunction (And) on the left and right of subclass axioms is supported as syntactic sugar and encoded appropriately.
  • Cardinality restrictions are supported as syntactic sugar only for the case of .



OWLDescription translation

The following is the guideline for translating OWLAPI 2 concept and property descriptions into descriptions of our own API.

When translating any axiom of the OWL ontology, if its not possible to translated, the event should be logged as a WARNING.

Translations:

  • OWLClass - translated as AtomicConceptDescription
  • OWLAnonymousDescription - see below
    • OWLBooleanDescription - see below
      • OWLNaryBooleanDescription - in general no translation. See the logical axioms section.
        • OWLObjectIntersectionOf
        • OWLObjectUnionOf
      • OWLObjectComplementOf - translatable only when OWLDescription is a basic DLLiteA concept description
    • OWLObjectOneOf - no translation
    • OWLRestriction - partial translation, see below
      • OWLObjectSelfRestriction - no translation
      • OWLQuantifiedRestriction - partial translation, see below
        • OWLCardinalityRestriction - partial translation, see below
          • OWLDataCardinalityRestriction - partial translation, see below ******OWLDataExactCardinalityRestriction - no translation
            • OWLDataMaxCardinalityRestriction - no translation
            • OWLDataMinCardinalityRestriction - translated only in the case of U min 1 with no nested typing, e.g., U min 1 xsd:string has no translation
          • OWLObjectCardinalityRestriction - partial translation, see below
            • OWLObjectExactCardinalityRestriction - no translation
            • OWLObjectMaxCardinalityRestriction - no translation
            • OWLObjectMinCardinalityRestriction - translated only in the case where R min 1 Thing as ExistentialConceptDescription, or in the case of R min 1 OWLDescription, then translated as QualifiedExistentialConceptDescription only if the OWLDescription can be translated into a general concept description excluding the negation (complement of).
        • OWLDataAllRestriction - no translation
        • OWLDataSomeRestriction - no translation
        • OWLObjectAllRestriction - no translation
        • OWLObjectSomeRestriction - translated as ExistentialConceptDescription in the case of R some Thing. Translated as QualifiedExistentialConceptDescription in the case of R some OWLDescription and only if the OWLDescription can be translated into a general concept description excluding the negation (complement of).
      • OWLValueRestriction - no translation
        • OWLDataValueRestriction - no translation
        • OWLObjectValueRestriction - no translation

OWLLogicalAxiom translation

The following is the guideline for the translation of OWLAPI 2 logical assertions into assertions in our own API.

  • OWLClassAxiom - handled with restrictions see below
    • OWLDeprecatedClassAxiom - ignored
    • OWLNaryClassAxiom - handled with restrictions
      • OWLDisjointClassesAxiom - handled when the classes are basic DLLiteA descriptions, else ignored. Translates into n instances of the DisjointAssertion class.
      • OWLDisjointUnionAxiom - ignored
      • OWLEquivalentClassesAxiom - handled when the classes are basic DLLiteA descriptions, else ignored. Translates into n instances of the EquivalentAssertion class.
      • OWLSubClassAxiom - handled when the subclass is a DLLiteA basic description and the superclass is a DLLiteA general concept description, else ignored. Translates into a subclass assertion. The following approximations should be taken into account:
        • Number restrictions. Number restrictions are in general not supported except in the case were the restriction are:
          • R min 1 Thing. Valid as subsumer or subsumed. This gets translated as ExistentialConceptDescription
          • R min 1 OWLDescription Valid only as subsumer. This gets translated as QualifiedExistentialConceptDescription only if the OWLDescription can be translated into a general concept description.
        • OWLObjectIntersectionOf is only allowed to appear as subsumer, in which case the assertion is split. Each of the conjuncts must be a valid general DLLiteA concept description. For example A subclassof B and D, get's translated into two assertions: A subclassof B and A subclassof D
        • OWLUnionOf is only allowed to appear as subsumed, in which case the assertion is split. Each of the disjuncts must be a valid basic DLLiteA concept description. For example A or B subclassof D, get's translated into two assertions: A subclassof D and B subclassof D
        • ComplementOf only allowed to appear as subsumer and when the OWLDescription is a basic DLLiteA concept description. Translated as a DisjointAxiom. For example A subclass of not (R some Thing) gets translated as Disjoint(A, exists R) (using our API).
  • OWLDataPropertyAxiom - handled with restriction
    • OWLDataPropertyCharacteristicAxiom - handled, see below
      • OWLFunctionalDataPropertyAxiom - handled natively with a functionality assertion
    • OWLDataPropertyDomainAxiom - handled when the domain is a DLLiteA basic description
    • OWLDataPropertyRangeAxiom - ignored
    • OWLDataSubPropertyAxiom- handled when the subproperty and the superproperty are basic DLLiteA role descriptions
    • OWLDisjointDataPropertiesAxiom - handled when all the properties are basic DLLiteA role descriptions
    • OWLEquivalentDataPropertiesAxiom - handled when all the properties are basic DLLiteA role descriptions
  • OWLIndividualAxiom - ignored
    • OWLClassAssertionAxiom
    • OWLNaryIndividualAxiom
      • OWLDifferentIndividualsAxiom
      • OWLSameIndividualsAxiom
    • OWLPropertyAssertionAxiom
      • OWLDataPropertyAssertionAxiom
      • OWLNegativeDataPropertyAssertionAxiom











































  • OWLPropertyAxiom - handled with restrictions
    • OWLNaryPropertyAxiom

      - handled with restrictions

      • OWLDisjointDataPropertiesAxiom - handled natively
      • OWLDisjointObjectPropertiesAxiom - handled natively when the properties are handled when all the properties are basic DLLiteA role descriptions
      • OWLEquivalentDataPropertiesAxiom - handled as if it was a double subproperty axiom (see subproperty axiom)
      • OWLEquivalentObjectPropertiesAxiom - handled as if it was a double subproperty axiom (see subproperty axiom)
      • OWLInverseObjectPropertiesAxiom - handled as two subproperty axioms
    • OWLObjectPropertyAxiom - handled with restrictions
      • OWLDeprecatedObjectPropertyAxiom - ignored
      • OWLDisjointObjectPropertiesAxiom- see above
      • OWLEquivalentObjectPropertiesAxiom - see above
      • OWLInverseObjectPropertiesAxiom - see above
      • OWLObjectPropertyChainSubPropertyAxiom - ignored
      • OWLObjectPropertyCharacteristicAxiom - handled with restrictions
        • OWLAntiSymmetricObjectPropertyAxiom - ignored (we need to review the current state of the definition)
        • OWLFunctionalObjectPropertyAxiom - handled natively when the property description is a basic DLLiteA role description
        • OWLInverseFunctionalObjectPropertyAxiom - as above
        • OWLIrreflexiveObjectPropertyAxiom - ignored
        • OWLReflexiveObjectPropertyAxiom - ignored
        • OWLSymmetricObjectPropertyAxiom - handled natively when the property description is a basic DLLiteA role description
        • OWLTransitiveObjectPropertyAxiom - ignored
      • OWLObjectPropertyDomainAxiom - handled natively when the property description is a basic DLLiteA role description and the domain is a general DLLiteA concept description
      • OWLObjectPropertyRangeAxiom - handled natively when the property description is a basic DLLiteA role description and the range is a general DLLiteA concept description
      • OWLObjectSubPropertyAxiom - - handled natively when both property descriptions are basic DLLiteA role descriptions
    • OWLSubPropertyAxiom - handled with restrictions
      • OWLDataSubPropertyAxiom - see above
      • OWLObjectSubPropertyAxiom - see above
    • OWLUnaryPropertyAxiom - handled with restrictions
      • OWLDataPropertyCharacteristicAxiom (see above)
      • OWLObjectPropertyCharacteristicAxiom (see above)
      • OWLPropertyDomainAxiom - ignored
        • OWLDataPropertyDomainAxiom (see above)
        • OWLObjectPropertyDomainAxiom (see above)
      • OWLPropertyRangeAxiom - ignored
        • OWLDataPropertyRangeAxiom (see above)
        • OWLObjectPropertyRangeAxiom (see above)
  • SWRLRule - ignored
Clone this wiki locally