|
|
 |
XML Clearinghouse für Berlin und Brandenburg
Topic Maps
Status: TopicMaps.Org Specification vom 6. August 2001
Version: 1.0
Homepage: http://www.topicmaps.org/xtm/index.html
Verfasser: TopicMaps.Org
Topic Maps sind ein abstraktes Modell und ein dazu gehöriges
in SGML-
beziehungsweise XML-basiertes
Datenformat zur Formulierung von Wissensstrukturen. Topic Maps wurden 1999 als
ISO-Standard ISO/IEC 13250 normiert und später als XML Topic Maps
(XTM) in XML formuliert.
Topic Maps bestehen aus so genannten Topics (Themen, Personen,
Orte...), Associations (Verknüpfungen zwischen Topics) und
Occurences (Instanzen von oder Dokumente zu Topics). Desweiteren
gibt es Names und Rollen (Bezeichnungen von Topics und Associations).
Im Gegensatz zu RDF,
das eine computerverstehbare Formalisierung zum Ziel hat, sind Topic Maps eher
zur Strukturierung von Wissen aus Sicht der Menschen konzipiert. Topic Maps
sollen die bessere Navigation und Suche in Internet-Resourcen und anderen Dokumenten
ermöglichen und dem Austausch von Metadaten dienen. Sie haben ihre Wurzeln in
Glossaren, Klassifikationssystemen (beispielweise der Themenordnung des Open
Directory) und Thesauri, gehen aber in ihrer Ausdrucksstärke über diese hinaus.
In der Praxis werden mit Topic Maps oft lediglich einfache (facettierte) Klassifikationen
modelliert, so dass dafür mit der eXchangeable Faceted Metadata Language (XFML)
unabhängig eine vereinfachte Untermenge geschaffen wurde.
Eine kurze Einführung:
| Definieren einer Topic Map |
Im Folgenden wird das Grundgerüst einer Topic Map definiert:
<?xml version="1.0" ?> <!-- <!DOCTYPE topicMap SYSTEM "xtm1.dtd"> --> <topicMap
xmlns="http://www.topicmaps.org/xtm/1.0/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- topics, associations, and merge map directives go here -->
</topicMap>
|
| Hinzufügen von Topics |
Mithilfe des basename wird später ein Bezug zum topic hergestellt.
<?xml version="1.0" ?> <!-- <!DOCTYPE topicMap SYSTEM "xtm1.dtd"> --> <topicMap
xmlns="http://www.topicmaps.org/xtm/1.0/"
xmlns:xlink="http://www.w3.org/1999/xlink"> <topic id="sw-planet"> <baseName> <baseNameString>Planet</baseNameString> </baseName> </topic> <topic id="sw-person"> <baseName> <baseNameString>Person</baseNameString> </baseName> </topic> </topicMap>
|
| Typed Topics |
Topics können durch Typed Topics in logische Gruppen aufgeteilt werden.
Mit instanceOf wird die Zugehörigkeit von Darth Vader zu der Gruppe
sw-person definiert.
... <topic id="sw-darthvader"> <instanceOf> <topicRef xlink:href="#sw-person" /> </instanceOf> <baseName> <baseNameString>Darth Vader</baseNameString> </baseName> </topic> ...
|
| Hinzufügen von Assoziationen |
Assoziationen verdeutlichen die Beziehungen zwischen den Topics. In
diesem Beispiel wird die Verwandschaft von Darth Vader und Luke
Skywalker aufgezeigt.
... <association id="vader-dad-of-luke"> <instanceOf><topicRef xlink:href="#fathering"/></instanceOf> <member> <roleSpec><topicRef xlink:href="#child"/></roleSpec> <topicRef xlink:href="#sw-lukeskywalker"/> </member> <member> <roleSpec><topicRef xlink:href="#father"/></roleSpec> <topicRef xlink:href="#sw-darthvader"/> </member> </association> ...
Nun sind die beiden Topics sw-lukeskywalker und sw-darthvader durch die
Assoziation fathering verknüpft. Da diese Assoziation jedoch keine
Richtung besitzt, mußt noch definiert werden, welche Rolle Luke und
Vader jeweils einnehmen.
... <topic id="child"> <baseName> <baseNameString>child</baseNameString> </baseName> </topic> <topic id="father"> <baseName> <baseNameString>father</baseNameString> </baseName> </topic> <topic id="fathering"> <baseName> <baseNameString>fathering</baseNameString> </baseName> <baseName> <scope><topicRef xlink:href="#father"/></scope> <baseNameString>is father of</baseNameString> </baseName> <baseName> <scope><topicRef xlink:href="#child"/></scope> <baseNameString>is child of</baseNameString> </baseName> </topic> ...
|
| Occurrences |
Eine Occurrence definiert eine Resource, die relevante Informationen zu
einem Topic liefert. Das können verschiedene Quellen sein: eine Website,
Textdokumente, usw. ...
... <topic id="sw-lukeskywalker"> <instanceOf> <topicRef xlink:href="#sw-person" /> </instanceOf> <baseName> <baseNameString>Luke Skywalker</baseNameString> </baseName> <subjectIdentity> <subjectIndicatorRef
xlink:href="http://www.starwars.com/databank/character/lukeskywalker/index.html" />
</subjectIdentity> <occurrence> <instanceOf><topicRef xlink:href="#picture"/></instanceOf> <ResourceRef? xlink:href="http://starwars.com/photos/lukepicture.html" /> </occurrence> </topic> ...
|
Dieses Beispiel wird hier
ausführlicher erläutert.
| |