Erstellen einer Occurrence
Occurrences verbinden innerhalb einer Topic-Map Subjekte mit relevanten Informationsressourcen. Diese Ressourcen können zum einen Werte innerhalb der Topic-Map annehmen und zum anderen auf adressierbare Informationsobjekte bzw. -ressourcen außerhalb der Topic-Map verweisen.
Im folgenden Beispiel soll zunächst das Anlegen einer Occurrence ohne Scope und Type der Topic t1 mit einem Wert demonstriert werden.
// Anlegen einer Occurrence
Occurrence occ1 = t1.createOccurrence("25.08.2007", null, null);
Das Topic-Interface stellt dazu die Funktion createOccurrence zur Verfügung. Ähnlich wie bei Topic-Names können hier 3 Argumente übergeben werden.
Das erste Argument ist entweder ein Wert oder ein Locator. Das zweite Argument ist der Occurrence-Type und das dritte eine Menge von Topics die einen Scope repräsentieren. Im oben genannten Beispiel wird eine Occurrence mit einem Wert belegt und kein Occurrence-Type und Scope vergeben.
Im nächsten Beispiel wird direkt bei der Erzeugung der Occurrence ein Occurrence-Type vergeben. Dazu wird zunächst ein Topic erstellt, welches ein Datum beschreiben soll.
// Beschreibendes Topic für Datum
Topic dateTopic = tm.createTopic();
// Occurrence für t1 erzeugen und direct Type zuweisen
Occurrence occ1 = t1.createOccurrence("25.08.2007", dateTopic, null);
Nachdem das Topic für das Datum erstellt wurde, wird es direkt als zweiter Parameter der Funktion createOccurrence übergeben. TMAPI erstellt so direkt bei Anlegen einer neuen Occurrence einen Occurrence-Type.
Das zuweisen von Scope kann ebenfalls direkt bei der Erstellung einer neuen Occurrence geschehen. Die Funktionsweise gleicht der Erstellung von Topic-Names. Dazu wird beim Aufruf der Funktion createOccurrence als drittes Argument eine Menge von Topics übergeben, die den Scope repräsentieren. Im folgenden Beispiel wird eine Occurrence mit einer verbundenen Informationsressource und einem Occurrence-Type und Scope erzeugt.
// Locator erzeugen
Locator websiteLoc = tm.createLocator("http://www.meshed.de");
// Topic für Type erstellen
Topic website = tm.createTopic();
// Topic für Scope
Topic german = tm.createTopic();
// Sammlung der Scopes
Collection scopes_de = new Collection();
// Topic hinzufügen
scopes_de.add(german);
// Occurrence mit Scopes und Types erstellen
Occurrence occ2 = t1.createOccurrence(websiteLoc, website, scopes_de);
Im Beispiel wird zunächst ein Locator für die Informationsressource erstellt. Im Anschluss ein Topic erzeugt, dass eine Website repräsentieren soll. Nachdem dann ein Topic für die deutsche Sprache erstellt wurde, wird es der Menge von Scopes zugewiesen. Bei der Erstellung werden dann alle Parameter der Funktion createOccurrence übergeben.
Sie können Scopes jederzeit nachträglich hinzufügen und entfernen. Auf diese Erläuterung wird an dieser Stelle verzichtet. Im nächsten Abschnitt erfahren Sie, wie Sie den Occurrence-Type nachträglich ändern, hinzufügen oder löschen können.