OWL2Parser.java revision ebe1b5c42cea5468e66f088648362125cb3c2818
d25c69509848853b0b15b93e3cc180cab81047acChristian Maederimport org.coode.owlapi.owlxml.renderer.OWLXMLRenderer;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maederimport org.coode.owlapi.rdf.rdfxml.RDFXMLRenderer;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport org.semanticweb.owlapi.apibinding.OWLManager;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maederimport org.semanticweb.owlapi.io.OWLRendererException;
9a15a025b733a3913ea347ddabc837bb1a0a3b90Christian Maederimport org.semanticweb.owlapi.model.*;
478b7abe044f6dcc5bb0db7cd9155ddc1730ed1bFrancisc Nicolae Bungiuimport org.semanticweb.owlapi.util.OWLOntologyMerger;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport uk.ac.manchester.cs.owl.owlapi.mansyntaxrenderer.ManchesterOWLSyntaxRenderer;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu
9a15a025b733a3913ea347ddabc837bb1a0a3b90Christian Maederimport java.io.*;
ebe1b5c42cea5468e66f088648362125cb3c2818Christian Maederimport java.net.URL;
ebe1b5c42cea5468e66f088648362125cb3c2818Christian Maederimport java.net.URLConnection;
99558e375936c1252e72196dc94312c72ee19ad2Francisc Nicolae Bungiuimport java.util.*;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiupublic class OWL2Parser {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static enum OPTION {OWL_XML, MANCHESTER, RDF_XML}
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static OPTION op;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static final List<OWLOntology> loadedImportsList = new ArrayList<OWLOntology>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static final ArrayList<IRI> importsIRI = new ArrayList<IRI>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static final Map<OWLOntology, List<OWLOntology>> m = new HashMap<OWLOntology, List<OWLOntology>>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static final Set<OWLOntology> s = new HashSet<OWLOntology>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static final Set<OWLOntology> expanded = new HashSet<OWLOntology>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder public static void main(String[] args) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (args.length < 1) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.out.println("Usage: processor <URI> [FILENAME] <OPTION>");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.exit(1);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // A simple example of how to load and save an ontology
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder try {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder op = OPTION.MANCHESTER;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (args.length > 1) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // args[0]: IRI
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // args[1]: name of output file
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // args[2]: type of output file: xml, rdf, or otherwise assume Manchester syntax
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder String filename = args[1];
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (args.length == 3) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder out = new BufferedWriter(new FileWriter(filename));
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (args[2].equals("xml"))
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder op = OPTION.OWL_XML;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder else if (args[2].equals("rdf"))
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder op = OPTION.RDF_XML;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder } else
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // args[0]: IRI
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // args[1]: type of output (or output file for Manchester syntax)
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // xml (OWL XML),
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // rdf (RDF/XML),
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // or otherwise use argument as file name for Manchester syntax
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // for xml and rdf output goes to standard output, i.e. System.out
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (args[1].equals("xml"))
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder op = OPTION.OWL_XML;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder else if (args[1].equals("rdf"))
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder op = OPTION.RDF_XML;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder else
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder out = new BufferedWriter(new FileWriter(filename));
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder /* Load an ontology from a physical IRI */
ebe1b5c42cea5468e66f088648362125cb3c2818Christian Maeder URL physicalUrl = new URL(args[0]);
ebe1b5c42cea5468e66f088648362125cb3c2818Christian Maeder URLConnection con = physicalUrl.openConnection();
ebe1b5c42cea5468e66f088648362125cb3c2818Christian Maeder con.addRequestProperty("Accept", "text/plain");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // System.out.println("IRI: " + physicalIRI + "\n");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // Now do the loading
ebe1b5c42cea5468e66f088648362125cb3c2818Christian Maeder OWLOntology ontology = manager.loadOntologyFromOntologyDocument(con.getInputStream());
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder getImportsList(ontology, manager);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (loadedImportsList.size() == 0)
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder parsing_option(ontology, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder else {
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder IRI ontIri = ontology.getOntologyID().getOntologyIRI();
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder if (importsIRI.contains(ontIri)) {
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder importsIRI.remove(importsIRI.lastIndexOf(ontIri));
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (loadedImportsList.contains(ontology)) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder OWLOntologyMerger merger = new OWLOntologyMerger(manager);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder String str = ontology.getOntologyID().getOntologyIRI().toQuotedString();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder String notag = str.replaceAll("\\<", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder notag = notag.replaceAll("\\>", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder notag = notag.replaceAll("\\[.*?]", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder notag = notag.replaceAll("Ontology\\(", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder notag = notag.replaceAll(" ", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder notag = notag.replaceAll("\\)", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder loadedImportsList.remove(loadedImportsList.indexOf(ontology));
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder Object aux[] = loadedImportsList.toArray();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder String merged_name = "";
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder for (Object aux_ont : aux) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder String mrg = aux_ont.toString();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder mrg = mrg.replaceAll("\\>", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder mrg = mrg.replaceAll("http:/", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder mrg = mrg.replaceAll("\\/.*?/", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder mrg = mrg.replaceAll(".*?/", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder mrg = mrg.replaceAll("\\[.*?]", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder mrg = mrg.replaceAll("\\)", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder mrg = mrg.replaceAll(" ", "");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder merged_name = merged_name + mrg;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder merged_name = notag + merged_name;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // System.out.println("NAME: " + merged_name + "\n");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder IRI mergedOntologyIRI = IRI.create(merged_name);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder // System.out.println("MERGED_IRI " + mergedOntologyIRI + "\n");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder OWLOntology merged = merger.createMergedOntology(manager, mergedOntologyIRI);
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder parsing_option(merged, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder } else
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder parseZeroImports(out, ontology);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder } catch (Exception ex) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.err.println("OWL parse error: " + ex.getMessage());
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder ex.printStackTrace();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static void getImportsList(OWLOntology ontology, OWLOntologyManager om) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder List<OWLOntology> l = new ArrayList<OWLOntology>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder ArrayList<OWLOntology> unSavedImports = new ArrayList<OWLOntology>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder try {
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder for (OWLOntology imported : om.getDirectImports(ontology)) {
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder IRI importIri = imported.getOntologyID().getOntologyIRI();
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder if (!importsIRI.contains(importIri)) {
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder unSavedImports.add(imported);
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder loadedImportsList.add(imported);
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder importsIRI.add(importIri);
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder l.add(imported);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder m.put(ontology, l);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder for (OWLOntology onto : unSavedImports) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder getImportsList(onto, om);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder } catch (Exception e) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.err.println("Error getImportsList!");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder e.printStackTrace();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static void parseZeroImports(BufferedWriter out, OWLOntology ontology) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder List all = getKeysByValue();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder for (Object anAll : all) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder OWLOntology ontos = (OWLOntology) anAll;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder expanded.add(ontos);
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder parsing_option(ontos, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder s.add(ontos);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder parseImports(out, ontology);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static void parseImports(BufferedWriter out, OWLOntology ontology) {
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder for (Map.Entry<OWLOntology, List<OWLOntology>> pairs : m.entrySet()) {
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder Set<OWLOntology> values = cnvrt(pairs.getValue());
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder OWLOntology onto = pairs.getKey();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (checkset(values)) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (!expanded.contains(onto)) {
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder parsing_option(onto, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder expanded.add(onto);
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder s.add(onto);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (onto.getOntologyID().toString().equals(ontology.getOntologyID().toString()))
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.exit(0);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder parseImports(out, ontology);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder private static Set<OWLOntology> cnvrt(List<OWLOntology> lst) {
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder Set<OWLOntology> st = new HashSet<OWLOntology>();
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder for (OWLOntology aux_ont : lst) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder st.add(aux_ont);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder return st;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder private static Boolean checkset(Collection<OWLOntology> it) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder if (it.isEmpty()) return false;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder Set<OWLOntology> aux = new HashSet<OWLOntology>();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder aux.addAll(it);
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder return equalcollections(aux);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder private static Boolean equalcollections(Set<OWLOntology> l1) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder Boolean eq = true;
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder if (l1.isEmpty() || OWL2Parser.s.isEmpty())
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder eq = false;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder for (OWLOntology ont : l1)
7418589cbad1760b60beb07909f97e207a71abefChristian Maeder if (!OWL2Parser.s.contains(ont))
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder eq = false;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder return eq;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder private static List<OWLOntology> getKeysByValue() {
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder List<OWLOntology> keys = new ArrayList<OWLOntology>();
54c93d1b5798be42cd4f9b2457b99d36ee8c0b56Christian Maeder for (Map.Entry<OWLOntology, List<OWLOntology>> pairs : m.entrySet()) {
ab821a63e068e38c2e83faf37b9983a511a38264Christian Maeder if (pairs.getValue().isEmpty()) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder keys.add(pairs.getKey());
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder return keys;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder private static void parsing_option(OWLOntology onto, BufferedWriter out) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder switch (op) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder case OWL_XML:
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder parse2xml(onto, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder break;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder case MANCHESTER:
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder parse(onto, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder break;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder case RDF_XML:
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder parse2rdf(onto, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder break;
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder private static void parse(OWLOntology onto, BufferedWriter out) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder try {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder ManchesterOWLSyntaxRenderer rendi = new ManchesterOWLSyntaxRenderer(onto.getOWLOntologyManager());
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder rendi.render(onto, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder } catch (OWLRendererException ex) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.err.println("Error by ManchesterParser!");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder ex.printStackTrace();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder private static void parse2xml(OWLOntology onto, BufferedWriter out) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder try {
b9a7827caf331ae5b7eb491455d7e647c83f1345Christian Maeder OWLOntologyManager mngr = onto.getOWLOntologyManager();
b9a7827caf331ae5b7eb491455d7e647c83f1345Christian Maeder OWLXMLRenderer ren = new OWLXMLRenderer(mngr);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder ren.render(onto, out);
b9a7827caf331ae5b7eb491455d7e647c83f1345Christian Maeder out.append("<Loaded name=\"" + mngr.getOntologyDocumentIRI(onto)
ebe1b5c42cea5468e66f088648362125cb3c2818Christian Maeder + "\" ontiri=\"" + onto.getOntologyID().getOntologyIRI() + "\"/>\n");
b9a7827caf331ae5b7eb491455d7e647c83f1345Christian Maeder } catch (Exception ex) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.err.println("Error by XMLParser!");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder ex.printStackTrace();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder private static void parse2rdf(OWLOntology onto, BufferedWriter out) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder try {
72612745c4e86f3395a88b435d26830d8f7f70b3Christian Maeder RDFXMLRenderer rdfrend = new RDFXMLRenderer(onto.getOWLOntologyManager(), onto, out);
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder rdfrend.render();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder } catch (IOException ex) {
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder System.err.println("Error by RDFParser!");
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder ex.printStackTrace();
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
d25c69509848853b0b15b93e3cc180cab81047acChristian Maeder }
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu}