2016-07-12 12 views
5

Ich habe Ontologie, die eine andere Ontologie importiert hat. Ich möchte wissen, wie OWLOntologyManager 's loadOntologyFromOntologyDocument(OWLOntologyDocumentSource documentSource, OWLOntologyLoaderConfiguration config) intern arbeitet. Ich habe OWLOntologyLoaderConfiguration Klasse verwendet, um die zu behandeln Fehlende Importe (möchte wissen, welcher Import mit Hilfe der MissingImportListener Klasse fehlschlägt).OWLAPI: Wie funktioniert die Lade-Ontologie mit Import?

Ich kann die fehlenden Importe hören. Aber wenn eine meiner Ontologie-Datei importieren für WEB-Ressource dann über Methode holt es von seinem Standort. Gibt es eine Möglichkeit, so dass ich den Aufruf für WEB-Ressource einschränken kann und fragt, um die Kopie zu laden, die ich in meinem System habe?

zB bei BBC Sport Methode lädt Ontologie Laden Ontologien folgenden intern:

  1. http://purl.org/NET/c4dm/event.owl
  2. FOAF (http://xmlns.com/foaf/0.1/)
  3. Zeit (http://www.w3.org/2006/time)

wie BBC Sport Eröffnung Ontologie in Protege.

Antwort

1

Sie können AutoIRIMapper verwenden - erstellen Sie einen Zeiger auf den Ordner, der lokale Kopien enthält, und fügen Sie ihn dem Manager hinzu, bevor Sie die Ontologie laden, nach der Sie suchen.

Für Ontologien, die an einer anderen Adresse verfügbar sind, verwenden Sie SimpleIRIMapper, die als Umleitung von der ursprünglichen Adresse an eine neue Adresse fungiert.

+0

Eigentlich verschiedene Ontologien sind in meinem Betriebssystem nicht auf der Festplatte. Ich weiß, wenn etwas in meinem Arbeitssystem nicht verfügbar ist, dann wird die Lade-API für die WEB-Ressource gehen. Aber stattdessen möchte ich Auslöser auslösen, die nicht für die WEB-Ressource gehen, sondern den Benutzer danach fragen (auch wenn die WEB-Ressource verfügbar ist). Ich möchte mein System für eine WEB-Ressource einschränken. – SuhasD

+0

Nach meinem Experiment wird die Lade-Methode für IRIMapper zuerst gehen, wenn nicht gefunden wird für WEB-Ressource gehen. Wenn es nicht verfügbar ist, wird entweder 'UnloadableImportException' ausgelöst oder, falls vorhanden, 'MissingImportListener'. Habe ich Recht damit? – SuhasD

+0

Um einen Benutzerschnittstellen-Trigger einzuführen, müssen Sie Ihre eigene 'OWLOntologyIRIMapper'-Implementierung schreiben. Es gibt nichts, was bereits verfügbar ist. – Ignazio