OWL2Parser.java revision 2578a6d217296401d347302c9104fee179bd0470
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport org.semanticweb.owlapi.apibinding.OWLManager;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport org.semanticweb.owlapi.model.OWLException;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport org.semanticweb.owlapi.model.OWLOntology;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport org.semanticweb.owlapi.model.OWLOntologyManager;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport org.semanticweb.owlapi.model.IRI;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport uk.ac.manchester.cs.owl.owlapi.mansyntaxrenderer.ManchesterOWLSyntaxRenderer;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiuimport uk.ac.manchester.cs.owl.owlapi.mansyntaxrenderer.ManchesterOWLSyntaxObjectRenderer;
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu private static ArrayList<OWLOntology> loadedImportsList = new ArrayList<OWLOntology>();
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu static private ArrayList<IRI> importsURI = new ArrayList<IRI>();
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu public static void main(String[] args) {
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu System.out.println("Usage: processor <URI> [FILENAME]");
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu // A simple example of how to load and save an ontology
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu out = new BufferedWriter(new FileWriter(filename));
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu out = new BufferedWriter(openForFile(null));
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu /* Load an ontology from a physical IRI */
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu IRI physicalIRI = IRI.create(args[0]);
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu //System.out.println("Loading : " + args[0]);
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu // Now do the loading
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu OWLOntology ontology = manager.loadOntologyFromOntologyDocument(physicalIRI);
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu //System.out.println(ontology);
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu // get all ontology which are imported from this ontology.
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu //System.out.println("LoadedImportsList: " + loadedImportsList);
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu //System.out.println();
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu importsURI.add(manager.getOntologyDocumentIRI(ontology));
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu for (OWLOntology onto : loadedImportsList) {
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu //System.out.println("parsing OWL: " + onto.getOntologyID().getOntologyIRI() + " ...");
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu ManchesterOWLSyntaxRenderer rendi = new ManchesterOWLSyntaxRenderer (onto.getOWLOntologyManager());
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu //System.out.println("OWL parsing done!\n");
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu System.err.println("Error: can not build file: " + filename);
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu System.err.println("OWL parse error: " + ex.getMessage());
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu private static void getImportsList(OWLOntology ontology,
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu ArrayList<OWLOntology> unSavedImports = new ArrayList<OWLOntology>();
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu for (OWLOntology imported : om.getImports(ontology)) {
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu if (!importsURI.contains(imported.getOntologyID().getOntologyIRI())) {
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu //System.out.println("IMPORTED: " + imported + "\n");
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu importsURI.add(imported.getOntologyID().getOntologyIRI());
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu for (OWLOntology onto : unSavedImports) {
2578a6d217296401d347302c9104fee179bd0470Francisc Nicolae Bungiu private static Writer openForFile(String fileName)