diff --git a/src/fr/inrialpes/exmo/align/impl/Annotations.java b/src/fr/inrialpes/exmo/align/impl/Annotations.java new file mode 100644 index 0000000000000000000000000000000000000000..08f33b04fe47016c93fcc785fd3299a95d29c020 --- /dev/null +++ b/src/fr/inrialpes/exmo/align/impl/Annotations.java @@ -0,0 +1,33 @@ +/* + * $Id$ + * + * Copyright (C) INRIA Rhône-Alpes, 2008 + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package fr.inrialpes.exmo.align.impl; + +public class Annotations { + + public static String ALIGNNS = "http://knowledgeweb.semanticweb.org/heterogeneity/alignment#"; + public static String METHOD = "method"; + public static String TIME = "time"; + public static String ID = "id"; + + /* Set to true for rejecting the use of deprecated (non deterministic) primitives */ + protected static boolean STRICT_IMPLEMENTATION = false; + +} diff --git a/src/fr/inrialpes/exmo/align/impl/BasicCell.java b/src/fr/inrialpes/exmo/align/impl/BasicCell.java index 4ee69ad3f814ad8165c3c2e15050fa225f4f92a0..5e988621677ac819472e6e0123d640bdea1c88f9 100644 --- a/src/fr/inrialpes/exmo/align/impl/BasicCell.java +++ b/src/fr/inrialpes/exmo/align/impl/BasicCell.java @@ -144,7 +144,7 @@ public class BasicCell implements Cell, Comparable { result.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); } } - result.getExtensions().unsetParameter( BasicAlignment.ALIGNNS+BasicAlignment.ID ); + result.getExtensions().unsetParameter( Annotations.ALIGNNS+Annotations.ID ); // The sae should be done for the measure return result; } diff --git a/src/fr/inrialpes/exmo/align/impl/Ontology.java b/src/fr/inrialpes/exmo/align/impl/Ontology.java index 72ad8a4404f247d08f614e6f6bc3ecd567e5141f..f2420716c20fad2134c1e25bd4c8e63b0e32ad51 100644 --- a/src/fr/inrialpes/exmo/align/impl/Ontology.java +++ b/src/fr/inrialpes/exmo/align/impl/Ontology.java @@ -1,8 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rhône-Alpes, 2003-2007 - * Copyright (C) CNR Pisa, 2005 + * Copyright (C) INRIA Rhône-Alpes, 2007 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by diff --git a/src/fr/inrialpes/exmo/align/impl/URIAlignment.java b/src/fr/inrialpes/exmo/align/impl/URIAlignment.java index 3deaba551686a9d689f534a4a8de74c390eb0e86..59085d10ec9148131728113fa76db71726808adb 100644 --- a/src/fr/inrialpes/exmo/align/impl/URIAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/URIAlignment.java @@ -129,7 +129,7 @@ public class URIAlignment extends BasicAlignment { // Deprecated: implement as the one retrieving the highest strength correspondence ( public Cell getAlignCell1(Object ob) throws AlignmentException { - if ( BasicAlignment.STRICT_IMPLEMENTATION == true ){ + if ( Annotations.STRICT_IMPLEMENTATION == true ){ throw new AlignmentException("getAlignCell1: deprecated (use getAlignCells1 instead)"); } else { if ( ob instanceof URI ){ @@ -141,7 +141,7 @@ public class URIAlignment extends BasicAlignment { } public Cell getAlignCell2(Object ob) throws AlignmentException { - if ( BasicAlignment.STRICT_IMPLEMENTATION == true ){ + if ( Annotations.STRICT_IMPLEMENTATION == true ){ throw new AlignmentException("getAlignCell2: deprecated (use getAlignCells2 instead)"); } else { if ( ob instanceof URI ){ @@ -175,7 +175,7 @@ public class URIAlignment extends BasicAlignment { for ( Object ext : ((BasicParameters)extensions).getValues() ){ align.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); } - align.getExtensions().unsetParameter( ALIGNNS+"id" ); + align.getExtensions().unsetParameter( Annotations.ALIGNNS+"id" ); try { align.ingest( this ); } catch (AlignmentException ex) { ex.printStackTrace(); } diff --git a/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java index 3f022da08a46b53dd5ad2f97bbe2d407f2fe1568..dd236a66fdf1fe31e2eb1af60f2cdbbbece44f23 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java @@ -27,6 +27,7 @@ import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.BasicEvaluator; import fr.inrialpes.exmo.align.impl.BasicAlignment; +import fr.inrialpes.exmo.align.impl.Annotations; import java.util.Enumeration; import java.util.Iterator; @@ -133,7 +134,7 @@ public class PRecEvaluator extends BasicEvaluator { fmeasure = 2 * precision * recall / (precision + recall); overall = recall * (2 - (1 / precision)); result = recall / precision; - String timeExt = align2.getExtension( BasicAlignment.ALIGNNS, BasicAlignment.TIME ); + String timeExt = align2.getExtension( Annotations.ALIGNNS, Annotations.TIME ); if ( timeExt != null ) time = Long.parseLong(timeExt); //System.err.println(">>>> " + nbcorrect + " : " + nbfound + " : " + nbexpected); return (result); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java index 47376d278a13c7eff5c27bb95583760acd45f561..a2008b23e820d1d170090f6bb40e55e7e487bac5 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rhône-Alpes, 2003-2004, 2007 + * Copyright (C) INRIA Rhône-Alpes, 2003-2004, 2007-2008 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -84,7 +84,6 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor } public void visit( Cell cell ) throws AlignmentException { this.cell = cell; - //OWLOntology onto1 = (OWLOntology)alignment.getOntology1(); writer.print(" <cowl:bridgeRule>\n"); cell.getRelation().accept( this ); writer.print(" </cowl:bridgeRule>\n"); @@ -166,7 +165,6 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor } catch (InvocationTargetException e) { e.printStackTrace(); } - // } catch (OWLException e) { throw new AlignmentException("Dispatching problem ", e); }; } public void printObject( URI uri, OWLOntology onto ) throws OWLException { diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java index d74b432772166c8fb457ac294f896c4f88f935bf..dba5a84bf9c772182c01d38d25adcdcb308ad247 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java @@ -29,7 +29,7 @@ import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; -import fr.inrialpes.exmo.align.impl.BasicAlignment; +import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.BasicParameters; /** @@ -93,7 +93,7 @@ public class HTMLRendererVisitor implements AlignmentVisitor if ( cell.getId() != null ) { String id = cell.getId(); // Would be useful to test for the Alignment URI - if ( id.startsWith( (String)alignment.getExtension( BasicAlignment.ALIGNNS, BasicAlignment.ID ) ) ){ + if ( id.startsWith( (String)alignment.getExtension( Annotations.ALIGNNS, Annotations.ID ) ) ){ writer.print("<td>"+id.substring( id.indexOf( '#' ) )+"</td>"); } else { writer.print("<td>"+id+"</td>"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java index a59677e30dc08662f0ea09b59c0e94593b890eb0..5cfd8c4ef1cc8e858e2b46e72735fd6bf74df4b0 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java @@ -30,8 +30,7 @@ import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; -// JE: this has been introduced here for the sole purpose of -// using the namespace facility of BasicAlignment +import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.BasicAlignment; import fr.inrialpes.exmo.align.impl.BasicParameters; @@ -64,7 +63,7 @@ public class RDFRendererVisitor implements AlignmentVisitor String extensionString = ""; alignment = align; nslist = new Hashtable(); - nslist.put(BasicAlignment.ALIGNNS,"align"); + nslist.put(Annotations.ALIGNNS,"align"); nslist.put("http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdf"); nslist.put("http://www.w3.org/2001/XMLSchema#","xsd"); //nslist.put("http://www.omwg.org/TR/d7/ontology/alignment","omwg"); @@ -84,7 +83,7 @@ public class RDFRendererVisitor implements AlignmentVisitor } writer.print("<?xml version='1.0' encoding='utf-8"); writer.print("' standalone='no'?>\n"); - writer.print("<rdf:RDF xmlns='"+BasicAlignment.ALIGNNS+"'"); + writer.print("<rdf:RDF xmlns='"+Annotations.ALIGNNS+"'"); for ( Enumeration e = nslist.keys() ; e.hasMoreElements(); ) { String k = (String)e.nextElement(); writer.print("\n xmlns:"+nslist.get(k)+"='"+k+"'"); @@ -99,7 +98,7 @@ public class RDFRendererVisitor implements AlignmentVisitor } writer.print(">\n"); writer.print("<Alignment"); - String idext = align.getExtension( BasicAlignment.ALIGNNS, BasicAlignment.ID ); + String idext = align.getExtension( Annotations.ALIGNNS, Annotations.ID ); if ( idext != null ) { writer.print(" rdf:about=\""+idext+"\""); } diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java index 967105a25d7baaf8b88cca84fedcd5421028f751..a4955b8611823866f59c77da130419560afcddf9 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rhône-Alpes, 2003-2004, 2006-2007 + * Copyright (C) INRIA Rhône-Alpes, 2003-2004, 2006-2008 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -72,10 +72,6 @@ public class XSLTRendererVisitor implements AlignmentVisitor writer.println(" xmlns:"+namespaces.get(ns)+"=\""+ns+"\""); } writer.println(" >\n"); - // writer.println(" xmlns:owl=\"http://www.w3.org/2002/07/owl#\""); - //writer.println(" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""); - //writer.println(" xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" "); - //writer.println(" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema#\">\n"); for ( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ Cell c = (Cell)e.nextElement(); @@ -99,16 +95,7 @@ public class XSLTRendererVisitor implements AlignmentVisitor public void visit( Cell cell ) throws AlignmentException { this.cell = cell; - // This was here for avoiding to treat individuals... - //OWLOntology onto1 = (OWLOntology)alignment.getOntology1(); - //try { - // URI entity1URI = ((OWLEntity)cell.getObject1()).getURI(); - // if ( ((OWLEntity)onto1.getClass( entity1URI ) != null ) - // || ((OWLEntity)onto1.getDataProperty( entity1URI ) != null) - // || ((OWLEntity)onto1.getObjectProperty( entity1URI ) != null )) { - cell.getRelation().accept( this ); - // } - //} catch (OWLException e) { throw new AlignmentException("getURI problem", e); }; + cell.getRelation().accept( this ); } private void collectURIs ( Cell cell ) throws AlignmentException { diff --git a/src/fr/inrialpes/exmo/align/parser/AlignmentParser.java b/src/fr/inrialpes/exmo/align/parser/AlignmentParser.java index 8a6fe12748b546387fa4dbd772ba6c149b4098c6..6b3f79793367d62bb3a93cce32e490040095ba00 100644 --- a/src/fr/inrialpes/exmo/align/parser/AlignmentParser.java +++ b/src/fr/inrialpes/exmo/align/parser/AlignmentParser.java @@ -55,7 +55,7 @@ import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.Ontology; import fr.inrialpes.exmo.align.impl.URIAlignment; import fr.inrialpes.exmo.align.impl.BasicParameters; -import fr.inrialpes.exmo.align.impl.BasicAlignment; +import fr.inrialpes.exmo.align.impl.Annotations; /** * This class allows the creation of a parser for an Alignment file. @@ -312,7 +312,7 @@ public class AlignmentParser extends DefaultHandler { onto1 = new Ontology(); onto2 = new Ontology(); if ( atts.getValue("rdf:about") != null && !atts.getValue("rdf:about").equals("") ) { - alignment.setExtension( BasicAlignment.ALIGNNS, BasicAlignment.ID, atts.getValue("rdf:about") ); + alignment.setExtension( Annotations.ALIGNNS, Annotations.ID, atts.getValue("rdf:about") ); }; } else { if ( debugMode > 0 ) System.err.println("[AlignmentParser] Unknown element name : "+pName); diff --git a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java index 5189799493e350ff13f853de5d96205fdfe64eb4..12ec5dd672bf46f0c68b8032117b9e46944faec0 100644 --- a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java +++ b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java @@ -21,7 +21,7 @@ package fr.inrialpes.exmo.align.service; import fr.inrialpes.exmo.align.impl.BasicParameters; -import fr.inrialpes.exmo.align.impl.BasicAlignment; +import fr.inrialpes.exmo.align.impl.Annotations; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Parameters; @@ -219,7 +219,7 @@ public class WSAServProfile implements AlignmentServiceProfile { } else if ( method.equals("listalignmentsRequest") ) { msg += "<listalignmentsResponse><alignmentList>"; for( Enumeration e = manager.alignments(); e.hasMoreElements(); ){ - String id = ((Alignment)e.nextElement()).getExtension(BasicAlignment.ALIGNNS, BasicAlignment.ID); + String id = ((Alignment)e.nextElement()).getExtension(Annotations.ALIGNNS, Annotations.ID); msg += "<alid>"+id+"</alid>"; } msg += "</alignmentList></listalignmentsResponse>"; diff --git a/src/fr/inrialpes/exmo/align/util/GroupAlign.java b/src/fr/inrialpes/exmo/align/util/GroupAlign.java index 372c326d64465a2a7f69aa841692403918a28a77..55c77571e6fe18c368b4770077a8a393b99670d6 100644 --- a/src/fr/inrialpes/exmo/align/util/GroupAlign.java +++ b/src/fr/inrialpes/exmo/align/util/GroupAlign.java @@ -36,7 +36,7 @@ import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.Parameters; -import fr.inrialpes.exmo.align.impl.BasicAlignment; +import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.OntologyCache; import fr.inrialpes.exmo.align.parser.AlignmentParser; @@ -304,7 +304,7 @@ public class GroupAlign { long time = System.currentTimeMillis(); result.align(init, params); // add opts long newTime = System.currentTimeMillis(); - result.setExtension( BasicAlignment.ALIGNNS, BasicAlignment.TIME, Long.toString(newTime - time) ); + result.setExtension( Annotations.ALIGNNS, Annotations.TIME, Long.toString(newTime - time) ); if (debug > 1) System.err.println(" Alignment performed"); diff --git a/src/fr/inrialpes/exmo/align/util/Procalign.java b/src/fr/inrialpes/exmo/align/util/Procalign.java index 3b425b4dd3982387cb1331e1cfdf49cdc93135e0..0a0fd689b9b62ff622d5dae4f57e2bc1003d919c 100644 --- a/src/fr/inrialpes/exmo/align/util/Procalign.java +++ b/src/fr/inrialpes/exmo/align/util/Procalign.java @@ -32,7 +32,7 @@ import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.Parameters; -import fr.inrialpes.exmo.align.impl.BasicAlignment; +import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.OntologyCache; @@ -247,7 +247,7 @@ public class Procalign { long time = System.currentTimeMillis(); result.align( init, params ); // add opts long newTime = System.currentTimeMillis(); - result.setExtension( BasicAlignment.ALIGNNS, BasicAlignment.TIME, Long.toString(newTime - time) ); + result.setExtension( Annotations.ALIGNNS, Annotations.TIME, Long.toString(newTime - time) ); // Thresholding if (threshold != 0) result.cut( cutMethod, threshold );