diff --git a/pom.xml b/pom.xml
index 86e2a4d..843d54c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,36 +39,16 @@
- com.github.ansell.pellet
- pellet-core
- 2.3.6-ansell
-
-
- com.github.ansell.pellet
- pellet-datatypes
- 2.3.6-ansell
-
-
- com.github.ansell.pellet
- pellet-el
- 2.3.6-ansell
-
-
- com.github.ansell.pellet
- pellet-owlapiv3
- 2.3.6-ansell
-
-
- com.github.ansell.pellet
- pellet-rules
- 2.3.6-ansell
+ net.sourceforge.owlapi
+ pellet-owlapi-ignazio1977
+ 2.4.0-ignazio1977
net.sourceforge.owlapi
owlapi-distribution
- 3.5.0
+ 4.0.2
diff --git a/src/main/java/it/essepuntato/lode/LodeServlet.java b/src/main/java/it/essepuntato/lode/LodeServlet.java
index 6b4cb61..9bb1124 100644
--- a/src/main/java/it/essepuntato/lode/LodeServlet.java
+++ b/src/main/java/it/essepuntato/lode/LodeServlet.java
@@ -27,12 +27,8 @@
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -41,18 +37,14 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.mindswap.pellet.PelletOptions;
import org.semanticweb.owlapi.apibinding.OWLManager;
-import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
+import org.semanticweb.owlapi.formats.RDFXMLDocumentFormat;
import org.semanticweb.owlapi.io.StringDocumentTarget;
import org.semanticweb.owlapi.model.AddImport;
import org.semanticweb.owlapi.model.AddOntologyAnnotation;
@@ -73,6 +65,7 @@
import org.semanticweb.owlapi.model.OWLOntologyID;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.model.OWLOntologyStorageException;
+import org.semanticweb.owlapi.search.EntitySearcher;
import org.semanticweb.owlapi.util.InferredAxiomGenerator;
import org.semanticweb.owlapi.util.InferredClassAssertionAxiomGenerator;
import org.semanticweb.owlapi.util.InferredDisjointClassesAxiomGenerator;
@@ -248,7 +241,7 @@ private String parseWithOWLAPI(URL ontologyURL, boolean useOWLAPI, boolean consi
manager.addAxioms(ontology, importedOntology.getAxioms());
}
} else {
- manager.setSilentMissingImportsHandling(true);
+ //manager.setSilentMissingImportsHandling(true);
ontology = manager.loadOntology(IRI.create(ontologyURL.toString()));
}
@@ -258,7 +251,7 @@ private String parseWithOWLAPI(URL ontologyURL, boolean useOWLAPI, boolean consi
StringDocumentTarget parsedOntology = new StringDocumentTarget();
- manager.saveOntology(ontology, new RDFXMLOntologyFormat(), parsedOntology);
+ manager.saveOntology(ontology, new RDFXMLDocumentFormat(), parsedOntology);
result = parsedOntology.toString();
}
@@ -364,29 +357,29 @@ private OWLOntology parseWithReasoner(OWLOntologyManager manager, OWLOntology on
Set declarations = ontology.getImportsDeclarations();
Set annotations = ontology.getAnnotations();
- Map> entityAnnotations = new HashMap>();
+ Map> entityAnnotations = new HashMap<>();
for (OWLClass aEntity : ontology.getClassesInSignature()) {
- entityAnnotations.put(aEntity, aEntity.getAnnotationAssertionAxioms(ontology));
+ entityAnnotations.put(aEntity, EntitySearcher.getAnnotationAssertionAxioms(aEntity, ontology));
}
for (OWLObjectProperty aEntity : ontology.getObjectPropertiesInSignature()) {
- entityAnnotations.put(aEntity, aEntity.getAnnotationAssertionAxioms(ontology));
+ entityAnnotations.put(aEntity, EntitySearcher.getAnnotationAssertionAxioms(aEntity, ontology));
}
for (OWLDataProperty aEntity : ontology.getDataPropertiesInSignature()) {
- entityAnnotations.put(aEntity, aEntity.getAnnotationAssertionAxioms(ontology));
+ entityAnnotations.put(aEntity, EntitySearcher.getAnnotationAssertionAxioms(aEntity, ontology));
}
for (OWLNamedIndividual aEntity : ontology.getIndividualsInSignature()) {
- entityAnnotations.put(aEntity, aEntity.getAnnotationAssertionAxioms(ontology));
+ entityAnnotations.put(aEntity, EntitySearcher.getAnnotationAssertionAxioms(aEntity, ontology));
}
for (OWLAnnotationProperty aEntity : ontology.getAnnotationPropertiesInSignature()) {
- entityAnnotations.put(aEntity, aEntity.getAnnotationAssertionAxioms(ontology));
+ entityAnnotations.put(aEntity, EntitySearcher.getAnnotationAssertionAxioms(aEntity, ontology));
}
for (OWLDatatype aEntity : ontology.getDatatypesInSignature()) {
- entityAnnotations.put(aEntity, aEntity.getAnnotationAssertionAxioms(ontology));
+ entityAnnotations.put(aEntity, EntitySearcher.getAnnotationAssertionAxioms(aEntity, ontology));
}
manager.removeOntology(ontology);
OWLOntology inferred = manager.createOntology(id);
- iog.fillOntology(manager, inferred);
+ iog.fillOntology(manager.getOWLDataFactory(), inferred);
for (OWLImportsDeclaration decl : declarations) {
manager.applyChange(new AddImport(inferred, decl));
@@ -425,11 +418,11 @@ private OWLOntology parseWithReasoner(OWLOntologyManager manager, OWLOntology on
}
}
- private void applyAnnotations(OWLEntity aEntity, Map> entityAnnotations,
+ private void applyAnnotations(OWLEntity aEntity, Map> entityAnnotations,
OWLOntologyManager manager, OWLOntology ontology) {
- Set entitySet = entityAnnotations.get(aEntity);
- if (entitySet != null) {
- for (OWLAnnotationAssertionAxiom ann : entitySet) {
+ Collection entityCollection = entityAnnotations.get(aEntity);
+ if (entityCollection != null) {
+ for (OWLAnnotationAssertionAxiom ann : entityCollection) {
manager.addAxiom(ontology, ann);
}
}
@@ -462,6 +455,6 @@ private String applyXSLTTransformation(String source, String ontologyUrl, String
transformer.transform(inputSource, new StreamResult(output));
- return output.toString();
+ return new String(output.toByteArray(), StandardCharsets.UTF_8);
}
}
diff --git a/src/main/webapp/de.xml b/src/main/webapp/de.xml
new file mode 100644
index 0000000..504e174
--- /dev/null
+++ b/src/main/webapp/de.xml
@@ -0,0 +1,89 @@
+
+
+ Ontologie
+ Ontologie Quelle
+ Andere Visualisierung
+ Visualisierung mit:
+ Datum
+ Aktuelle Version
+ Vorherige Version
+ Abwärtskompatibel mit
+ Inkompatibel mit
+ Abstract
+ Einführung
+ Alle disjuncten Klassen
+ Allgemeine Subklassendefinition
+ Allgemeine Equivalenz Definition
+ ist Subklasse von
+ ist äquvivalent zu
+ funktional
+ invers funktional
+ reflexiv
+ irreflexiv
+ symmetrisch
+ asymmetrisch
+ transitiv
+ ist definiert durch
+ gehört zu
+ ist gleich wie
+ ist auch definiert als
+ ist disjunkt zu
+ hat Schlüssel
+ hat Super-Klassen
+ hat Sub-Klassen
+ ist in der Domäne von
+ ist in Range von
+ hat Member
+ ist inverse zu
+ hat Sub-Eigenschaft Ketten
+ hat äquivalente Eigenschaften
+ hat Super-Eigenschaften
+ hat Sub-Eigenschaften
+ hat Domäne
+ hat Range
+ Importierte Ontologien
+ hat Fakten
+ Authoren
+ Mitwirkende
+ Veröffentlicht bei
+ Inhaltsverzeichnis
+ Übersicht
+ zurück zur
+ Klasse
+ Klassen
+ Objekt Eigenschaft
+ Objekt Eigenschaften
+ Daten Eigenschaft
+ Daten Eigenschaften
+ benanntes Individuum
+ benannte Individuen
+ Anmerkungseigenschaft
+ Anmerkungseigenschaften
+ Datenbereich
+ Datenbereiche
+ Allgemeine Axiome
+ Regel
+ SWRL Regeln
+ Standard-Namensraum
+ Namensraumdefinitionen
+ Dieses HTML Dokument wurde durch Verarbeitung einer Ontologie mit Hilfe von
+ erzeugt, entwickelt durch
+ oder
+ Klassenübersicht
+ Übersicht der Objekteigenschaften
+ Übersicht der Dateneigenschaften
+ Übersicht der Anmerkungseigenschaften
+ Übersicht der benannten Individuen
+ hat Charakteristika
+ deckt Anforderungen
+ extrahiert aus
+ hat Komponente
+ hat Schlussfolgerungen
+ hat Intent
+ hat Unit Test
+ ist Klon von
+ ist Spezialisierung von
+ weiterentwicklet auf Basis von
+ ähnliche Inhaltsmuster
+ Szenarien
+