diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java index 0d92dd3c058b062ecf24ff4bc55893c7267f8bb7..454172175b9db3f27de47c560fe38d7321a3f5b5 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java @@ -35,48 +35,14 @@ import org.semanticweb.owl.align.Relation; import fr.inrialpes.exmo.align.impl.BasicAlignment; import org.omwg.mediation.language.export.omwg.OmwgSyntaxFormat; -import org.omwg.mediation.language.export.rdf.RdfSyntaxFormat; +//import org.omwg.mediation.language.export.rdf.RdfSyntaxFormat; import org.omwg.mediation.parser.alignment.NamespaceDefs; import org.omwg.mediation.language.objectmodel.api.Expression; // JE: we need jena... only for this renderer! -import com.hp.hpl.jena.rdf.model.Model; -import com.hp.hpl.jena.rdf.model.ModelFactory; +//import com.hp.hpl.jena.rdf.model.Model; +//import com.hp.hpl.jena.rdf.model.ModelFactory; -// Instead -import org.omwg.mediation.language.objectmodel.api.Arity; -import org.omwg.mediation.language.objectmodel.api.AttributeExpr; -import org.omwg.mediation.language.objectmodel.api.ClassExpr; -import org.omwg.mediation.language.objectmodel.api.ComplexExpression; -import org.omwg.mediation.language.objectmodel.api.Expression; -import org.omwg.mediation.language.objectmodel.api.ExpressionDefinition; -import org.omwg.mediation.language.objectmodel.api.IRI; -import org.omwg.mediation.language.objectmodel.api.Id; -import org.omwg.mediation.language.objectmodel.api.InstanceExpr; -import org.omwg.mediation.language.objectmodel.api.Level; -import org.omwg.mediation.language.objectmodel.api.MappingDocument; -import org.omwg.mediation.language.objectmodel.api.MappingRule; -import org.omwg.mediation.language.objectmodel.api.OntologyId; -import org.omwg.mediation.language.objectmodel.api.Path; -import org.omwg.mediation.language.objectmodel.api.RelationExpr; -import org.omwg.mediation.language.objectmodel.api.SimpleValue; -import org.omwg.mediation.language.objectmodel.api.TransfService; -import org.omwg.mediation.language.objectmodel.api.ComplexExpression.Operator; -import org.omwg.mediation.language.objectmodel.api.MappingRule.Direction; -import org.omwg.mediation.language.objectmodel.api.RelationExpr.RelationId; -import org.omwg.mediation.language.objectmodel.api.conditions.AttributeCondition; -import org.omwg.mediation.language.objectmodel.api.conditions.AttributeOccurenceCondition; -import org.omwg.mediation.language.objectmodel.api.conditions.AttributeTypeCondition; -import org.omwg.mediation.language.objectmodel.api.conditions.AttributeValueCondition; -import org.omwg.mediation.language.objectmodel.api.conditions.CoDomainRelationCondition; -import org.omwg.mediation.language.objectmodel.api.conditions.Condition; -import org.omwg.mediation.language.objectmodel.api.conditions.DomainAttributeCondition; -import org.omwg.mediation.language.objectmodel.api.conditions.DomainRelationCondition; -import org.omwg.mediation.language.objectmodel.api.conditions.Restriction; -import org.omwg.mediation.language.objectmodel.api.conditions.TypeCondition; -import org.omwg.mediation.parser.alignment.ComparatorMapping; -import org.omwg.mediation.parser.alignment.OperatorMapping; -import org.omwg.mediation.parser.rdf.Omwg; /** * Renders an alignment in its RDF format @@ -93,11 +59,11 @@ public class RDFRendererVisitor implements AlignmentVisitor Cell cell = null; OmwgSyntaxFormat oMWGformatter = null; //RdfSyntaxFormat oMWGformatter = null; - Model model = null; + //Model model = null; public RDFRendererVisitor( PrintWriter writer ){ this.writer = writer; - Model model = ModelFactory.createDefaultModel(); + //Model model = ModelFactory.createDefaultModel(); } public void visit( Alignment align ) throws AlignmentException { @@ -191,15 +157,12 @@ public class RDFRendererVisitor implements AlignmentVisitor // But this should be it! (at least for this one) if ( alignment.getLevel().equals("2OMWG") ) { writer.print(" <entity1>"); - //print( (Expression)cell.getObject1() , 4 ); writer.print( oMWGformatter.export( (Expression)cell.getObject1() ) ); //writer.print( oMWGformatter.getExprNode( (Expression)cell.getObject1(), model ) ); writer.print("</entity1>\n <entity2>"); writer.print( oMWGformatter.export( (Expression)cell.getObject2() ) ); //writer.print( oMWGformatter.getExprNode( (Expression)cell.getObject2(), model ) ); - //print( (Expression)cell.getObject2() , 4 ); writer.print("</entity2>\n <relation>"); - //writer.print(cell.getRelation().getRelation()); cell.getRelation().accept( this ); writer.print("</relation>\n"); } else { @@ -233,91 +196,4 @@ public class RDFRendererVisitor implements AlignmentVisitor rel.write( writer ); }; - public void print( Expression expr, int ind ) { - if ( expr instanceof ClassExpr ) { // I hate this dispatch - print( (ClassExpr)expr, ind ); - } else if ( expr instanceof AttributeExpr ) { - print( (AttributeExpr)expr, ind ); - } else if ( expr instanceof RelationExpr ) { - print( (RelationExpr)expr, ind ); - } else if ( expr instanceof InstanceExpr ) { - print( (InstanceExpr)expr, ind ); - } else { - System.err.println("Strange: an expression"); - } - } - public void print( ClassExpr expr, int ind ) { - ExpressionDefinition def = expr.getExpresionDefinition(); - // dummy: to be suppressed - Object conds = null; - //Set<Condition> conds = expr.getConditions(); - if ( def.isComplexExpression() || conds != null ) { - writer.println(); - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - writer.print( "<"+Omwg.Class); - if ( !def.isComplexExpression() ) { // strange - writer.print(" rdf:resource=\""+((Id)def).plainText()+"\">"); - } else { - writer.println(">"); ind++; - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - ComplexExpression ce = (ComplexExpression)def; - Operator op = ce.getOperator(); - switch (op){ - case NOT: - writer.print("<"+Omwg.not+" rdf:parseType=\"Collection\">"); - print( (ClassExpr)(ce.getSubExpressions().iterator().next()), ind+1 ); - writer.println(); - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - writer.print("</"+Omwg.not+"\">"); - break; - case AND: - writer.print("<"+Omwg.and+" rdf:parseType=\"Collection\">"); - writer.println(); - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - writer.print("</"+Omwg.and+"\">"); - break; - case OR: - writer.print("<"+Omwg.or+" rdf:parseType=\"Collection\">"); - writer.println(); - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - writer.print("</"+Omwg.or+"\">"); - break; - }; - ind--; - } - // Deal with operators - // Deal with restrictions - writer.print( "</"+Omwg.Class+">"); - } else { - writer.print( "<"+Omwg.Class+" rdf:resource=\""+((Id)def).plainText()+"\"/>" ); - } - } - public void print( AttributeExpr expr, int ind ) { - ExpressionDefinition def = expr.getExpresionDefinition(); - if (def.isComplexExpression()) { - writer.println(); - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - } else { - writer.print( "<"+Omwg.Attribute+" rdf:resource=\""+((Id)def).plainText()+"\"/>" ); - } - } - public void print( RelationExpr expr, int ind ) { - ExpressionDefinition def = expr.getExpresionDefinition(); - if (def.isComplexExpression()) { - writer.println(); - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - } else { - writer.print( "<"+Omwg.Relation+" rdf:resource=\""+((Id)def).plainText()+"\"/>" ); - } - } - public void print( InstanceExpr expr, int ind ) { - ExpressionDefinition def = expr.getExpresionDefinition(); - if (def.isComplexExpression()) { - writer.println(); - for ( int i = ind; i > 0; i-- ) writer.print( " " ); - } else { - writer.print( "<"+Omwg.Instance+" rdf:resource=\""+((Id)def).plainText()+"\"/>" ); - } - } - }