Example #1
0
  private String parseWithOWLAPI(
      URL ontologyURL,
      boolean useOWLAPI,
      boolean considerImportedOntologies,
      boolean considerImportedClosure,
      boolean useReasoner)
      throws OWLOntologyCreationException, OWLOntologyStorageException, URISyntaxException {
    String result = "";

    if (useOWLAPI) {
      OWLOntologyManager manager = OWLManager.createOWLOntologyManager();

      OWLOntology ontology = manager.loadOntology(IRI.create(ontologyURL.toString()));

      if (considerImportedClosure || considerImportedOntologies) {
        Set<OWLOntology> setOfImportedOntologies = new HashSet<OWLOntology>();
        if (considerImportedOntologies) {
          setOfImportedOntologies.addAll(ontology.getDirectImports());
        } else {
          setOfImportedOntologies.addAll(ontology.getImportsClosure());
        }
        for (OWLOntology importedOntology : setOfImportedOntologies) {
          manager.addAxioms(ontology, importedOntology.getAxioms());
        }
      }

      if (useReasoner) {
        ontology = parseWithReasoner(manager, ontology);
      }

      StringDocumentTarget parsedOntology = new StringDocumentTarget();

      manager.saveOntology(ontology, new RDFXMLOntologyFormat(), parsedOntology);
      result = parsedOntology.toString();
    }

    return result;
  }