org.semanticweb.owlapi.model
Class AxiomType<C extends OWLAxiom>

java.lang.Object
  extended by org.semanticweb.owlapi.model.AxiomType<C>

public class AxiomType<C extends OWLAxiom>
extends java.lang.Object

Author: Matthew Horridge
The University Of Manchester
Bio-Health Informatics Group
Date: 27-Jul-2007

Represents the type of axioms which can belong to ontologies. Axioms can be retrieved from ontologies by their AxiomType. For example, see OWLOntology.getAxioms(AxiomType) and OWLOntology.getAxiomCount(AxiomType, boolean).


Field Summary
static AxiomType<OWLAnnotationAssertionAxiom> ANNOTATION_ASSERTION
           
static AxiomType<OWLAnnotationPropertyDomainAxiom> ANNOTATION_PROPERTY_DOMAIN
           
static AxiomType<OWLAnnotationPropertyRangeAxiom> ANNOTATION_PROPERTY_RANGE
           
static AxiomType<OWLAsymmetricObjectPropertyAxiom> ASYMMETRIC_OBJECT_PROPERTY
           
static java.util.Set<AxiomType> AXIOM_TYPES
           
static AxiomType<OWLClassAssertionAxiom> CLASS_ASSERTION
           
static AxiomType<OWLDataPropertyAssertionAxiom> DATA_PROPERTY_ASSERTION
           
static AxiomType<OWLDataPropertyDomainAxiom> DATA_PROPERTY_DOMAIN
           
static AxiomType<OWLDataPropertyRangeAxiom> DATA_PROPERTY_RANGE
           
static AxiomType<OWLDatatypeDefinitionAxiom> DATATYPE_DEFINITION
           
static AxiomType<OWLDeclarationAxiom> DECLARATION
           
static AxiomType<OWLDifferentIndividualsAxiom> DIFFERENT_INDIVIDUALS
           
static AxiomType<OWLDisjointClassesAxiom> DISJOINT_CLASSES
           
static AxiomType<OWLDisjointDataPropertiesAxiom> DISJOINT_DATA_PROPERTIES
           
static AxiomType<OWLDisjointObjectPropertiesAxiom> DISJOINT_OBJECT_PROPERTIES
           
static AxiomType<OWLDisjointUnionAxiom> DISJOINT_UNION
           
static AxiomType<OWLEquivalentClassesAxiom> EQUIVALENT_CLASSES
           
static AxiomType<OWLEquivalentDataPropertiesAxiom> EQUIVALENT_DATA_PROPERTIES
           
static AxiomType<OWLEquivalentObjectPropertiesAxiom> EQUIVALENT_OBJECT_PROPERTIES
           
static AxiomType<OWLFunctionalDataPropertyAxiom> FUNCTIONAL_DATA_PROPERTY
           
static AxiomType<OWLFunctionalObjectPropertyAxiom> FUNCTIONAL_OBJECT_PROPERTY
           
static AxiomType<OWLHasKeyAxiom> HAS_KEY
           
 int index
           
static AxiomType<OWLInverseFunctionalObjectPropertyAxiom> INVERSE_FUNCTIONAL_OBJECT_PROPERTY
           
static AxiomType<OWLInverseObjectPropertiesAxiom> INVERSE_OBJECT_PROPERTIES
           
static AxiomType<OWLIrreflexiveObjectPropertyAxiom> IRREFLEXIVE_OBJECT_PROPERTY
           
static AxiomType<OWLNegativeDataPropertyAssertionAxiom> NEGATIVE_DATA_PROPERTY_ASSERTION
           
static AxiomType<OWLNegativeObjectPropertyAssertionAxiom> NEGATIVE_OBJECT_PROPERTY_ASSERTION
           
static AxiomType<OWLObjectPropertyAssertionAxiom> OBJECT_PROPERTY_ASSERTION
           
static AxiomType<OWLObjectPropertyDomainAxiom> OBJECT_PROPERTY_DOMAIN
           
static AxiomType<OWLObjectPropertyRangeAxiom> OBJECT_PROPERTY_RANGE
           
static AxiomType<OWLReflexiveObjectPropertyAxiom> REFLEXIVE_OBJECT_PROPERTY
           
static AxiomType<OWLSameIndividualAxiom> SAME_INDIVIDUAL
           
static AxiomType<OWLSubAnnotationPropertyOfAxiom> SUB_ANNOTATION_PROPERTY_OF
           
static AxiomType<OWLSubDataPropertyOfAxiom> SUB_DATA_PROPERTY
           
static AxiomType<OWLSubObjectPropertyOfAxiom> SUB_OBJECT_PROPERTY
           
static AxiomType<OWLSubPropertyChainOfAxiom> SUB_PROPERTY_CHAIN_OF
           
static AxiomType<OWLSubClassOfAxiom> SUBCLASS_OF
           
static AxiomType<SWRLRule> SWRL_RULE
           
static AxiomType<OWLSymmetricObjectPropertyAxiom> SYMMETRIC_OBJECT_PROPERTY
           
static AxiomType<OWLTransitiveObjectPropertyAxiom> TRANSITIVE_OBJECT_PROPERTY
           
 
Method Summary
static java.util.Set<OWLAxiom> getAxiomsOfTypes(java.util.Set<OWLAxiom> sourceAxioms, AxiomType... axiomType)
          Gets the set of axioms from a source set of axioms that have a specified type
static java.util.Set<OWLAxiom> getAxiomsWithoutTypes(java.util.Set<OWLAxiom> sourceAxioms, AxiomType... axiomType)
          Gets the set of axioms from a source set of axioms that are not of the specified type
static AxiomType getAxiomType(java.lang.String name)
          Gets an axiom type by its name
 int getIndex()
           
 java.lang.String getName()
           
 boolean isAxiomType(java.lang.String name)
          Determines if there is an axiom type with the specified name
 boolean isLogical()
          Determines if this axiom type is a logical axiom type.
 boolean isNonSyntacticOWL2Axiom()
          Some OWL 2 axioms, for example, OWLNegativeDataPropertyAssertionAxiom axioms are structurally OWL 2 axioms, but can be represented using OWL 1 syntax.
 boolean isOWL2Axiom()
          Determines if this axiom is structurally an OWL 2 axiom.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

index

public final int index

AXIOM_TYPES

public static final java.util.Set<AxiomType> AXIOM_TYPES

DECLARATION

public static final AxiomType<OWLDeclarationAxiom> DECLARATION

EQUIVALENT_CLASSES

public static final AxiomType<OWLEquivalentClassesAxiom> EQUIVALENT_CLASSES

SUBCLASS_OF

public static final AxiomType<OWLSubClassOfAxiom> SUBCLASS_OF

DISJOINT_CLASSES

public static final AxiomType<OWLDisjointClassesAxiom> DISJOINT_CLASSES

DISJOINT_UNION

public static final AxiomType<OWLDisjointUnionAxiom> DISJOINT_UNION

CLASS_ASSERTION

public static final AxiomType<OWLClassAssertionAxiom> CLASS_ASSERTION

SAME_INDIVIDUAL

public static final AxiomType<OWLSameIndividualAxiom> SAME_INDIVIDUAL

DIFFERENT_INDIVIDUALS

public static final AxiomType<OWLDifferentIndividualsAxiom> DIFFERENT_INDIVIDUALS

OBJECT_PROPERTY_ASSERTION

public static final AxiomType<OWLObjectPropertyAssertionAxiom> OBJECT_PROPERTY_ASSERTION

NEGATIVE_OBJECT_PROPERTY_ASSERTION

public static final AxiomType<OWLNegativeObjectPropertyAssertionAxiom> NEGATIVE_OBJECT_PROPERTY_ASSERTION

DATA_PROPERTY_ASSERTION

public static final AxiomType<OWLDataPropertyAssertionAxiom> DATA_PROPERTY_ASSERTION

NEGATIVE_DATA_PROPERTY_ASSERTION

public static final AxiomType<OWLNegativeDataPropertyAssertionAxiom> NEGATIVE_DATA_PROPERTY_ASSERTION

EQUIVALENT_OBJECT_PROPERTIES

public static final AxiomType<OWLEquivalentObjectPropertiesAxiom> EQUIVALENT_OBJECT_PROPERTIES

SUB_OBJECT_PROPERTY

public static final AxiomType<OWLSubObjectPropertyOfAxiom> SUB_OBJECT_PROPERTY

INVERSE_OBJECT_PROPERTIES

public static final AxiomType<OWLInverseObjectPropertiesAxiom> INVERSE_OBJECT_PROPERTIES

FUNCTIONAL_OBJECT_PROPERTY

public static final AxiomType<OWLFunctionalObjectPropertyAxiom> FUNCTIONAL_OBJECT_PROPERTY

INVERSE_FUNCTIONAL_OBJECT_PROPERTY

public static final AxiomType<OWLInverseFunctionalObjectPropertyAxiom> INVERSE_FUNCTIONAL_OBJECT_PROPERTY

SYMMETRIC_OBJECT_PROPERTY

public static final AxiomType<OWLSymmetricObjectPropertyAxiom> SYMMETRIC_OBJECT_PROPERTY

ASYMMETRIC_OBJECT_PROPERTY

public static final AxiomType<OWLAsymmetricObjectPropertyAxiom> ASYMMETRIC_OBJECT_PROPERTY

TRANSITIVE_OBJECT_PROPERTY

public static final AxiomType<OWLTransitiveObjectPropertyAxiom> TRANSITIVE_OBJECT_PROPERTY

REFLEXIVE_OBJECT_PROPERTY

public static final AxiomType<OWLReflexiveObjectPropertyAxiom> REFLEXIVE_OBJECT_PROPERTY

IRREFLEXIVE_OBJECT_PROPERTY

public static final AxiomType<OWLIrreflexiveObjectPropertyAxiom> IRREFLEXIVE_OBJECT_PROPERTY

OBJECT_PROPERTY_DOMAIN

public static final AxiomType<OWLObjectPropertyDomainAxiom> OBJECT_PROPERTY_DOMAIN

OBJECT_PROPERTY_RANGE

public static final AxiomType<OWLObjectPropertyRangeAxiom> OBJECT_PROPERTY_RANGE

DISJOINT_OBJECT_PROPERTIES

public static final AxiomType<OWLDisjointObjectPropertiesAxiom> DISJOINT_OBJECT_PROPERTIES

SUB_PROPERTY_CHAIN_OF

public static final AxiomType<OWLSubPropertyChainOfAxiom> SUB_PROPERTY_CHAIN_OF

EQUIVALENT_DATA_PROPERTIES

public static final AxiomType<OWLEquivalentDataPropertiesAxiom> EQUIVALENT_DATA_PROPERTIES

SUB_DATA_PROPERTY

public static final AxiomType<OWLSubDataPropertyOfAxiom> SUB_DATA_PROPERTY

FUNCTIONAL_DATA_PROPERTY

public static final AxiomType<OWLFunctionalDataPropertyAxiom> FUNCTIONAL_DATA_PROPERTY

DATA_PROPERTY_DOMAIN

public static final AxiomType<OWLDataPropertyDomainAxiom> DATA_PROPERTY_DOMAIN

DATA_PROPERTY_RANGE

public static final AxiomType<OWLDataPropertyRangeAxiom> DATA_PROPERTY_RANGE

DISJOINT_DATA_PROPERTIES

public static final AxiomType<OWLDisjointDataPropertiesAxiom> DISJOINT_DATA_PROPERTIES

HAS_KEY

public static final AxiomType<OWLHasKeyAxiom> HAS_KEY

SWRL_RULE

public static final AxiomType<SWRLRule> SWRL_RULE

ANNOTATION_ASSERTION

public static final AxiomType<OWLAnnotationAssertionAxiom> ANNOTATION_ASSERTION

SUB_ANNOTATION_PROPERTY_OF

public static final AxiomType<OWLSubAnnotationPropertyOfAxiom> SUB_ANNOTATION_PROPERTY_OF

ANNOTATION_PROPERTY_RANGE

public static final AxiomType<OWLAnnotationPropertyRangeAxiom> ANNOTATION_PROPERTY_RANGE

ANNOTATION_PROPERTY_DOMAIN

public static final AxiomType<OWLAnnotationPropertyDomainAxiom> ANNOTATION_PROPERTY_DOMAIN

DATATYPE_DEFINITION

public static final AxiomType<OWLDatatypeDefinitionAxiom> DATATYPE_DEFINITION
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isOWL2Axiom

public boolean isOWL2Axiom()
Determines if this axiom is structurally an OWL 2 axiom.

Returns:
true if this axiom is an OWL 2 axiom, false if this axiom is not an OWL 2 axiom and it can be represented using OWL 1.

isNonSyntacticOWL2Axiom

public boolean isNonSyntacticOWL2Axiom()
Some OWL 2 axioms, for example, OWLNegativeDataPropertyAssertionAxiom axioms are structurally OWL 2 axioms, but can be represented using OWL 1 syntax. This method determines if this axiom type is a pure OWL 2 axiom and cannot be represented using OWL 1 syntax.

Returns:
true if this axiom is a pure OWL 2 axiom and cannot be represented using OWL 1 syntax, otherwise false.

getIndex

public int getIndex()

getName

public java.lang.String getName()

isLogical

public boolean isLogical()
Determines if this axiom type is a logical axiom type.

Returns:
true if this axiom type is a logical axiom type, otherwise false;

getAxiomsWithoutTypes

public static java.util.Set<OWLAxiom> getAxiomsWithoutTypes(java.util.Set<OWLAxiom> sourceAxioms,
                                                            AxiomType... axiomType)
Gets the set of axioms from a source set of axioms that are not of the specified type

Parameters:
sourceAxioms - The source set of axioms
axiomType - The types that will be filtered out of the source set
Returns:
A set of axioms that represents the sourceAxioms without the specified types. Note that sourceAxioms will not be modified. The returned set is a copy.

getAxiomsOfTypes

public static java.util.Set<OWLAxiom> getAxiomsOfTypes(java.util.Set<OWLAxiom> sourceAxioms,
                                                       AxiomType... axiomType)
Gets the set of axioms from a source set of axioms that have a specified type

Parameters:
sourceAxioms - The source set of axioms
axiomType - The types of axioms that will be returned
Returns:
A set of axioms that represents the sourceAxioms that have the specified types. Note that sourceAxioms will not be modified. The returned set is a copy.

getAxiomType

public static AxiomType getAxiomType(java.lang.String name)
Gets an axiom type by its name

Parameters:
name - The name of the axiom type
Returns:
The axiom type with the specified name, or null if there is no such axiom type with the specified name

isAxiomType

public boolean isAxiomType(java.lang.String name)
Determines if there is an axiom type with the specified name

Parameters:
name - The name to test for
Returns:
true if there is an axiom type with the specified name, or false if there is no axiom type with the specified name.