org.semanticweb.owlapi.model
Interface OWLAxiom

All Superinterfaces:
java.lang.Comparable<OWLObject>, OWLObject
All Known Subinterfaces:
OWLAnnotationAssertionAxiom, OWLAnnotationAxiom, OWLAnnotationPropertyDomainAxiom, OWLAnnotationPropertyRangeAxiom, OWLAsymmetricObjectPropertyAxiom, OWLClassAssertionAxiom, OWLClassAxiom, OWLDataPropertyAssertionAxiom, OWLDataPropertyAxiom, OWLDataPropertyCharacteristicAxiom, OWLDataPropertyDomainAxiom, OWLDataPropertyRangeAxiom, OWLDatatypeDefinitionAxiom, OWLDeclarationAxiom, OWLDifferentIndividualsAxiom, OWLDisjointClassesAxiom, OWLDisjointDataPropertiesAxiom, OWLDisjointObjectPropertiesAxiom, OWLDisjointUnionAxiom, OWLEquivalentClassesAxiom, OWLEquivalentDataPropertiesAxiom, OWLEquivalentObjectPropertiesAxiom, OWLFunctionalDataPropertyAxiom, OWLFunctionalObjectPropertyAxiom, OWLHasKeyAxiom, OWLIndividualAxiom, OWLInverseFunctionalObjectPropertyAxiom, OWLInverseObjectPropertiesAxiom, OWLIrreflexiveObjectPropertyAxiom, OWLLogicalAxiom, OWLNaryAxiom, OWLNaryClassAxiom, OWLNaryIndividualAxiom, OWLNaryPropertyAxiom<P>, OWLNegativeDataPropertyAssertionAxiom, OWLNegativeObjectPropertyAssertionAxiom, OWLObjectPropertyAssertionAxiom, OWLObjectPropertyAxiom, OWLObjectPropertyCharacteristicAxiom, OWLObjectPropertyDomainAxiom, OWLObjectPropertyRangeAxiom, OWLPropertyAssertionAxiom<P,O>, OWLPropertyAxiom, OWLPropertyDomainAxiom<P>, OWLPropertyRangeAxiom<P,R>, OWLReflexiveObjectPropertyAxiom, OWLSameIndividualAxiom, OWLSubAnnotationPropertyOfAxiom, OWLSubClassOfAxiom, OWLSubDataPropertyOfAxiom, OWLSubObjectPropertyOfAxiom, OWLSubPropertyAxiom<P>, OWLSubPropertyChainOfAxiom, OWLSymmetricObjectPropertyAxiom, OWLTransitiveObjectPropertyAxiom, OWLUnaryPropertyAxiom<P>, SWRLRule
All Known Implementing Classes:
OWLAnnotationAssertionAxiomImpl, OWLAnnotationPropertyDomainAxiomImpl, OWLAnnotationPropertyRangeAxiomImpl, OWLAsymmetricObjectPropertyAxiomImpl, OWLAxiomImpl, OWLClassAssertionImpl, OWLClassAxiomImpl, OWLDataPropertyAssertionAxiomImpl, OWLDataPropertyCharacteristicAxiomImpl, OWLDataPropertyDomainAxiomImpl, OWLDataPropertyRangeAxiomImpl, OWLDatatypeDefinitionAxiomImpl, OWLDeclarationAxiomImpl, OWLDifferentIndividualsAxiomImpl, OWLDisjointClassesAxiomImpl, OWLDisjointDataPropertiesAxiomImpl, OWLDisjointObjectPropertiesAxiomImpl, OWLDisjointUnionAxiomImpl, OWLEquivalentClassesAxiomImpl, OWLEquivalentDataPropertiesAxiomImpl, OWLEquivalentObjectPropertiesAxiomImpl, OWLFunctionalDataPropertyAxiomImpl, OWLFunctionalObjectPropertyAxiomImpl, OWLHasKeyAxiomImpl, OWLIndividualAxiomImpl, OWLIndividualRelationshipAxiomImpl, OWLInverseFunctionalObjectPropertyAxiomImpl, OWLInverseObjectPropertiesAxiomImpl, OWLIrreflexiveObjectPropertyAxiomImpl, OWLLogicalAxiomImpl, OWLNaryClassAxiomImpl, OWLNaryIndividualAxiomImpl, OWLNaryPropertyAxiomImpl, OWLNegativeDataPropertyAssertionImplAxiom, OWLNegativeObjectPropertyAssertionAxiomImpl, OWLObjectPropertyAssertionAxiomImpl, OWLObjectPropertyCharacteristicAxiomImpl, OWLObjectPropertyDomainAxiomImpl, OWLObjectPropertyRangeAxiomImpl, OWLPropertyAxiomImpl, OWLPropertyDomainAxiomImpl, OWLPropertyRangeAxiomImpl, OWLReflexiveObjectPropertyAxiomImpl, OWLSameIndividualAxiomImpl, OWLSubAnnotationPropertyOfAxiomImpl, OWLSubClassOfAxiomImpl, OWLSubDataPropertyOfAxiomImpl, OWLSubObjectPropertyOfAxiomImpl, OWLSubPropertyAxiomImpl, OWLSubPropertyChainAxiomImpl, OWLSymmetricObjectPropertyAxiomImpl, OWLTransitiveObjectPropertyAxiomImpl, OWLUnaryPropertyAxiomImpl, SWRLRuleImpl

public interface OWLAxiom
extends OWLObject

Author: Matthew Horridge
The University Of Manchester
Bio-Health Informatics Group Date: 24-Oct-2006

Represents
Method Summary
 void accept(OWLAxiomVisitor visitor)
           
<O> O
accept(OWLAxiomVisitorEx<O> visitor)
           
 boolean equalsIgnoreAnnotations(OWLAxiom axiom)
          Determines if another axiom is equal to this axiom not taking into consideration the annotations on the axiom
 OWLAxiom getAnnotatedAxiom(java.util.Set<OWLAnnotation> annotations)
          Gets a copy of this axiom that is annotated with the specified annotations.
 java.util.Set<OWLAnnotation> getAnnotations()
          Gets the annotations that are annotate this axiom.
 java.util.Set<OWLAnnotation> getAnnotations(OWLAnnotationProperty annotationProperty)
          Gets the annotations that annotate this axiom and whose annotation property is equal to annotationProperty.
 AxiomType<?> getAxiomType()
          Gets the axiom type for this axiom.
 OWLAxiom getAxiomWithoutAnnotations()
          Gets an axiom that is structurally equivalent to this axiom without annotations.
 OWLAxiom getNNF()
          Gets this axioms in negation normal form.
 boolean isAnnotated()
          Determines if this axiom has any annotations on it
 boolean isLogicalAxiom()
          Determines if this axiom is a logical axiom.
 boolean isOfType(AxiomType<?>... axiomTypes)
          Determines if this axiom is one of the specified types
 boolean isOfType(java.util.Set<AxiomType<?>> types)
          Determines if this axiom is one of the specified types
 
Methods inherited from interface org.semanticweb.owlapi.model.OWLObject
accept, accept, getClassesInSignature, getDataPropertiesInSignature, getDatatypesInSignature, getIndividualsInSignature, getNestedClassExpressions, getObjectPropertiesInSignature, getSignature, isBottomEntity, isTopEntity
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

accept

void accept(OWLAxiomVisitor visitor)

accept

<O> O accept(OWLAxiomVisitorEx<O> visitor)

getAnnotations

java.util.Set<OWLAnnotation> getAnnotations()
Gets the annotations that are annotate this axiom.

Returns:
A set of annotations that annotate this axiom.

getAnnotations

java.util.Set<OWLAnnotation> getAnnotations(OWLAnnotationProperty annotationProperty)
Gets the annotations that annotate this axiom and whose annotation property is equal to annotationProperty.

Parameters:
annotationProperty - The annotation property that will be equal to the annotation property of each returned annotation.
Returns:
A set of annotations that annotate this axiom, each of whose annotation properties is equals to annotationProperty.

getAxiomWithoutAnnotations

OWLAxiom getAxiomWithoutAnnotations()
Gets an axiom that is structurally equivalent to this axiom without annotations. This essentially returns a version of this axiom stripped of any annotations

Returns:
The annotationless version of this axiom

getAnnotatedAxiom

OWLAxiom getAnnotatedAxiom(java.util.Set<OWLAnnotation> annotations)
Gets a copy of this axiom that is annotated with the specified annotations. If this axiom has any annotations on it they will be merged with the specified set of annotations. Note that this axiom will not be modified (or remove from any ontologies).

Parameters:
annotations - The annotations that will be added to existing annotations to annotate the copy of this axiom
Returns:
A copy of this axiom that has the specified annotations plus any existing annotations returned by the OWLAxiom#getAnnotations() method.

equalsIgnoreAnnotations

boolean equalsIgnoreAnnotations(OWLAxiom axiom)
Determines if another axiom is equal to this axiom not taking into consideration the annotations on the axiom

Parameters:
axiom - The axiom to test if equal
Returns:
true if axiom without annotations is equal to this axiom without annotations otherwise false.

isLogicalAxiom

boolean isLogicalAxiom()
Determines if this axiom is a logical axiom. Logical axioms are defined to be axioms other than both declaration axioms (including imports declarations) and annotation axioms.

Returns:
true if the axiom is a logical axiom, false if the axiom is not a logical axiom.

isAnnotated

boolean isAnnotated()
Determines if this axiom has any annotations on it

Returns:
true if this axiom has annotations on it, otherwise false

getAxiomType

AxiomType<?> getAxiomType()
Gets the axiom type for this axiom.

Returns:
The axiom type that corresponds to the type of this axiom.

isOfType

boolean isOfType(AxiomType<?>... axiomTypes)
Determines if this axiom is one of the specified types

Parameters:
axiomTypes - The axiom types to check for
Returns:
true if this axiom is one of the specified types, otherwise false
Since:
3.0

isOfType

boolean isOfType(java.util.Set<AxiomType<?>> types)
Determines if this axiom is one of the specified types

Parameters:
types - The axiom types to check for
Returns:
true if this axioms is one of the specified types, otherwise false
Since:
3.0

getNNF

OWLAxiom getNNF()
Gets this axioms in negation normal form. i.e. any class expressions involved in this axiom are converted into negation normal form.

Returns:
The axiom in negation normal form.