From c8a9fc67a3f6ed201d7c917e36128268587eabe5 Mon Sep 17 00:00:00 2001 From: yzhou Date: Tue, 21 Apr 2015 12:04:27 +0100 Subject: fixed a bug in simpleETL -- closing a FileOutputStream --- src/org/semanticweb/simpleETL/SimpleETL.java | 34 +++++++++++++--------- .../cs/pagoda/reasoner/light/RDFoxQueryEngine.java | 3 +- test/uk/ac/ox/cs/pagoda/tester/PagodaTester.java | 6 ++-- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/org/semanticweb/simpleETL/SimpleETL.java b/src/org/semanticweb/simpleETL/SimpleETL.java index 4d4a193..8dcd87a 100644 --- a/src/org/semanticweb/simpleETL/SimpleETL.java +++ b/src/org/semanticweb/simpleETL/SimpleETL.java @@ -42,25 +42,31 @@ public class SimpleETL { // RDFParser parser = new TurtleParser(); RDFParser parser = new RDFXMLParser(); - RDFWriter writer = new TurtleWriter(new FileOutputStream(m_fileToExport)); + FileOutputStream fos = new FileOutputStream(m_fileToExport); + try { + RDFWriter writer = new TurtleWriter(fos); -// String m_fileToExport = m_fileToImport.replace(".owl", ".ntriple"); -// RDFWriter writer = new NTriplesWriter(new FileOutputStream(m_fileToExport)); +// String m_fileToExport = m_fileToImport.replace(".owl", ".ntriple"); +// RDFWriter writer = new NTriplesWriter(new FileOutputStream(m_fileToExport)); - RDFHandlerWriter multiHandler = new RDFHandlerWriter(writer); - parser.setRDFHandler(multiHandler); - File fileToImport = new File(m_fileToImport); - if(fileToImport.isDirectory()) { - for(File file : fileToImport.listFiles()) { - if(file.isFile() && (Pattern.matches(".*.owl", file.getName()) || Pattern.matches(".*.rdf", file.getName()))) { - Utility.logDebug("Parsing " + file.getName()); - parser.parse(new FileInputStream(file), m_prefix); + RDFHandlerWriter multiHandler = new RDFHandlerWriter(writer); + parser.setRDFHandler(multiHandler); + File fileToImport = new File(m_fileToImport); + if(fileToImport.isDirectory()) { + for(File file : fileToImport.listFiles()) { + if(file.isFile() && (Pattern.matches(".*.owl", file.getName()) || Pattern.matches(".*.rdf", file.getName()))) { + Utility.logDebug("Parsing " + file.getName()); + parser.parse(new FileInputStream(file), m_prefix); + } } } + else + parser.parse(new FileInputStream(fileToImport), m_prefix); + writer.endRDF(); + } + finally { + fos.close(); } - else - parser.parse(new FileInputStream(fileToImport), m_prefix); - writer.endRDF(); Utility.logInfo("SimpleETL rewriting DONE", "additional ontology data is saved in " + m_fileToExport + "."); } diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/light/RDFoxQueryEngine.java b/src/uk/ac/ox/cs/pagoda/reasoner/light/RDFoxQueryEngine.java index 30771ab..70d0cc9 100644 --- a/src/uk/ac/ox/cs/pagoda/reasoner/light/RDFoxQueryEngine.java +++ b/src/uk/ac/ox/cs/pagoda/reasoner/light/RDFoxQueryEngine.java @@ -36,8 +36,9 @@ public abstract class RDFoxQueryEngine implements QueryEngine { DataStore store = getDataStore(); try { long oldTripleCount = store.getTriplesCount(), tripleCount; - for (String file: importedFile.split(QueryReasoner.ImportDataFileSeparator)) + for (String file: importedFile.split(QueryReasoner.ImportDataFileSeparator)) { store.importTurtleFile(new File(file), prefixes); + } tripleCount = store.getTriplesCount(); Utility.logDebug(name + " store after importing " + fileName + ": " + tripleCount + " (" + (tripleCount - oldTripleCount) + " new)"); store.clearRulesAndMakeFactsExplicit(); diff --git a/test/uk/ac/ox/cs/pagoda/tester/PagodaTester.java b/test/uk/ac/ox/cs/pagoda/tester/PagodaTester.java index e040c18..d754a70 100644 --- a/test/uk/ac/ox/cs/pagoda/tester/PagodaTester.java +++ b/test/uk/ac/ox/cs/pagoda/tester/PagodaTester.java @@ -107,8 +107,10 @@ public class PagodaTester { // args = new String[] {npd_tbox, npd_abox, npd_query}; // args = new String[] {npd_bench_tbox, npd_bench_abox, npd_bench_query}; // args = new String[] {"../SemFacet/WebContent/WEB-INF/data/dbpedia.owl", "../SemFacet/WebContent/WEB-INF/data/dbpediaA.nt", null}; -// args = new String[] {"../SemFacet/WebContent/WEB-INF/data/isg.owl", "../SemFacet/WebContent/WEB-INF/data/isg.nt", null}; - args = new String[] {"..\\core\\WebContent\\WEB-INF\\data\\fly.owl", "..\\core\\WebContent\\WEB-INF\\data\\fly-data.nt", null}; +// args = new String[] {"../core/WebContent/WEB-INF/data/fly.owl", "../core/WebContent/WEB-INF/data/fly-data.nt", null}; +// args = new String[] {"data/lubm/univ-bench.owl", "data/lubm/lubm1.ttl", "data/lubm/lubm.sparql", "lubm.ans"}; + args = new String[] {"data/uobm/univ-bench-dl.owl", "data/uobm/uobm1.ttl", "data/uobm/uobm.sparql", "uobm.ans"}; +// args = new String[] {"data/fly/fly_anatomy_XP_with_GJ_FC_individuals.owl", "data/fly/fly.sparql", "fly.ans"}; // args = new String[] {bioModels_tbox, bioModels_abox, bioModels_queries}; // args = new String[] {chembl_tbox, chembl_abox, chembl_queries}; // args = new String[] {reactome_tbox, reactome_abox, reactome_queries}; -- cgit v1.2.3