In this second part of TMQL tutorials you learn some more basics of the standards: the navigation concept part 2 and the TMQL 2010 draft. All slides are in German.
1. Einführung in Topic Maps
Topic Maps Query Language
Session 2
Sven Krosse M. Sc.
Topic Maps Lab an der Universität Leipzig
krosse@informatik.uni-leipzig.de
topicmapslab.de
2. Einführung in Topic Maps
Agenda
1. Navigationskonzept II
2. Path-Language – Draft 2010 ( kurzer Einblick )
topicmapslab.de
3. Einführung in Topic Maps
Sprachbestandteile
Navigationskonzept
topicmapslab.de
4. Einführung in Topic Maps
Navigationskonzept
● basiert auf dem Proxy-Konzept des TMRM
● Modell der Topic Map als abstrakter bidirektionaler Graph
● Definition von 12 Achsen ( +2 NCL )
topicmapslab.de
4
12. Einführung in Topic Maps
Achse - types
● keine optionalen Typen
● vorwärts: alle Typen eines Topics oder der Typ eines Topic Maps
Konstruktes
● rückwärts: alle Instanzen eines Topic Typs
● NCL: instances – Achse
● vorwärts: alle Instanzen eines Topics Typs
● rückwärts: alle Typen einer Topics oder der Typ eines Topic
Maps Konstruktes
topicmapslab.de
12
14. Einführung in Topic Maps
Achse - supertypes
● keine optionalen Typen
● vorwärts: alle Super-Typen eines Topic Typs
● rückwärts: alle Sub-Typen eines Topic Typs
● NCL: subtypes – Achse
● vorwärts: alle Sub-Typen eines Topic Typs
● rückwärts: alle Super-Typen eines Topic Typs
topicmapslab.de
14
16. Einführung in Topic Maps
TMQL – Typhierarchie
A
D B C
E F G
e1 e2 g1 g2
topicmapslab.de
16
17. Einführung in Topic Maps
TMQL – Typhierarchie
A
D B C
E F G
e1 e2 g1 g2
TMQL-Query: e1 >> types
topicmapslab.de
17
18. Einführung in Topic Maps
TMQL – Typhierarchie
A
D B C
E F G
e1 e2 g1 g2
TMQL-Query: E >> supertypes
topicmapslab.de
18
19. Einführung in Topic Maps
TMQL – Typhierarchie
A
D B C
E F G
e1 e2 g1 g2
TMQL-Query: A >> instances
topicmapslab.de
19
20. Einführung in Topic Maps
Achse - characteristics
● vorwärts: alle Eigenschaften eines Topics
● rückwärts: das Topic mit der Eigenschaft
● vordefinierte Typen
● alle Name tm:name
● alle Occurrences tm:occurrence
topicmapslab.de
20
22. Einführung in Topic Maps
TMQL – characteristics axis
Name 1 t
Name 2 g
e1
Occurrence 1 t
Occurrence 2 g
topicmapslab.de
22
23. Einführung in Topic Maps
TMQL – characteristics axis
Name 1 t
Name 2 g
e1
Occurrence 1 t
Occurrence 2 g
TMQL-Query: e1 >> characteristics g
topicmapslab.de
23
24. Einführung in Topic Maps
Achse - atomify
● vorwärts: Literal des konkreten Objektes
● unterstützt Names, Occurrences und Locators
● rückwärts: Locator, Name oder Occurrence mit dem Literal
● Mehrdeutigkeit möglich
topicmapslab.de
24
26. Einführung in Topic Maps
Achse - players
● vorwärts: alle Spieler einer Assoziation
● auch von Topic Typ einer Assoziation aus
● optionaler Typ = Rollentyp
● rückwärts: alle Assoziation mit dem Spieler
● optionaler Typ = Rollentyp
topicmapslab.de
26
28. Einführung in Topic Maps
Achse - roles
● vorwärts: alle Rollentypen einer Assoziation
● auch von Topic Typ einer Assoziation aus
● rückwärts: alle Assoziation mit dem Rollentyp
● optionaler Typ = Assoziationstyp
topicmapslab.de
28
30. Einführung in Topic Maps
Achse - traverse
● vorwärts: alle verketteten Spieler
● Verkettung über eine Assoziation zwischen zwei Topics
● optionaler Typ = Assoziationstyp
● rückwärts: alle verketteten Assoziation
● Verkettung über gemeinsamen Spieler
● optionaler Typ = Typ des Spielers
topicmapslab.de
30
36. Einführung in Topic Maps
Achse - scope
● kein optionaler Typ
● vorwärts: alle Themes eines Konstrukts
● rückwärts: alle Konstrukte im Scope mit der Theme
topicmapslab.de
36
38. Einführung in Topic Maps
Achse - reifier
● kein optionaler Typ
● vorwärts: der Reifier des Konstrukts
● rückwärts: das reifizierte Element
topicmapslab.de
38
46. Einführung in Topic Maps
Draft 2010
● Beispiel
/ topic::composer / composed-by ( composer -> work )
topicmapslab.de
46
47. Einführung in Topic Maps
Draft 2010
● Beispiel
/ topic::composer / composed-by ( composer -> work )
alle Topics vom Typ composer
topicmapslab.de
47
48. Einführung in Topic Maps
Draft 2010
● Beispiel
/ topic::composer / composed-by ( composer -> work )
alle Rollenspieler
topicmapslab.de
48