• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
TMQL tutorial - part 1
 

TMQL tutorial - part 1

on

  • 1,803 views

In this first part of TMQL tutorials you learn the basics of TMQL: the metamodel, the grammar, the topic identification and the basic navigation concept.

In this first part of TMQL tutorials you learn the basics of TMQL: the metamodel, the grammar, the topic identification and the basic navigation concept.

Statistics

Views

Total Views
1,803
Views on SlideShare
1,388
Embed Views
415

Actions

Likes
0
Downloads
12
Comments
0

4 Embeds 415

http://www.topicmapslab.de 410
http://translate.googleusercontent.com 3
http://paper.li 1
https://webvpn.uni-leipzig.de 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NoDerivs LicenseCC Attribution-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    TMQL tutorial - part 1 TMQL tutorial - part 1 Presentation Transcript

    • Einführung in Topic Maps Topic Maps Query Language Session 1 Sven Krosse M. Sc. Topic Maps Lab an der Universität Leipzig krosse@informatik.uni-leipzig.de topicmapslab.de
    • Einführung in Topic Maps Agenda 1. Grundlagen ● TMQL Metamodell – Vergleich zum TMDM ● Grammatik 2. TMQL als Sprache ● Topic Identifizierung ● Navigationskonzept topicmapslab.de
    • Einführung in Topic Maps Grundlagen Metamodell topicmapslab.de
    • Einführung in Topic Maps Metamodell ● als Topic Map repräsentiert ● jedes Topic kann im Query verwendet werden ● Topic Maps Elemente anders repräsentiert als im TMDM topicmapslab.de
    • Einführung in Topic Maps TMDM topicmapslab.de
    • Einführung in Topic Maps TMQL ● Topic Map Konstrukt existiert nicht ● keine Reifikation von Topic Maps möglich ● Abfrage aller Topics bzw. Assoziation schwer topicmapslab.de
    • Einführung in Topic Maps TMDM topicmapslab.de
    • Einführung in Topic Maps TMDM → TMQL topicmapslab.de
    • Einführung in Topic Maps TMQL ● keine Unterscheidung zwischen Name und Occurrence → Characteristics topicmapslab.de
    • Einführung in Topic Maps TMDM topicmapslab.de
    • Einführung in Topic Maps TMDM → TMQL topicmapslab.de
    • Einführung in Topic Maps TMQL ● keine direkte Unterstützung von Varianten → Abfrage nur über spezielle Funktion topicmapslab.de
    • Einführung in Topic Maps TMDM topicmapslab.de
    • Einführung in Topic Maps TMDM → TMQL topicmapslab.de
    • Einführung in Topic Maps TMQL ● keine Rollenkonstrukte → keine Reifikation von Rollen topicmapslab.de
    • Einführung in Topic Maps Zusammenfassung ● keine Unterscheidung zwischen Namen und Occurrences ● keine Varianten von Namen ● keine Rollenkonstrukte ● kein Topic Map Konstrukt topicmapslab.de
    • Einführung in Topic Maps Grundlagen Grammatik topicmapslab.de
    • Einführung in Topic Maps Grammatik ● in drei Ebene definiert ● jede Ebene inspiriert von anderen Standards topicmapslab.de
    • Einführung in Topic Maps Token Level ● Terminalsymbole der Sprache ● Definition auf Basis von regulären Ausdrücken Token Level topicmapslab.de 19
    • Einführung in Topic Maps Canonical Level ● Definition von Produktionsregeln Beispiel: tuple-expression := <value-expression> Canonical Level Token Level topicmapslab.de 20
    • Einführung in Topic Maps Non-Canonical Level ● Termsubstitution als neue Produktionsregeln ● Definition von kürzeren Ausdrücken anchor / tm:name ==> anchor >> chracteristics tm:name Non-Canonical Level Canonical Level Token Level topicmapslab.de 21
    • Einführung in Topic Maps Sprachbestandteile Literale und Konstanten topicmapslab.de
    • Einführung in Topic Maps Literale und Konstanten ● Konstanten ( atoms ) sind Datentypen und Operatoren ● Übernahme von CTM Datentypen topicmapslab.de
    • Einführung in Topic Maps Literale und Konstanten atom possible value atom Undefined | boolean | number | date | dateTime | string | iri undefined undef boolean true or false number decimal or integer decimal /[+-]?d+(.d+)?/ integer /[+-]?d+/ date '-'? yyyy '-' mm '-' dd (zzzzzz)? dateTime '-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)? iri see RFC 3987 string /"([^"]|")*"/ | /'([^']|')*'/ topicmapslab.de
    • Einführung in Topic Maps Sprachbestandteile Topic Identifizierung topicmapslab.de
    • Einführung in Topic Maps Topic Identifizierung ● Verwendung von Referenzen oder String Literalen ● String Literale durch Achsen übersetzt ● Referenzen werden automatisch übersetzt ● Subject-Identifier ● Subject-Locator ● Item-Identifier topicmapslab.de
    • Einführung in Topic Maps Topic Identifizierung ● item-identifier puccini ● subject-identifier http://en.wikipedia.org/wiki/Puccini ● subject-locator http://en.wikipedia.org/wiki/Puccini topicmapslab.de
    • Einführung in Topic Maps Topic Identifizierung ● Item-identifier ”puccini“ << item ● Subject-identifier “http://en.wikipedia.org/wiki/Puccini“ << indicators ● Subject-locator “http://en.wikipedia.org/wiki/Puccini“ << locators topicmapslab.de
    • Einführung in Topic Maps Sprachbestandteile Navigationskonzept topicmapslab.de
    • 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 30
    • 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 31
    • Einführung in Topic Maps Achse - indicators ● keine optionalen Typen ● vorwärts: alle Subject-Identifier eines Topics ● rückwärts: Adressierung eines Topics mit Subject Identifier topicmapslab.de 32
    • Einführung in Topic Maps Achse - indicators http://en.wikipedia.org/wiki/Puccini >> indicators “http://en.wikipedia.org/wiki/Puccini” << indicators topicmapslab.de 33
    • Einführung in Topic Maps Achse - locators ● keine optionalen Typen ● vorwärts: alle Subject-Locator eines Topics ● rückwärts: Adressierung eines Topics mit Subject Locator topicmapslab.de 34
    • Einführung in Topic Maps Achse - locators http://en.wikipedia.org/wiki/Puccini >> locators “http://en.wikipedia.org/wiki/Puccini” << locators topicmapslab.de 35
    • 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 mit Item Identifier topicmapslab.de 36
    • Einführung in Topic Maps Achse - item http://en.wikipedia.org/wiki/Puccini >> item “http://en.wikipedia.org/wiki/Puccini” << item topicmapslab.de 37
    • 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 38
    • 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 39
    • 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 40
    • 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 41
    • Einführung in Topic Maps TMQL – Typhierarchie A D B C E F G e1 e2 g1 g2 topicmapslab.de 42
    • Einführung in Topic Maps TMQL – Typhierarchie A D B C E F G e1 e2 g1 g2 TMQL-Query: e1 >> types topicmapslab.de 43
    • Einführung in Topic Maps TMQL – Typhierarchie A D B C E F G e1 e2 g1 g2 TMQL-Query: E >> supertypes topicmapslab.de 44
    • Einführung in Topic Maps TMQL – Typhierarchie A D B C E F G e1 e2 g1 g2 TMQL-Query: A >> instances topicmapslab.de 45
    • 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 46
    • 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 47
    • Einführung in Topic Maps TMQL – characteristics axis Name 1 t Name 2 g e1 Occurrence 1 t Occurrence 2 g topicmapslab.de 48
    • 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 49
    • Einführung in Topic Maps ENDE topicmapslab.de