From: <jen...@us...> - 2007-10-19 12:01:13
|
Revision: 252 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=252&view=rev Author: jenslehmann Date: 2007-10-19 05:01:07 -0700 (Fri, 19 Oct 2007) Log Message: ----------- added export method to abstract knowledge source class Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/cli/Start.java trunk/src/dl-learner/org/dllearner/core/KnowledgeSource.java trunk/src/dl-learner/org/dllearner/core/ReasoningService.java trunk/src/dl-learner/org/dllearner/kb/KBFile.java trunk/src/dl-learner/org/dllearner/kb/OWLFile.java trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java trunk/src/dl-learner/org/dllearner/reasoning/JenaOWLDIGConverter.java trunk/src/dl-learner/org/dllearner/reasoning/KAON2Reasoner.java trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDIGConverter.java trunk/src/dl-learner/org/dllearner/utilities/PaperStatistics.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/core/OntologyFormat.java trunk/src/dl-learner/org/dllearner/core/OntologyFormatUnsupportedException.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/kb/OntologyFileFormat.java Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2007-10-19 12:01:07 UTC (rev 252) @@ -41,6 +41,7 @@ import org.dllearner.core.KnowledgeSource; import org.dllearner.core.LearningAlgorithm; import org.dllearner.core.LearningProblem; +import org.dllearner.core.OntologyFormat; import org.dllearner.core.ReasonerComponent; import org.dllearner.core.ReasoningService; import org.dllearner.core.Score; @@ -58,7 +59,6 @@ import org.dllearner.core.dl.Individual; import org.dllearner.kb.KBFile; import org.dllearner.kb.OWLFile; -import org.dllearner.kb.OntologyFileFormat; import org.dllearner.kb.SparqlEndpoint; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.learningproblems.PosNegInclusionLP; @@ -382,20 +382,20 @@ return; File file = null; - OntologyFileFormat format = null; + OntologyFormat format = null; for (List<String> export : exports) { file = new File(baseDir, export.get(0)); if (export.size() == 1) // use RDF/XML by default - format = OntologyFileFormat.RDF_XML; + format = OntologyFormat.RDF_XML; // rs.saveOntology(file, OntologyFileFormat.RDF_XML); else { String formatString = export.get(1); // OntologyFileFormat format; if (formatString.equals("RDF/XML")) - format = OntologyFileFormat.RDF_XML; + format = OntologyFormat.RDF_XML; else - format = OntologyFileFormat.N_TRIPLES; + format = OntologyFormat.N_TRIPLES; // rs.saveOntology(file, format); } } Modified: trunk/src/dl-learner/org/dllearner/core/KnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/KnowledgeSource.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/core/KnowledgeSource.java 2007-10-19 12:01:07 UTC (rev 252) @@ -19,9 +19,12 @@ */ package org.dllearner.core; +import java.io.File; import java.net.URI; /** + * Represents a knowledge source component. + * * @author Jens Lehmann * */ @@ -29,4 +32,6 @@ public abstract String toDIG(URI kbURI); + public abstract void export(File file, OntologyFormat format) throws OntologyFormatUnsupportedException; + } Added: trunk/src/dl-learner/org/dllearner/core/OntologyFormat.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/OntologyFormat.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/core/OntologyFormat.java 2007-10-19 12:01:07 UTC (rev 252) @@ -0,0 +1,20 @@ +package org.dllearner.core; + +public enum OntologyFormat { + + /** + * RDF-Triples in XML file + */ + RDF_XML, + + /** + * N-Triple format (subformat of N3) + */ + N_TRIPLES, + + /** + * internal KB format + */ + KB, + +} Added: trunk/src/dl-learner/org/dllearner/core/OntologyFormatUnsupportedException.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/OntologyFormatUnsupportedException.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/core/OntologyFormatUnsupportedException.java 2007-10-19 12:01:07 UTC (rev 252) @@ -0,0 +1,38 @@ +/** + * Copyright (C) 2007, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.core; + + +/** + * Indicates that an operation is not supported/implemented for + * a specific ontology file format. + * + * @author Jens Lehmann + * + */ +public class OntologyFormatUnsupportedException extends Exception { + + private static final long serialVersionUID = 1080949376967068007L; + + public OntologyFormatUnsupportedException(String operation, OntologyFormat format) { + super("The operation " + operation + " does not support the ontology file format " + format); + } + +} Modified: trunk/src/dl-learner/org/dllearner/core/ReasoningService.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/ReasoningService.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/core/ReasoningService.java 2007-10-19 12:01:07 UTC (rev 252) @@ -33,7 +33,6 @@ import org.dllearner.core.dl.Individual; import org.dllearner.core.dl.RoleHierarchy; import org.dllearner.core.dl.SubsumptionHierarchy; -import org.dllearner.kb.OntologyFileFormat; import org.dllearner.reasoning.DIGReasoner; import org.dllearner.reasoning.KAON2Reasoner; import org.dllearner.reasoning.ReasonerType; @@ -406,7 +405,7 @@ } // speichern einer Ontolgie wird speziell behandelt, da kein Reasoning - public void saveOntology(File file, OntologyFileFormat format) { + public void saveOntology(File file, OntologyFormat format) { if (getReasonerType() == ReasonerType.KAON2) { ((KAON2Reasoner) reasoner).saveOntology(file, format); } else if (getReasonerType() == ReasonerType.DIG) { Modified: trunk/src/dl-learner/org/dllearner/kb/KBFile.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/KBFile.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/kb/KBFile.java 2007-10-19 12:01:07 UTC (rev 252) @@ -116,11 +116,12 @@ return kb.toString(); } - public void export(File file, org.dllearner.kb.OntologyFileFormat format) { + @Override + public void export(File file, org.dllearner.core.OntologyFormat format){ Reasoner kaon2Reasoner = KAON2Reasoner.getKAON2Reasoner(kb); String kaon2Format = ""; - if(format.equals(org.dllearner.kb.OntologyFileFormat.RDF_XML)) + if(format.equals(org.dllearner.core.OntologyFormat.RDF_XML)) kaon2Format = OntologyFileFormat.OWL_RDF; else { System.err.println("Warning: Cannot export format " + format + ". Exiting."); Modified: trunk/src/dl-learner/org/dllearner/kb/OWLFile.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/OWLFile.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/kb/OWLFile.java 2007-10-19 12:01:07 UTC (rev 252) @@ -19,6 +19,7 @@ */ package org.dllearner.kb; +import java.io.File; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; @@ -26,6 +27,8 @@ import java.util.LinkedList; import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.OntologyFormat; +import org.dllearner.core.OntologyFormatUnsupportedException; import org.dllearner.core.config.ConfigEntry; import org.dllearner.core.config.ConfigOption; import org.dllearner.core.config.InvalidConfigOptionValueException; @@ -88,11 +91,20 @@ @Override public String toDIG(URI kbURI) { // TODO: need some handling for cases where the URL was not set - return OWLAPIDIGConverter.getTellsString(url, OntologyFileFormat.RDF_XML, kbURI); + return OWLAPIDIGConverter.getTellsString(url, OntologyFormat.RDF_XML, kbURI); } public URL getURL() { return url; } + /* (non-Javadoc) + * @see org.dllearner.core.KnowledgeSource#export(java.io.File, org.dllearner.core.OntologyFormat) + */ + @Override + public void export(File file, OntologyFormat format) throws OntologyFormatUnsupportedException { + // currently no export functions implemented, so we just throw an exception + throw new OntologyFormatUnsupportedException("export", format); + } + } Deleted: trunk/src/dl-learner/org/dllearner/kb/OntologyFileFormat.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/OntologyFileFormat.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/kb/OntologyFileFormat.java 2007-10-19 12:01:07 UTC (rev 252) @@ -1,20 +0,0 @@ -package org.dllearner.kb; - -public enum OntologyFileFormat { - - /** - * RDF-Triples in XML file - */ - RDF_XML, - - /** - * N-Triple format (subformat of N3) - */ - N_TRIPLES, - - /** - * internal KB format - */ - KB, - -} Modified: trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java 2007-10-19 12:01:07 UTC (rev 252) @@ -30,6 +30,8 @@ import java.util.Set; import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.OntologyFormat; +import org.dllearner.core.OntologyFormatUnsupportedException; import org.dllearner.core.config.BooleanConfigOption; import org.dllearner.core.config.ConfigEntry; import org.dllearner.core.config.ConfigOption; @@ -170,10 +172,19 @@ */ @Override public String toDIG(URI kbURI) { - if (format.equals("N-TRIPLES")) return JenaOWLDIGConverter.getTellsString(dumpFile, OntologyFileFormat.N_TRIPLES, kbURI); + if (format.equals("N-TRIPLES")) return JenaOWLDIGConverter.getTellsString(dumpFile, OntologyFormat.N_TRIPLES, kbURI); else return DIGConverter.getDIGString(kb, kbURI).toString(); } + /* (non-Javadoc) + * @see org.dllearner.core.KnowledgeSource#export(java.io.File, org.dllearner.core.OntologyFormat) + */ + @Override + public void export(File file, OntologyFormat format) throws OntologyFormatUnsupportedException { + // currently no export functions implemented, so we just throw an exception + throw new OntologyFormatUnsupportedException("export", format); + } + public URL getURL() { return url; } Modified: trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java 2007-10-19 12:01:07 UTC (rev 252) @@ -31,7 +31,6 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; -import java.util.StringTokenizer; import java.util.Vector; Modified: trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java 2007-10-19 12:01:07 UTC (rev 252) @@ -37,6 +37,7 @@ import org.apache.xmlbeans.XmlCursor; import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.OntologyFormat; import org.dllearner.core.ReasonerComponent; import org.dllearner.core.config.BooleanConfigOption; import org.dllearner.core.config.ConfigEntry; @@ -51,7 +52,6 @@ import org.dllearner.core.dl.RoleHierarchy; import org.dllearner.core.dl.SubsumptionHierarchy; import org.dllearner.core.dl.Top; -import org.dllearner.kb.OntologyFileFormat; import org.dllearner.utilities.ConceptComparator; import org.dllearner.utilities.Files; import org.dllearner.utilities.Helper; @@ -755,7 +755,7 @@ // TODO: not working yet - it is probably better to include a method // in knowledge source to save the corresponding source to a file - public void saveOntology(File file, OntologyFileFormat format) { + public void saveOntology(File file, OntologyFormat format) { // KAON2-Reasoner erzeugen und den die Ontologie speichern lassen // (später könnte man das über Jena erledigen, allerdings funktioniert // das mit KAON2 auch gut) Modified: trunk/src/dl-learner/org/dllearner/reasoning/JenaOWLDIGConverter.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/JenaOWLDIGConverter.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/reasoning/JenaOWLDIGConverter.java 2007-10-19 12:01:07 UTC (rev 252) @@ -16,7 +16,7 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import org.dllearner.kb.OntologyFileFormat; +import org.dllearner.core.OntologyFormat; import org.w3c.dom.Document; import com.hp.hpl.jena.graph.Graph; @@ -35,7 +35,7 @@ String tells = ""; try { URL url = file.toURI().toURL(); - tells = getTellsString(url, OntologyFileFormat.RDF_XML, new URI("kk")); + tells = getTellsString(url, OntologyFormat.RDF_XML, new URI("kk")); } catch (URISyntaxException e) { e.printStackTrace(); } catch (MalformedURLException e) { @@ -46,7 +46,7 @@ // returns a DIG 1.1 Tells String from an ontology file // using the Jena library - public static String getTellsString(URL file, OntologyFileFormat format, URI kbURI) { + public static String getTellsString(URL file, OntologyFormat format, URI kbURI) { String tellString = ""; // Spezifikation erzeugen: OWL DL @@ -74,7 +74,7 @@ // OntModel m = ModelFactory.createOntologyModel(); Model m = spec.createBaseModel(); String lang = ""; - if(format.equals(OntologyFileFormat.RDF_XML)) + if(format.equals(OntologyFormat.RDF_XML)) lang = "RDF/XML"; else lang = "N-TRIPLES"; Modified: trunk/src/dl-learner/org/dllearner/reasoning/KAON2Reasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/KAON2Reasoner.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/reasoning/KAON2Reasoner.java 2007-10-19 12:01:07 UTC (rev 252) @@ -91,7 +91,7 @@ private org.semanticweb.kaon2.api.reasoner.Reasoner kaon2Reasoner; private KAON2Connection kaon2Connection; - public KAON2Reasoner(KB kb, Map<URL,org.dllearner.kb.OntologyFileFormat> imports) { + public KAON2Reasoner(KB kb, Map<URL,org.dllearner.core.OntologyFormat> imports) { if(imports.size()>1) System.out.println("Warning: KAON2-Reasoner currently supports only one import file. Ignoring all other imports."); @@ -472,11 +472,11 @@ return returnMap; } - public void saveOntology(File file, org.dllearner.kb.OntologyFileFormat format) { + public void saveOntology(File file, org.dllearner.core.OntologyFormat format) { // File exportFile = new File(baseDir, fileName); // String format = OntologyFileFormat.OWL_RDF; String kaon2Format = ""; - if(format.equals(org.dllearner.kb.OntologyFileFormat.RDF_XML)) + if(format.equals(org.dllearner.core.OntologyFormat.RDF_XML)) kaon2Format = OntologyFileFormat.OWL_RDF; else { System.err.println("Warning: Cannot export format " + format + ". Exiting."); @@ -520,7 +520,7 @@ return ontology; } - private static Ontology importKB(String ontologyURI, org.dllearner.kb.OntologyFileFormat format, KAON2Connection connection) { + private static Ontology importKB(String ontologyURI, org.dllearner.core.OntologyFormat format, KAON2Connection connection) { Ontology ontology = null; try { long importStartTime = System.currentTimeMillis(); Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDIGConverter.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDIGConverter.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDIGConverter.java 2007-10-19 12:01:07 UTC (rev 252) @@ -14,7 +14,7 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import org.dllearner.kb.OntologyFileFormat; +import org.dllearner.core.OntologyFormat; import org.semanticweb.owl.apibinding.OWLManager; import org.semanticweb.owl.model.OWLOntologyCreationException; import org.semanticweb.owl.model.OWLOntologyManager; @@ -25,7 +25,7 @@ public class OWLAPIDIGConverter { - public static String getTellsString(URL file, OntologyFileFormat format, URI kbURI) { + public static String getTellsString(URL file, OntologyFormat format, URI kbURI) { // public static String getTellsString(URL file, URI kbURI){//throws OWLOntologyCreationException{ String ret=""; try{ Modified: trunk/src/dl-learner/org/dllearner/utilities/PaperStatistics.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/PaperStatistics.java 2007-10-19 11:48:42 UTC (rev 251) +++ trunk/src/dl-learner/org/dllearner/utilities/PaperStatistics.java 2007-10-19 12:01:07 UTC (rev 252) @@ -34,11 +34,11 @@ import org.dllearner.core.KnowledgeSource; import org.dllearner.core.LearningAlgorithm; import org.dllearner.core.LearningProblem; +import org.dllearner.core.OntologyFormat; import org.dllearner.core.ReasonerComponent; import org.dllearner.core.ReasoningService; import org.dllearner.core.Score; import org.dllearner.kb.OWLFile; -import org.dllearner.kb.OntologyFileFormat; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.parser.ConfParser; import org.dllearner.reasoning.DIGReasoner; @@ -157,7 +157,7 @@ String baseDir = confFiles[exampleNr].getParent(); // read which files were imported (internal KB is ignored) and initialise reasoner - Map<URL, OntologyFileFormat> imports = getImports(learner.getFunctionCalls(), confFiles[exampleNr]); + Map<URL, OntologyFormat> imports = getImports(learner.getFunctionCalls(), confFiles[exampleNr]); //Map<URL, Class<? extends KnowledgeSource>> imports = Start.getImportedFiles(learner, baseDir); // detect specified positive and negative examples @@ -304,10 +304,10 @@ } - private static Map<URL, OntologyFileFormat> getImports(Map<String,List<List<String>>> functionCalls, File confFile) { - Map<URL, OntologyFileFormat> importedFiles = new HashMap<URL, OntologyFileFormat>(); + private static Map<URL, OntologyFormat> getImports(Map<String,List<List<String>>> functionCalls, File confFile) { + Map<URL, OntologyFormat> importedFiles = new HashMap<URL, OntologyFormat>(); - OntologyFileFormat format = null; + OntologyFormat format = null; URL url = null; List<List<String>> imports = functionCalls.get("import"); @@ -331,13 +331,13 @@ if (call.size() == 2) // falls nichts angegeben, dann wird RDF/XML gewählt - importedFiles.put(url, OntologyFileFormat.RDF_XML); + importedFiles.put(url, OntologyFormat.RDF_XML); else { String formatString = call.get(2); if (formatString.equals("RDF/XML")) - format = OntologyFileFormat.RDF_XML; + format = OntologyFormat.RDF_XML; else - format = OntologyFileFormat.N_TRIPLES; + format = OntologyFormat.N_TRIPLES; importedFiles.put(url, format); } // } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |