From 5cbcac2b7df52d4f6e48881d585a8d0a16455788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Thu, 19 May 2005 08:44:56 +0000 Subject: [PATCH] - introduced parameters reading in basic parameters (from Vison) - added option for reading parameter files in Procalign --- lib/procalign.jar | Bin 86285 -> 87202 bytes .../exmo/align/impl/BasicParameters.java | 60 ++++++++++++++++-- .../inrialpes/exmo/align/util/Procalign.java | 44 ++++++++----- 3 files changed, 84 insertions(+), 20 deletions(-) diff --git a/lib/procalign.jar b/lib/procalign.jar index 14c03f07cc3d981fa5f157d2b647195e5e1eb977..4592a6f29e3c6e8d2695b5839cdfc8c91cb5ba06 100644 GIT binary patch delta 7802 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 delta 6761 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 QShNwqboRRpc!FU61H?IV&;S4c diff --git a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java index 2cd41c23..54f180fc 100644 --- a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java +++ b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java @@ -1,7 +1,8 @@ /* * $Id$ * - * Copyright (C) INRIA Rhône-Alpes, 2004 + * Copyright (C) INRIA Rhône-Alpes, 2004-2005 + * Copyright (C) University of Montréal, 2004 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -24,6 +25,19 @@ package fr.inrialpes.exmo.align.impl; // import java classes import java.util.Hashtable; import java.util.Enumeration; +import java.io.PrintStream; +import java.io.File; + +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.w3c.dom.Element; + +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.DocumentBuilder; + +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; import org.semanticweb.owl.align.Parameters; @@ -68,11 +82,49 @@ public class BasicParameters implements Parameters { System.out.println("</Parameters>"); } + /** + * displays the current parameters (debugging) + */ + public void displayParameters( PrintStream stream ){ + stream.println("Parameters:"); + for (Enumeration e = parameters.keys(); e.hasMoreElements();) { + String k = (String)e.nextElement(); + stream.println(" "+k+" = "+parameters.get(k)); + } + } + public static Parameters read(){ Parameters p = new BasicParameters(); - // open the stream - // parse it - // fill the structure + String filename = "params.xml"; + + try { + // open the stream + DocumentBuilderFactory docBuilderFactory = + DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); + Document doc = docBuilder.parse(new File(filename)); + + // normalize text representation + doc.getDocumentElement().normalize(); + + // Get the params + NodeList paramList = doc.getElementsByTagName("param"); + int totalParams = paramList.getLength(); + for (int s = 0; s < totalParams; s++) { + Element paramElement = (Element)paramList.item(s); + String paramName = paramElement.getAttribute("name"); + NodeList paramContent = paramElement.getChildNodes(); + String paramValue =((Node)paramContent.item(0)).getNodeValue().trim(); + p.setParameter(paramName, paramValue); + } + } catch (SAXParseException err) { + System.err.println("** Parsing error: ["+ err.getLineNumber()+"]: "+err.getSystemId()); + System.err.println(" " + err.getMessage()); + } catch (SAXException e) { + Exception x = e.getException(); + ((x == null) ? e : x).printStackTrace(); + } catch (Throwable t) { t.printStackTrace(); } + return p; } } diff --git a/src/fr/inrialpes/exmo/align/util/Procalign.java b/src/fr/inrialpes/exmo/align/util/Procalign.java index 47ce7aaf..7d24ad16 100644 --- a/src/fr/inrialpes/exmo/align/util/Procalign.java +++ b/src/fr/inrialpes/exmo/align/util/Procalign.java @@ -84,6 +84,7 @@ import fr.inrialpes.exmo.align.parser.AlignmentParser; where the options are: <pre> --alignment=filename -a filename Start from an XML alignment file + --params=filename -p filename Read the parameters in file --debug[=n] -d [n] Report debug info at level n, --output=filename -o filename Output the alignment in filename --impl=className -i classname Use the given alignment implementation. @@ -123,6 +124,7 @@ public class Procalign { Alignment init = null; String alignmentClassName = "fr.inrialpes.exmo.align.impl.method.ClassNameEqAlignment"; String filename = null; + String paramfile = null; String rendererClass = "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor"; //PrintStream writer = null; PrintWriter writer = null; @@ -131,7 +133,7 @@ public class Procalign { double threshold = 0; Parameters params = new BasicParameters(); - LongOpt[] longopts = new LongOpt[9]; + LongOpt[] longopts = new LongOpt[10]; longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'); longopts[1] = new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o'); @@ -141,10 +143,11 @@ public class Procalign { longopts[5] = new LongOpt("impl", LongOpt.REQUIRED_ARGUMENT, null, 'i'); longopts[6] = new LongOpt("threshold", LongOpt.REQUIRED_ARGUMENT, null, 't'); longopts[7] = new LongOpt("cutmethod", LongOpt.REQUIRED_ARGUMENT, null, 'T'); + longopts[8] = new LongOpt("params", LongOpt.REQUIRED_ARGUMENT, null, 'p'); // Is there a way for that in LongOpt ??? - longopts[8] = new LongOpt("D", LongOpt.REQUIRED_ARGUMENT, null, 'D'); + longopts[9] = new LongOpt("D", LongOpt.REQUIRED_ARGUMENT, null, 'D'); - Getopt g = new Getopt("", args, "ho:a:d::r:t:T:i:D::", longopts); + Getopt g = new Getopt("", args, "ho:a:p:d::r:t:T:i:D::", longopts); int c; String arg; @@ -154,9 +157,13 @@ public class Procalign { usage(); return null; case 'o' : - /* Write warnings to stdout rather than stderr */ + /* Use filename instead of stdout */ filename = g.getOptarg(); break; + case 'p' : + /* Read parameters from filename */ + paramfile = g.getOptarg(); + break; case 'r' : /* Use the given class for rendering */ rendererClass = g.getOptarg(); @@ -202,6 +209,10 @@ public class Procalign { int i = g.getOptind(); + // Read the param file here + // This should include redirecting input + this should be before + if ( paramfile != null ) params = (Parameters)BasicParameters.read(); + loadedOntologies = new Hashtable(); if (debug > 0) params.setParameter("debug", new Integer(debug)); // debug = ((Integer)params.getParameter("debug")).intValue(); @@ -233,7 +244,7 @@ public class Procalign { throw new SAXException(message.toString()); } public void warning(String message) throws SAXException { - System.out.println("WARNING: " + message); + System.err.println("WARNING: " + message); } }; @@ -322,16 +333,17 @@ public class Procalign { } public static void usage() { - System.out.println("usage: Procalign [options] URI1 URI2"); - System.out.println("options are:"); - System.out.println("\t--impl=className -i classname\t\tUse the given alignment implementation."); - System.out.println("\t--renderer=className -r className\tSpecifies the alignment renderer"); - System.out.println("\t--output=filename -o filename\tOutput the alignment in filename"); - System.out.println("\t--alignment=filename -a filename Start from an XML alignment file"); - System.out.println("\t--threshold=double -t double\tFilters the similarities under threshold"); - System.out.println("\t--cutmethod=hard|perc|prop|best|span -T hard|perc|prop|best|span\tmethod for computing the threshold"); - System.out.println("\t--debug[=n] -d [n]\t\tReport debug info at level n"); - System.out.println("\t-Dparam=value\t\t\tSet parameter"); - System.out.println("\t--help -h\t\t\tPrint this message"); + System.err.println("usage: Procalign [options] URI1 URI2"); + System.err.println("options are:"); + System.err.println("\t--impl=className -i classname\t\tUse the given alignment implementation."); + System.err.println("\t--renderer=className -r className\tSpecifies the alignment renderer"); + System.err.println("\t--output=filename -o filename\tOutput the alignment in filename"); + System.err.println("\t--params=filename -p filename\tReads parameters from filename"); + System.err.println("\t--alignment=filename -a filename Start from an XML alignment file"); + System.err.println("\t--threshold=double -t double\tFilters the similarities under threshold"); + System.err.println("\t--cutmethod=hard|perc|prop|best|span -T hard|perc|prop|best|span\tmethod for computing the threshold"); + System.err.println("\t--debug[=n] -d [n]\t\tReport debug info at level n"); + System.err.println("\t-Dparam=value\t\t\tSet parameter"); + System.err.println("\t--help -h\t\t\tPrint this message"); } } -- GitLab