2016-07-14 16 views
1

Kann OWLAPI so konfiguriert werden, dass keine Ontologien/Ontologien importiert werden, die in der aktuellen Arbeits-Ontologie vorhanden sind?OWLAPI: Verwendung von 'Imports' enum

Wie Imports enum funktioniert? (verfügbar unter org.semanticweb.owlapi.model.parameters) [Eine Aufzählung für vom Menschen lesbare Werte zum Einschließen/Ausschließen von Importen aus Suchen]. Wie fügt man dies zu OWLAPI-Code in JAVA hinzu?

Diese Aufzählung hat zwei Konstanten INCLUDE und AUSSCHLIESSEN.

Antwort

2

Die Imports-Enumeration bezieht sich nicht auf das Laden importierter Ontologien, sondern auf die Suche nach Axiomen in diesen Ontologien. INCLUDE sucht in jedem Methodenaufruf, der einen Import-Parameter akzeptiert, nach importierten Ontologien sowie nach der aktuellen Ontologie.

Ich glaube nicht, dass es einen Schalter gibt, um die Importauflösung einfach zu stoppen. Sie können dies umgehen, indem Sie eine leere Ontologie und einen SimpleIRIMapper erstellen, der die leere Ontologie-IRI für jede Eingabe zurückgibt. Dadurch werden alle Importrichtlinien so umgeleitet, dass sie die leere Ontologie anstelle der tatsächlichen Ontologien enthalten.

Beispiel mit :

final IRI emptyOntologyIRI=... 
OWLOntologyIRIMapper mapper = new OWLOntologyIRIMapper() { 
    public IRI getDocumentIRI(IRI in) { 
     return emptyOntologyIRI; 
    } 
}; 
+0

Für obigen Fall muss ich im Voraus weiß, welche meine importierten Ontologien richtig sind. Wenn ich dieses Wissen nicht habe, dann sollte wie 'SimpleIRIMapper' implementiert werden. – SuhasD

+0

SimpleIRIMapper ordnet eine Eingabe einem Ausgang zu. Sie können die gleiche Ausgabe unabhängig von der Eingabe zurückgeben. Oder Sie können wie im Beispiel eine eigene Implementierung von OWLOntologyIRIMapper schreiben. – Ignazio