package org.mindswap.swoop.locality; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.net.URI; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.mindswap.pellet.debug.utils.Timer; import org.mindswap.swoop.SwoopModel; import org.mindswap.swoop.utils.owlapi.CorrectedRDFRenderer; import org.semanticweb.owl.model.OWLOntology; public class FindImports { SwoopModel swoopModel = new SwoopModel(); boolean DEBUG = true; Map entTest = new HashMap(); String NEWLINE = System.getProperty("line.separator"); Timer testTimer; String logFile = ""; List testOnt; public FindImports() throws Exception { // load ontologies this.testOnt = new ArrayList(); String loc2 = "C:/ontologies/ontologies32.txt"; File fi = new File( loc2 ); StringBuffer contents = new StringBuffer(); BufferedReader input = null; try { input = new BufferedReader( new FileReader(fi) ); String line = null; while (( line = input.readLine()) != null){ if(DEBUG){ System.out.println("Reading Ontology " + line); } OWLOntology ont = swoopModel.loadOntology(new URI(line)); if(!ont.getIncludedOntologies().isEmpty()) testOnt.add(ont); } } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex){ ex.printStackTrace(); } finally { try { if (input!= null) { //flush and close both "input" and its underlying FileReader input.close(); } } catch (IOException ex) { ex.printStackTrace(); } } System.out.println("DONE: Ontologies Loaded"); } public List getOntologies() { return this.testOnt; } public static void main(String[] args) { try { FindImports t = new FindImports(); List l = t.getOntologies(); Iterator iter = l.iterator(); int number = 0; while (iter.hasNext()){ number = number +1; OWLOntology ont = (OWLOntology)iter.next(); String loc = "C:/ontologies/imports/" + number + ".owl"; String output; StringWriter rdfBuffer = new StringWriter(); CorrectedRDFRenderer rdfRenderer = new CorrectedRDFRenderer(); rdfRenderer.renderOntology(ont, rdfBuffer); output = rdfBuffer.toString(); File f = new File(loc); BufferedWriter out = new BufferedWriter(new FileWriter(f)); out.write(output); out.close(); } } catch (Exception e) { e.printStackTrace(); } } }