Alignment API and Server 4.1.${version.update}

fr.inrialpes.exmo.align.impl.renderer
Class OWLAxiomsRendererVisitor

java.lang.Object
  extended by fr.inrialpes.exmo.align.impl.renderer.IndentedRendererVisitor
      extended by fr.inrialpes.exmo.align.impl.renderer.OWLAxiomsRendererVisitor
All Implemented Interfaces:
AlignmentVisitor

public class OWLAxiomsRendererVisitor
extends IndentedRendererVisitor
implements AlignmentVisitor

Renders an alignment as a new ontology merging these.

Version:
$Id: OWLAxiomsRendererVisitor.java 1523 2010-10-11 14:06:03Z euzenat $
Author:
Jérôme Euzenat

Field Summary
(package private)  Alignment alignment
           
(package private)  Cell cell
           
private static Namespace DEF
           
(package private)  boolean edoal
           
(package private)  boolean heterogeneous
           
(package private)  LoadedOntology onto1
           
(package private)  LoadedOntology onto2
           
(package private)  Relation toProcess
           
 
Fields inherited from class fr.inrialpes.exmo.align.impl.renderer.IndentedRendererVisitor
INDENT, linePrefix, NL, writer
 
Constructor Summary
OWLAxiomsRendererVisitor(PrintWriter writer)
           
 
Method Summary
 String getRelationName(LoadedOntology onto, Object ob, Relation rel)
           
 void init(Properties p)
           
 void visit(Alignment align)
           
 void visit(Apply e)
           
 void visit(Cell cell)
           
 void visit(ClassConstruction e)
           
 void visit(ClassDomainRestriction c)
           
 void visit(ClassExpression e)
           
 void visit(ClassId e)
           
 void visit(ClassOccurenceRestriction c)
           
 void visit(ClassRestriction e)
           
 void visit(ClassTypeRestriction c)
           
 void visit(ClassValueRestriction c)
           
 void visit(Datatype e)
          Our Datatypes are only strings identifying datatypes.
 void visit(EDOALCell cell)
           
 void visit(EDOALRelation o)
          The current implementation is not satisfying: EDOALRelation is deconnected from Relation (for historical purposes) This is left this way because the complete relations should be reengineered
 void visit(EquivRelation rel)
           
 void visit(Expression o)
           
 void visit(IncompatRelation rel)
           
 void visit(InstanceExpression e)
           
 void visit(InstanceId e)
           
 void visit(PathExpression p)
           
 void visit(PropertyConstruction e)
          OWL, and in particular OWL 2, does not allow for more Relation (ObjectProperty) and Property (DataProperty) constructor than owl:inverseOf It is thus imposible to transcribe our and, or and not constructors.
 void visit(PropertyDomainRestriction c)
           
 void visit(PropertyExpression e)
           
 void visit(PropertyId e)
           
 void visit(PropertyRestriction e)
           
 void visit(PropertyTypeRestriction c)
           
 void visit(PropertyValueRestriction c)
           
 void visit(Relation rel)
           
 void visit(RelationCoDomainRestriction c)
           
 void visit(RelationConstruction e)
          OWL, and in particular OWL 2, does not allow for more Relation (ObjectProperty) and Property (DataProperty) constructor than owl:inverseOf It is thus imposible to transcribe our and, or and not constructors.
 void visit(RelationDomainRestriction c)
           
 void visit(RelationExpression e)
           
 void visit(RelationId e)
           
 void visit(RelationRestriction e)
           
 void visit(SubsumedRelation rel)
           
 void visit(SubsumeRelation rel)
           
 void visit(Transformation transf)
           
 void visit(Value e)
           
 void visit(ValueExpression e)
           
 void visit(Visitable o)
           
 
Methods inherited from class fr.inrialpes.exmo.align.impl.renderer.IndentedRendererVisitor
decreaseIndent, increaseIndent, indentedOutput, indentedOutput, indentedOutputln, indentedOutputln, setIndentString, setNewLineString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

heterogeneous

boolean heterogeneous

edoal

boolean edoal

alignment

Alignment alignment

onto1

LoadedOntology onto1

onto2

LoadedOntology onto2

cell

Cell cell

toProcess

Relation toProcess

DEF

private static Namespace DEF
Constructor Detail

OWLAxiomsRendererVisitor

public OWLAxiomsRendererVisitor(PrintWriter writer)
Method Detail

init

public void init(Properties p)
Specified by:
init in interface AlignmentVisitor

visit

public void visit(Visitable o)
           throws AlignmentException
Specified by:
visit in interface AlignmentVisitor
Throws:
AlignmentException

visit

public void visit(Alignment align)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(Cell cell)
           throws AlignmentException
Throws:
AlignmentException

getRelationName

public String getRelationName(LoadedOntology onto,
                              Object ob,
                              Relation rel)

visit

public void visit(EquivRelation rel)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(SubsumeRelation rel)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(SubsumedRelation rel)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(IncompatRelation rel)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(Relation rel)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(EDOALCell cell)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(EDOALRelation o)
           throws AlignmentException
The current implementation is not satisfying: EDOALRelation is deconnected from Relation (for historical purposes) This is left this way because the complete relations should be reengineered

Throws:
AlignmentException

visit

public void visit(Expression o)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(PathExpression p)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassExpression e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassId e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassConstruction e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassRestriction e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassValueRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassTypeRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassDomainRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ClassOccurenceRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(PropertyExpression e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(PropertyId e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(PropertyConstruction e)
           throws AlignmentException
OWL, and in particular OWL 2, does not allow for more Relation (ObjectProperty) and Property (DataProperty) constructor than owl:inverseOf It is thus imposible to transcribe our and, or and not constructors.

Throws:
AlignmentException

visit

public void visit(PropertyRestriction e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(PropertyValueRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(PropertyDomainRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(PropertyTypeRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(RelationExpression e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(RelationId e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(RelationConstruction e)
           throws AlignmentException
OWL, and in particular OWL 2, does not allow for more Relation (ObjectProperty) and Property (DataProperty) constructor than owl:inverseOf It is thus imposible to transcribe our and, or and not constructors. Moreover, they have no constructor for the symmetric, transitive and reflexive closure and the compositional closure (or composition) can only be obtained by defining a property subsumed by this closure through an axiom. It is also possible to rewrite the reflexive closures as axioms as well. But the transitive closure can only be obtained through subsuption.

Throws:
AlignmentException

visit

public void visit(RelationRestriction e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(RelationCoDomainRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(RelationDomainRestriction c)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(InstanceExpression e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(InstanceId e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(ValueExpression e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(Value e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(Apply e)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(Transformation transf)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(Datatype e)
Our Datatypes are only strings identifying datatypes. For OWL, they should be considered as built-in types because we do not know how to add other types. Hence we could simply have used a rdfs:Datatype="" OWL offers further possiblities, such as additional owl:withRestriction clauses


Alignment API and Server 4.1.${version.update}

(C) INRIA & friends, 2003-${curryear}