org.semanticweb.owl.util
Class OWLObjectPropertyUtil

java.lang.Object
  extended by org.semanticweb.owl.util.OWLObjectPropertyUtil

public class OWLObjectPropertyUtil
extends java.lang.Object

Author: Matthew Horridge
The University Of Manchester
Bio-Health Informatics Group
Date: 25-Feb-2008


Nested Class Summary
static class OWLObjectPropertyUtil.OWLObjectPropertyExpressionPair
           
 
Constructor Summary
OWLObjectPropertyUtil(OWLDataFactory dataFactory, OWLOntologySetProvider ontologySetProvider)
           
 
Method Summary
 OWLObjectPropertyExpression getInverse(OWLObjectPropertyExpression prop)
          Gets the inverse of the specified property
 java.util.Set<OWLObjectPropertyUtil.OWLObjectPropertyExpressionPair> getObjectPropertyHierarchyRelations()
          The object property hierarchy relation → is the smallest relation on object property expressions for which the following conditions hold (A → B means that → holds for A and B): if Ax contains an axiom SubObjectPropertyOf(PE1 PE2), then PE1 → PE2 holds; and if Ax contains an axiom EquivalentObjectProperties(PE1 PE2), then PE1 → PE2 and PE2 → PE1 hold; and if Ax contains an axiom InverseObjectProperties(PE1 PE2), then PE1 → INV(PE2) and INV(PE2) → PE1 hold; and if Ax contains an axiom SymmetricObjectProperty(PE), then PE → INV(PE) holds; and if PE1 → PE2 holds, then INV(PE1) → INV(PE2) holds as well.
protected  java.util.Set<OWLOntology> getOntologies()
           
 java.util.Set<OWLObjectPropertyUtil.OWLObjectPropertyExpressionPair> getReflexiveTransitiveClosure(java.util.Set<OWLObjectPropertyUtil.OWLObjectPropertyExpressionPair> pairs)
           
 OWLObjectPropertyExpression getSimplifiedPropertyExpression(OWLObjectPropertyExpression prop)
          Obtains the simplified form of a property expression.
 boolean isComposite(OWLObjectPropertyExpression expression)
          An object property expression PE is composite in Ax if Ax contains an axiom of the form SubObjectPropertyOf(SubObjectPropertyChain(PE1 ...
 boolean isSimple(OWLObjectPropertyExpression expression)
          The relation →* is the reflexive-transitive closure of →.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OWLObjectPropertyUtil

public OWLObjectPropertyUtil(OWLDataFactory dataFactory,
                             OWLOntologySetProvider ontologySetProvider)
Method Detail

getOntologies

protected java.util.Set<OWLOntology> getOntologies()

isSimple

public boolean isSimple(OWLObjectPropertyExpression expression)
The relation →* is the reflexive-transitive closure of →. An object property expression PE is simple in Ax if, for each object property expression PE' such that PE' →* PE holds, PE' is not composite.

Parameters:
expression - The expression to be tested.
Returns:
true if the object property expression is simple, otherwise false.

getReflexiveTransitiveClosure

public java.util.Set<OWLObjectPropertyUtil.OWLObjectPropertyExpressionPair> getReflexiveTransitiveClosure(java.util.Set<OWLObjectPropertyUtil.OWLObjectPropertyExpressionPair> pairs)

getObjectPropertyHierarchyRelations

public java.util.Set<OWLObjectPropertyUtil.OWLObjectPropertyExpressionPair> getObjectPropertyHierarchyRelations()
The object property hierarchy relation → is the smallest relation on object property expressions for which the following conditions hold (A → B means that → holds for A and B): if Ax contains an axiom SubObjectPropertyOf(PE1 PE2), then PE1 → PE2 holds; and if Ax contains an axiom EquivalentObjectProperties(PE1 PE2), then PE1 → PE2 and PE2 → PE1 hold; and if Ax contains an axiom InverseObjectProperties(PE1 PE2), then PE1 → INV(PE2) and INV(PE2) → PE1 hold; and if Ax contains an axiom SymmetricObjectProperty(PE), then PE → INV(PE) holds; and if PE1 → PE2 holds, then INV(PE1) → INV(PE2) holds as well.


isComposite

public boolean isComposite(OWLObjectPropertyExpression expression)
An object property expression PE is composite in Ax if Ax contains an axiom of the form SubObjectPropertyOf(SubObjectPropertyChain(PE1 ... PEn) PE) with n > 1, or SubObjectPropertyOf(SubObjectPropertyChain(PE1 ... PEn) INV(PE)) with n > 1, or TransitiveObjectProperty(PE), or TransitiveObjectProperty(INV(PE)).

Parameters:
expression - The object property expression to be tested
Returns:
true if the object property is composite (according to the above definition) or false if the object property is not composite.

getSimplifiedPropertyExpression

public OWLObjectPropertyExpression getSimplifiedPropertyExpression(OWLObjectPropertyExpression prop)
Obtains the simplified form of a property expression. Let P be a named property If:

Parameters:
prop - The property to be simplified.
Returns:
For a given property, P, and an expression involving P, then the return value is either P or INV(P).

getInverse

public OWLObjectPropertyExpression getInverse(OWLObjectPropertyExpression prop)
Gets the inverse of the specified property

Parameters:
prop - The property whose inverse is to be obtained.
Returns:
The inverse of the specified property. If prop is named then this will be INV(prop). If prop is anonymous i.e. INV(prop) then prop will be returned.