Go to the documentation of this file.00001 package edu.tum.cs.ias.knowrob.owl.utils;
00002
00003 import java.io.*;
00004 import org.semanticweb.owlapi.apibinding.OWLManager;
00005 import org.semanticweb.owlapi.model.*;
00006 import org.semanticweb.owlapi.vocab.PrefixOWLOntologyFormat;
00007
00008
00019 public class OWLFileUtils {
00020
00028 public static OWLOntology loadOntologyFromFile(String filename) throws OWLOntologyCreationException {
00029 OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
00030 return manager.loadOntologyFromOntologyDocument(new File(filename));
00031 }
00032
00033
00042 public static boolean saveOntologyToStream(OWLOntology ontology, OutputStream stream, OWLOntologyFormat format) {
00043
00044 boolean ok = false;
00045
00046 if (stream != null) {
00047
00048 try {
00049
00050
00051 OWLOntologyManager manager = ontology.getOWLOntologyManager();
00052
00053
00054
00055 OWLOntologyFormat currFormat = manager.getOntologyFormat(ontology);
00056
00057 if (currFormat.equals(format)) {
00058
00059
00060 manager.saveOntology(ontology, stream);
00061
00062 } else {
00063
00064
00065
00066
00067 if (format.isPrefixOWLOntologyFormat() && currFormat.isPrefixOWLOntologyFormat()) {
00068 ((PrefixOWLOntologyFormat)format).copyPrefixesFrom(currFormat.asPrefixOWLOntologyFormat());
00069 }
00070 manager.saveOntology(ontology, format, stream);
00071
00072 }
00073
00074 ok = true;
00075
00076 } catch (Exception e) {
00077 System.out.println("Could not save ontology: " + e.getMessage());
00078 }
00079
00080 }
00081
00082 return ok;
00083 }
00084
00085
00092 public static String saveOntologytoString(OWLOntology ontology, OWLOntologyFormat format) {
00093
00094 String s = null;
00095 ByteArrayOutputStream os = new ByteArrayOutputStream(4096);
00096
00097 if (saveOntologyToStream(ontology, os, format)) {
00098 try {
00099 s = new String(os.toByteArray(), "UTF-8");
00100 } catch (UnsupportedEncodingException e) {
00101 System.out.println("UTF-8 encoding is unsupported: " + e.getMessage());
00102 }
00103 }
00104
00105 return s;
00106
00107 }
00108
00109
00110
00118 public static boolean saveOntologyToFile(OWLOntology ontology, OWLOntologyFormat format, String file) {
00119
00120 boolean ok = false;
00121
00122 try {
00123 ok = saveOntologyToFile(ontology, file, format);
00124 } catch (NullPointerException e) {
00125 System.out.println("Could not save ontology: null pointer argument found\n" + e.getMessage());
00126 }
00127
00128 return ok;
00129
00130 }
00131
00132
00141 public static boolean saveOntologyToFile(OWLOntology ontology, String file, OWLOntologyFormat format) {
00142
00143 boolean ok = false;
00144
00145 try {
00146
00147 File f = new File(file);
00148 OWLOntologyManager manager = ontology.getOWLOntologyManager();
00149 manager.saveOntology(ontology, format, IRI.create(f.toURI()));
00150
00151 ok = true;
00152
00153 } catch (Exception e) {
00154 System.out.println("Could not save ontology: " + e.getMessage());
00155 }
00156
00157 return ok;
00158 }
00159
00160
00161 }