TMQL tutorial - part 2

1,145 views

Published on

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.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,145
On SlideShare
0
From Embeds
0
Number of Embeds
158
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TMQL tutorial - part 2

  1. 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. 2. Einführung in Topic Maps Agenda 1. Navigationskonzept II 2. Path-Language – Draft 2010 ( kurzer Einblick ) topicmapslab.de
  3. 3. Einführung in Topic Maps Sprachbestandteile Navigationskonzept topicmapslab.de
  4. 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
  5. 5. Einführung in Topic Maps Navigationskonzept - Syntax DIRECTION ::= '<<' | '>>' AXIS-NAME ::= 'item' | 'indicators' | 'locators' | 'traverse' | 'players' | 'roles' | 'types' | 'reifier' | 'atomify' | 'characteristics' | 'supertypes' | 'scope' STEP ::= DIRECTION AXIS-NAME [ TOPIC-REF ] topicmapslab.de 5
  6. 6. Einführung in Topic Maps Achse - indicators ● keine optionalen Typen ● vorwärts: alle Subject-Identifier eines Topics ● rückwärts: Adressierung eines Topics mittels Subject-Identifier topicmapslab.de 6
  7. 7. Einführung in Topic Maps Achse - indicators http://en.wikipedia.org/wiki/Puccini >> indicators “http://en.wikipedia.org/wiki/Puccini” << indicators topicmapslab.de 7
  8. 8. Einführung in Topic Maps Achse - locators ● keine optionalen Typen ● vorwärts: alle Subject-Locator eines Topics ● rückwärts: Adressierung eines Topics mittels Subject-Locator topicmapslab.de 8
  9. 9. Einführung in Topic Maps Achse - locators http://en.wikipedia.org/wiki/Puccini >> locators “http://en.wikipedia.org/wiki/Puccini” << locators topicmapslab.de 9
  10. 10. Einführung in Topic Maps Achse - item ● keine optionalen Typen ● ohne Pluralisierung! → items ● vorwärts: alle Item-Identifier eines Topics ● rückwärts: Adressierung eines Topics mittels Item-Identifier topicmapslab.de 10
  11. 11. Einführung in Topic Maps Achse - item http://en.wikipedia.org/wiki/Puccini >> item “http://en.wikipedia.org/wiki/Puccini” << item topicmapslab.de 11
  12. 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
  13. 13. Einführung in Topic Maps Achse - types http://en.wikipedia.org/wiki/Puccini >> types http://en.wikipedia.org/wiki/Puccini << instances http://psi.ontopia.net/music/composer << types http://psi.ontopia.net/music/composer >> instances topicmapslab.de 13
  14. 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
  15. 15. Einführung in Topic Maps Achse - supertypes http://psi.ontopia.net/music/composer >> supertypes http://psi.ontopia.net/music/composer << subtypes http://psi.ontopia.net/music/musician << supertypes http://psi.ontopia.net/music/musician >> subtypes topicmapslab.de 15
  16. 16. Einführung in Topic Maps TMQL – Typhierarchie A D B C E F G e1 e2 g1 g2 topicmapslab.de 16
  17. 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. 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. 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. 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
  21. 21. Einführung in Topic Maps Achse - characteristics http://en.wikipedia.org/wiki/Puccini >> characteristics http://en.wikipedia.org/wiki/Puccini >> characteristics tm:name http://en.wikipedia.org/wiki/Puccini >> characteristics tm:occurrence topicmapslab.de 21
  22. 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. 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. 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
  25. 25. Einführung in Topic Maps Achse - atomify http://en.wikipedia.org/wiki/Puccini >> characteristics >> atomify “Puccini” << atomify << characteristics topicmapslab.de 25
  26. 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
  27. 27. Einführung in Topic Maps Achse - players http://psi.ontopia.net/music/composed-by >> players http://en.wikipedia.org/wiki/Puccini << players topicmapslab.de 27
  28. 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
  29. 29. Einführung in Topic Maps Achse - roles http://psi.ontopia.net/music/composed-by >> roles http://psi.ontopia.net/literature/work << roles topicmapslab.de 29
  30. 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
  31. 31. Einführung in Topic Maps Achse - traverse http://psi.ontopia.net/music/composed-by << traverse http://en.wikipedia.org/wiki/Puccini >> traverse topicmapslab.de 31
  32. 32. Einführung in Topic Maps TMQL – association axes r1 a1 r2 r3 a2 r4 p1 p2 p3 topicmapslab.de 32
  33. 33. Einführung in Topic Maps TMQL – association axes r1 a1 r2 r3 a2 r4 p1 p2 p3 TMQL-Query: p2 << players >> roles [ . >> players == p2 ] topicmapslab.de 33
  34. 34. Einführung in Topic Maps TMQL – association axes r1 a1 r2 r3 a2 r4 p1 p2 p3 TMQL-Query: a1 >> players topicmapslab.de 34
  35. 35. Einführung in Topic Maps TMQL – association axes r1 a1 r2 r3 a2 r4 p1 p2 p3 TMQL-Query: p2 >> traverse topicmapslab.de 35
  36. 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
  37. 37. Einführung in Topic Maps Achse - scope http://psi.ontopia.net/music/composed-by >> scope http://psi.ontopia.net/opera/web << scope topicmapslab.de 37
  38. 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
  39. 39. Einführung in Topic Maps Achse - reifier http://psi.ontopia.net/music/composed-by >> reifier http://psi.ontopia.net/opera/web << reifier topicmapslab.de 39
  40. 40. Einführung in Topic Maps Sprachbestandteile Draft 2010 topicmapslab.de
  41. 41. Einführung in Topic Maps Draft 2010 ● nur Path-Expression ● Änderungen ● ähnliches Navigationskonzept mit veränderter Syntax ● Achsenrichtung entfernt ● zusätzliche Achsen ● Entfernen einiger Achsen ● Syntax noch näher an XPath ● Standardachsen für jeden Konstrukt-Typ (Achsen optional) topicmapslab.de 41
  42. 42. Einführung in Topic Maps Draft 2010 ● Syntax pathstep → '/' pathspec filter * pathspec → axis '::' anyref | axis '::' | anyref | assocpattern filter → boolfilter | scopefilter assocpattern → anyref '(' anyref '->' anyref ')' topicmapslab.de 42
  43. 43. Einführung in Topic Maps Draft 2010 ● Typ-Instanz-Achsen type, direct-type, instance, direct-instance ● Supertyp-Subtyp-Achsen supertype, direct-supertype, subtype, direct-subtype ● Identifier-Achsen subject-identifier, subject-locator, item-identifier topicmapslab.de 43
  44. 44. Einführung in Topic Maps Draft 2010 ● Assoziationsachsen role, player ● Eigenschaften name, occurrence, variant, value, datatype ● Topic-Map-Achsen topic, association topicmapslab.de 44
  45. 45. Einführung in Topic Maps Draft 2010 ● Sonstige Achsen parent, scope, reifier topicmapslab.de 45
  46. 46. Einführung in Topic Maps Draft 2010 ● Beispiel / topic::composer / composed-by ( composer -> work ) topicmapslab.de 46
  47. 47. Einführung in Topic Maps Draft 2010 ● Beispiel / topic::composer / composed-by ( composer -> work ) alle Topics vom Typ composer topicmapslab.de 47
  48. 48. Einführung in Topic Maps Draft 2010 ● Beispiel / topic::composer / composed-by ( composer -> work ) alle Rollenspieler topicmapslab.de 48
  49. 49. Einführung in Topic Maps ENDE topicmapslab.de

×