Alignment API and Server 4.2.${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 1566 2011-04-20 07:12:36Z 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, Relation rel, Object ob)
          Regular: relation name depends on loaded ontology
 String getRelationName(Relation rel, Object ob)
          For EDOAL relation name depends on type of expressions
 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(EquivRelation rel)
           
 void visit(Expression o)
           
 void visit(HasInstanceRelation rel)
           
 void visit(IncompatRelation rel)
           
 void visit(InstanceExpression e)
           
 void visit(InstanceId e)
           
 void visit(InstanceOfRelation rel)
           
 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

visit

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

visit

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

getRelationName

public String getRelationName(Relation rel,
                              Object ob)
For EDOAL relation name depends on type of expressions


getRelationName

public String getRelationName(LoadedOntology onto,
                              Relation rel,
                              Object ob)
Regular: relation name depends on loaded ontology


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(InstanceOfRelation rel)
           throws AlignmentException
Throws:
AlignmentException

visit

public void visit(HasInstanceRelation rel)
           throws AlignmentException
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.2.${version.update}

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