import org.semanticweb.owlapi.apibinding.OWLManager; import org.semanticweb.owlapi.model.OWLException; import org.semanticweb.owlapi.model.OWLOntology; import org.semanticweb.owlapi.model.OWLOntologyManager; import org.semanticweb.owlapi.util.OWLOntologyMerger; import org.semanticweb.owlapi.model.IRI; import org.semanticweb.owlapi.model.OWLAxiom; import org.semanticweb.owlapi.io.OWLRendererException; import uk.ac.manchester.cs.owl.owlapi.mansyntaxrenderer.ManchesterOWLSyntaxRenderer; import uk.ac.manchester.cs.owl.owlapi.mansyntaxrenderer.ManchesterOWLSyntaxObjectRenderer; import org.coode.owlapi.owlxml.renderer.OWLXMLRenderer; import java.io.*; import java.net.URI; import java.util.*; //@SuppressWarnings("unchecked") public class OWL2Parser { public static void main(String[] args) { if (args.length < 1) { System.out.println("Usage: processor [FILENAME]"); System.exit(1); } String filename = ""; BufferedWriter out; boolean OP = false; // A simple example of how to load and save an ontology try { OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); if (args.length == 3) { filename = args[1]; out = new BufferedWriter(new FileWriter(filename)); if (args[2].equals("xml")) OP = true; } else { if (args.length == 2) { if (args[1].equals("xml")) OP = true; } out = new BufferedWriter(new OutputStreamWriter(System.out)); } /* Load an ontology from a physical IRI */ IRI physicalIRI = IRI.create(args[0]); // Now do the loading OWLOntology ontology = manager.loadOntologyFromOntologyDocument(physicalIRI); if (OP) parse2xml(ontology, out, manager); else parse(ontology, out, manager); } catch (IOException e) { System.err.println("Error: can not build file: " + filename); e.printStackTrace(); } catch (Exception ex) { System.err.println("OWL parse error: " + ex.getMessage()); ex.printStackTrace(); } } public static void parse(OWLOntology onto, BufferedWriter out, OWLOntologyManager mng) { try { ManchesterOWLSyntaxRenderer ren = new ManchesterOWLSyntaxRenderer (mng); ren.render(onto, out); } catch(OWLRendererException ex) { System.err.println("Error by parse!"); ex.printStackTrace(); } } public static void parse2xml(OWLOntology onto, BufferedWriter out, OWLOntologyManager mng) { try { OWLXMLRenderer ren = new OWLXMLRenderer(mng); ren.render(onto, out); } catch (OWLRendererException ex) { System.err.println("Error by XMLParser!"); ex.printStackTrace(); } } }