uk.ac.manchester.cs.owl.owlapi
Class OWLSubPropertyChainAxiomImpl

java.lang.Object
  extended by uk.ac.manchester.cs.owl.owlapi.OWLObjectImpl
      extended by uk.ac.manchester.cs.owl.owlapi.OWLAxiomImpl
          extended by uk.ac.manchester.cs.owl.owlapi.OWLLogicalAxiomImpl
              extended by uk.ac.manchester.cs.owl.owlapi.OWLPropertyAxiomImpl
                  extended by uk.ac.manchester.cs.owl.owlapi.OWLSubPropertyChainAxiomImpl
All Implemented Interfaces:
java.lang.Comparable<OWLObject>, OWLAxiom, OWLLogicalAxiom, OWLObject, OWLObjectPropertyAxiom, OWLPropertyAxiom, OWLSubPropertyChainOfAxiom

public class OWLSubPropertyChainAxiomImpl
extends OWLPropertyAxiomImpl
implements OWLSubPropertyChainOfAxiom

Author: Matthew Horridge
The University Of Manchester
Bio-Health Informatics Group
Date: 22-Nov-2006


Constructor Summary
OWLSubPropertyChainAxiomImpl(OWLDataFactory dataFactory, java.util.List<? extends OWLObjectPropertyExpression> propertyChain, OWLObjectPropertyExpression superProperty, java.util.Collection<? extends OWLAnnotation> annotations)
           
 
Method Summary
 void accept(OWLAxiomVisitor visitor)
           
<O> O
accept(OWLAxiomVisitorEx<O> visitor)
           
 void accept(OWLObjectVisitor visitor)
           
<O> O
accept(OWLObjectVisitorEx<O> visitor)
           
protected  int compareObjectOfSameType(OWLObject object)
           
 boolean equals(java.lang.Object obj)
           
 OWLSubPropertyChainOfAxiom getAnnotatedAxiom(java.util.Set<OWLAnnotation> annotations)
          Gets a copy of this axiom that is annotated with the specified annotations.
 AxiomType getAxiomType()
          Gets the axiom type for this axiom.
 OWLSubPropertyChainOfAxiom getAxiomWithoutAnnotations()
          Gets an axiom that is structurally equivalent to this axiom without annotations.
 java.util.List<OWLObjectPropertyExpression> getPropertyChain()
          Gets the chain of properties that represents the subproperty in this axiom.
 OWLObjectPropertyExpression getSuperProperty()
          Gets the super property of this axiom
 boolean isEncodingOfTransitiveProperty()
          Determines if this axiom is of the form: P o P -> P, which is an encoding of Transitive(P)
 
Methods inherited from class uk.ac.manchester.cs.owl.owlapi.OWLLogicalAxiomImpl
isLogicalAxiom
 
Methods inherited from class uk.ac.manchester.cs.owl.owlapi.OWLAxiomImpl
equalsIgnoreAnnotations, getAnnotations, getAnnotations, getNNF, getReferencedEntities, isAnnotated, isOfType, isOfType, mergeAnnos
 
Methods inherited from class uk.ac.manchester.cs.owl.owlapi.OWLObjectImpl
compareSets, compareTo, getClassesInSignature, getDataPropertiesInSignature, getDatatypesInSignature, getIndividualsInSignature, getNestedClassExpressions, getObjectPropertiesInSignature, getOWLDataFactory, getSignature, hashCode, isBottomEntity, isTopEntity, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.semanticweb.owlapi.model.OWLAxiom
equalsIgnoreAnnotations, getAnnotations, getAnnotations, getNNF, isAnnotated, isLogicalAxiom, isOfType, isOfType
 
Methods inherited from interface org.semanticweb.owlapi.model.OWLObject
getClassesInSignature, getDataPropertiesInSignature, getDatatypesInSignature, getIndividualsInSignature, getNestedClassExpressions, getObjectPropertiesInSignature, getSignature, isBottomEntity, isTopEntity
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Constructor Detail

OWLSubPropertyChainAxiomImpl

public OWLSubPropertyChainAxiomImpl(OWLDataFactory dataFactory,
                                    java.util.List<? extends OWLObjectPropertyExpression> propertyChain,
                                    OWLObjectPropertyExpression superProperty,
                                    java.util.Collection<? extends OWLAnnotation> annotations)
Method Detail

getAnnotatedAxiom

public OWLSubPropertyChainOfAxiom getAnnotatedAxiom(java.util.Set<OWLAnnotation> annotations)
Description copied from interface: OWLAxiom
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).

Specified by:
getAnnotatedAxiom in interface OWLAxiom
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.

getAxiomWithoutAnnotations

public OWLSubPropertyChainOfAxiom getAxiomWithoutAnnotations()
Description copied from interface: OWLAxiom
Gets an axiom that is structurally equivalent to this axiom without annotations. This essentially returns a version of this axiom stripped of any annotations

Specified by:
getAxiomWithoutAnnotations in interface OWLAxiom
Specified by:
getAxiomWithoutAnnotations in interface OWLSubPropertyChainOfAxiom
Returns:
The annotationless version of this axiom

getPropertyChain

public java.util.List<OWLObjectPropertyExpression> getPropertyChain()
Description copied from interface: OWLSubPropertyChainOfAxiom
Gets the chain of properties that represents the subproperty in this axiom.

Specified by:
getPropertyChain in interface OWLSubPropertyChainOfAxiom
Returns:
A list of object property expressions that represents the chain of properties that represent the subproperty in this axiom.

getSuperProperty

public OWLObjectPropertyExpression getSuperProperty()
Description copied from interface: OWLSubPropertyChainOfAxiom
Gets the super property of this axiom

Specified by:
getSuperProperty in interface OWLSubPropertyChainOfAxiom
Returns:
The property expression that represents the superproperty in this expression.

isEncodingOfTransitiveProperty

public boolean isEncodingOfTransitiveProperty()
Description copied from interface: OWLSubPropertyChainOfAxiom
Determines if this axiom is of the form: P o P -> P, which is an encoding of Transitive(P)

Specified by:
isEncodingOfTransitiveProperty in interface OWLSubPropertyChainOfAxiom
Returns:
true if this encodes that the super property is transitive, otherwise false.

accept

public void accept(OWLObjectVisitor visitor)
Specified by:
accept in interface OWLObject

accept

public void accept(OWLAxiomVisitor visitor)
Specified by:
accept in interface OWLAxiom

accept

public <O> O accept(OWLAxiomVisitorEx<O> visitor)
Specified by:
accept in interface OWLAxiom

accept

public <O> O accept(OWLObjectVisitorEx<O> visitor)
Specified by:
accept in interface OWLObject

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class OWLAxiomImpl

getAxiomType

public AxiomType getAxiomType()
Description copied from interface: OWLAxiom
Gets the axiom type for this axiom.

Specified by:
getAxiomType in interface OWLAxiom
Returns:
The axiom type that corresponds to the type of this axiom.

compareObjectOfSameType

protected int compareObjectOfSameType(OWLObject object)
Specified by:
compareObjectOfSameType in class OWLObjectImpl