TOPIC MAPS RUN FROM XML
                and is coming back with Flowers




Benjamin Bock
TOPIC MAPS RUN FROM XML
     and is coming back with Flowers

             Benjamin Bock
TOPIC MAPS RUN FROM XML
                and is coming back with Flowers




Benjamin Bock
www.topicmapslab.de


  TOPIC MAPS RUN FROM XML
                 and is coming back with Flowers




Benjamin Bock
TOPIC MAPS RUN FROM XML
                and is coming back with Flowers




Benjamin Bock
TOPIC MAPS RUN FROM XML
                and is coming back with Flowers

                             @bnjmnbck



Benjami...
TOPIC MAPS RUN FROM XML
                and is coming back with Flowers

                             @benjaminbock



Ben...
TOPIC MAPS RUN FROM XML
                and is coming back with Flowers

                             @bnjmnbck



Benjami...
<HISTORY/>
<HYTIME/>
<HYTIME/>


• ISO/IEC10744:1992 Hypermedia/Time-based Structuring
 Language

• based   on and extending SGML

• voluminous...
XML TOPIC MAPS 1.0
XML TOPIC MAPS 1.0


• „Transition“   to XML

• Broke compatibility by changing almost all element and
 attribute names

•...
TOPIC MAPS RUN
STANDARD APPLICATION
    MODEL (SAM)
TOPIC MAPS REFERENCE
   MODEL (TMRM)
TOPIC MAPS REFERENCE
   MODEL (TMRM)
TOPIC MAPS DATA MODEL
TOPIC MAPS DATA MODEL


• NOXML

• like   DOM for the specific model from XTM

• Integration   model (i.e. merging)
TOPIC MAPS DATA MODEL


• NOXML

• like   DOM for the specific model from XTM

• Integration   model (i.e. merging)
SUBJECT CENTRIC MODELING
SUBJECT CENTRIC MODELING



                  "real" world
SUBJECT CENTRIC MODELING



                  "real" world

                    model
SUBJECT CENTRIC MODELING



                               "real" world

     has name Leipzig            model

     has ...
SUBJECT CENTRIC MODELING



                               "real" world

     has name Leipzig            model

     has ...
SUBJECT CENTRIC MODELING



                               "real" world

     has name Leipzig            model

     has ...
SUBJECT CENTRIC MODELING



                                           "real" world

     has name Leipzig                ...
SUBJECT CENTRIC MODELING



                                           "real" world

     has name Leipzig                ...
SUBJECT CENTRIC MODELING



                                           "real" world

     has name Leipzig                ...
SUBJECT CENTRIC MODELING



                                           "real" world

     has name Leipzig                ...
SUBJECT CENTRIC MODELING



                                                     "real" world

          has name Leipzig ...
SUBJECT CENTRIC MODELING



                                                      "real" world

         has name Leipzig ...
TOPIC MAPS INTRODUCTION
TOPIC MAPS INTRODUCTION
TOPIC MAPS INTRODUCTION


              Leipzig


       name
TOPIC MAPS INTRODUCTION

                          Lipsia
                variant


              Leipzig


       name
TOPIC MAPS INTRODUCTION

                            Lipsia
                variant


              Leipzig
              ...
TOPIC MAPS INTRODUCTION

                              Lipsia
                  variant


               Leipzig
         ...
TOPIC MAPS INTRODUCTION

                                Lipsia
                    variant


                 Leipzig
   ...
TOPIC MAPS INTRODUCTION



   Leipzig       C. Wieck
TOPIC MAPS INTRODUCTION

             Birth




   Leipzig                  C. Wieck



              association
TOPIC MAPS INTRODUCTION

                                Birth
      Birth place



   Leipzig          role type         ...
TOPIC MAPS INTRODUCTION

                                Birth
      Birth place                              Born person
...
TOPIC MAPS DATA MODEL
<SOME XML="TO"
KEEP="YOU“>EXCITED
      </SOME>
TOPIC MAPS DATA MODEL
TOPIC MAPS DATA MODEL
TOPIC MAPS DATA MODEL
DATA MODEL: HIERARCHY
DATA MODEL: HIERARCHY
DATA MODEL: TOPIC MAP
DATA MODEL: TOPIC
DATA MODEL: ASSOCIATION
XTM: XML TOPIC MAPS 2.0

topic = element topic { id,

                 (itemIdentity | subjectLocator | subjectIdentifier)*...
XTM: XML TOPIC MAPS 2.0

•   <?xml version='1.0'?>
    <topicMap version='2.0' xmlns='http://www.topicmaps.org/xtm/'>
    ...
TOPIC MAPS STANDARDS
TOPIC MAPS QUERY
LANGUAGE (TMQL)
TOPIC MAPS QUERY
               LANGUAGE (TMQL)

•3   Styles:

 • Path   expressions, similar to XPath

 • Select: similar...
PATH STYLE
PATH STYLE



// Person [ . / shoesize > 42 ] / name
PATH STYLE



Person >> instances [ . >> characteristics shoesize > 42 ] >>
characteristics name
SELECT STYLE



select $p / name, $p / shoesize
where
     $p isa person
    & $p / shoesize > 42
FLWOR STYLE


for $p in // Person
  where
     $p / shoesize > 42
  return
     ( $p / name, $p / shoesize )
FLWOR STYLE

RETURN
<people>{
for $p in // Person
  where $p / shoesize > 42
  return <person>
              <name>{$p / n...
IDEAS



• SAX   / DOM interface for output

• Integration   of XML data into TM (using XPath)
MAIANA
Social Topic Mapping
TRY IT
http://maiana.topicmapslab.de/
CHECK IT OUT


• http://code.google.com/p/tmql/    (Code in Java, APL 2.0)

• http://tmql4j.topicmapslab.de/   (Documentat...
RTM-TMQL: FIRST STEPS

• Download     + Install JRuby from http://jruby.org

• sudo    jgem install rtm-tmql rtm-ontopia

...
RTM-TMQL: FIRST STEPS



• tm.tmql("//   Person / name")
SEE YOU



• Topic   Maps 2010, Oslo, April 14-15. http://topicmaps.com/

• TMRA     2010, Leipzig, Sept 29-Oct 1. http://...
THANKS
Upcoming SlideShare
Loading in...5
×

Topic Maps run from XML and is coming back with Flowers

666

Published on

In its history, Topic Maps developed from a syntax-based standard to a pure data model without any syntax defined within its core data model. The syntaxes defined by the ISO for the exchange of Topic Maps are conforming to the generic data model, one of them, XTM, being based on XML. The usage of XTM without a Topic Maps engine is cumbersome because of the generalized schema and the merging rules. For example, extracting useful information from XTM using XSLT requires to query for the typing topics, which is a new subquery just for selecting the right subject whereas it was the entity name in a domain specific XML format. Querying the properties, called Names and Occurrences in Topic Maps, requires additional subqueries because their types and scopes are again Topics and not simple XML entity- and attribute names. The Topic Maps Query Language which is the latest draft in the ISO standardization presented here allows formulating queries against a Topic Maps store in a concise way and outputting the result in various representations. Our implementation TMQL4J uses any TMAPI-compatible store to operate on and allows optimized queries and outputting domain-specific XML. This is demonstrated by generating an ATOM feed for the subject identity record service subj3ct.com.

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

No Downloads
Views
Total Views
666
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide





































































  • Topic Maps run from XML and is coming back with Flowers

    1. 1. TOPIC MAPS RUN FROM XML and is coming back with Flowers Benjamin Bock
    2. 2. TOPIC MAPS RUN FROM XML and is coming back with Flowers Benjamin Bock
    3. 3. TOPIC MAPS RUN FROM XML and is coming back with Flowers Benjamin Bock
    4. 4. www.topicmapslab.de TOPIC MAPS RUN FROM XML and is coming back with Flowers Benjamin Bock
    5. 5. TOPIC MAPS RUN FROM XML and is coming back with Flowers Benjamin Bock
    6. 6. TOPIC MAPS RUN FROM XML and is coming back with Flowers @bnjmnbck Benjamin Bock
    7. 7. TOPIC MAPS RUN FROM XML and is coming back with Flowers @benjaminbock Benjamin Bock
    8. 8. TOPIC MAPS RUN FROM XML and is coming back with Flowers @bnjmnbck Benjamin Bock
    9. 9. <HISTORY/>
    10. 10. <HYTIME/>
    11. 11. <HYTIME/> • ISO/IEC10744:1992 Hypermedia/Time-based Structuring Language • based on and extending SGML • voluminous: 450+ pages
    12. 12. XML TOPIC MAPS 1.0
    13. 13. XML TOPIC MAPS 1.0 • „Transition“ to XML • Broke compatibility by changing almost all element and attribute names • more concise, more generic
    14. 14. TOPIC MAPS RUN
    15. 15. STANDARD APPLICATION MODEL (SAM)
    16. 16. TOPIC MAPS REFERENCE MODEL (TMRM)
    17. 17. TOPIC MAPS REFERENCE MODEL (TMRM)
    18. 18. TOPIC MAPS DATA MODEL
    19. 19. TOPIC MAPS DATA MODEL • NOXML • like DOM for the specific model from XTM • Integration model (i.e. merging)
    20. 20. TOPIC MAPS DATA MODEL • NOXML • like DOM for the specific model from XTM • Integration model (i.e. merging)
    21. 21. SUBJECT CENTRIC MODELING
    22. 22. SUBJECT CENTRIC MODELING "real" world
    23. 23. SUBJECT CENTRIC MODELING "real" world model
    24. 24. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl)
    25. 25. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) was founded 1165
    26. 26. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) was founded 1165
    27. 27. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) has name Clara Wieck was founded 1165
    28. 28. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) has name Clara Wieck was founded 1165
    29. 29. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) has name Clara Wieck was founded 1165
    30. 30. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) has name Clara Wieck was founded 1165
    31. 31. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) has name Clara Wieck was founded 1165 has name Lipsko (in cs) has webseite http://www.leipzig.de
    32. 32. SUBJECT CENTRIC MODELING "real" world has name Leipzig model has name Lipsia has name Lipsk (in pl) has name Clara Wieck was founded 1165 has name Lipsko (in cs) has webseite http://www.leipzig.de
    33. 33. TOPIC MAPS INTRODUCTION
    34. 34. TOPIC MAPS INTRODUCTION
    35. 35. TOPIC MAPS INTRODUCTION Leipzig name
    36. 36. TOPIC MAPS INTRODUCTION Lipsia variant Leipzig name
    37. 37. TOPIC MAPS INTRODUCTION Lipsia variant Leipzig pl name Lipsk scope
    38. 38. TOPIC MAPS INTRODUCTION Lipsia variant Leipzig pl name Lipsk scope foundation occurrence 1165 type
    39. 39. TOPIC MAPS INTRODUCTION Lipsia variant Leipzig pl name Lipsk scope foundation occurrence 1165 type website occurrence http://www. leipzig.de/ type
    40. 40. TOPIC MAPS INTRODUCTION Leipzig C. Wieck
    41. 41. TOPIC MAPS INTRODUCTION Birth Leipzig C. Wieck association
    42. 42. TOPIC MAPS INTRODUCTION Birth Birth place Leipzig role type C. Wieck role player ass. role association
    43. 43. TOPIC MAPS INTRODUCTION Birth Birth place Born person Leipzig role type C. Wieck role player ass. role association
    44. 44. TOPIC MAPS DATA MODEL
    45. 45. <SOME XML="TO" KEEP="YOU“>EXCITED </SOME>
    46. 46. TOPIC MAPS DATA MODEL
    47. 47. TOPIC MAPS DATA MODEL
    48. 48. TOPIC MAPS DATA MODEL
    49. 49. DATA MODEL: HIERARCHY
    50. 50. DATA MODEL: HIERARCHY
    51. 51. DATA MODEL: TOPIC MAP
    52. 52. DATA MODEL: TOPIC
    53. 53. DATA MODEL: ASSOCIATION
    54. 54. XTM: XML TOPIC MAPS 2.0 topic = element topic { id, (itemIdentity | subjectLocator | subjectIdentifier)*, instanceOf?, (name | occurrence)* } name = element name { reifiable, type?, scope?, value, variant* } association = element association { reifiable, type, scope?, role+ } role = element role { reifiable, type, topicRef }
    55. 55. XTM: XML TOPIC MAPS 2.0 • <?xml version='1.0'?> <topicMap version='2.0' xmlns='http://www.topicmaps.org/xtm/'> <topic id='t1'><itemIdentity href='urn:/base#a'/></topic> <topic id='t2'><subjectIdentifier href='http://psi.topicmaps.org/ iso13250/model/type-instance'/></topic> [...] <association> <type><topicRef href='#t2'/></type> <role><type><topicRef href='#t3'/></type><topicRef href='#t1'/></ role> <role><type><topicRef href='#t5'/></type><topicRef href='#t4'/></ role> </association></topicMap>
    56. 56. TOPIC MAPS STANDARDS
    57. 57. TOPIC MAPS QUERY LANGUAGE (TMQL)
    58. 58. TOPIC MAPS QUERY LANGUAGE (TMQL) •3 Styles: • Path expressions, similar to XPath • Select: similar to SQL • FLWOR: For-Let-Where-Order-Return, similar to XQuery
    59. 59. PATH STYLE
    60. 60. PATH STYLE // Person [ . / shoesize > 42 ] / name
    61. 61. PATH STYLE Person >> instances [ . >> characteristics shoesize > 42 ] >> characteristics name
    62. 62. SELECT STYLE select $p / name, $p / shoesize where $p isa person & $p / shoesize > 42
    63. 63. FLWOR STYLE for $p in // Person where $p / shoesize > 42 return ( $p / name, $p / shoesize )
    64. 64. FLWOR STYLE RETURN <people>{ for $p in // Person where $p / shoesize > 42 return <person> <name>{$p / name}</name> <shoesize>{$p / shoesize}</shoesize> </person> }</people>
    65. 65. IDEAS • SAX / DOM interface for output • Integration of XML data into TM (using XPath)
    66. 66. MAIANA Social Topic Mapping
    67. 67. TRY IT http://maiana.topicmapslab.de/
    68. 68. CHECK IT OUT • http://code.google.com/p/tmql/ (Code in Java, APL 2.0) • http://tmql4j.topicmapslab.de/ (Documentation) • http://rubygems.org/gems/rtm-tmql (Adapter for JRuby)
    69. 69. RTM-TMQL: FIRST STEPS • Download + Install JRuby from http://jruby.org • sudo jgem install rtm-tmql rtm-ontopia • jirb • require 'rtm-tmql' • con = RTM.connect • tm = con.from_xtm("some_topic_map.xtm")
    70. 70. RTM-TMQL: FIRST STEPS • tm.tmql("// Person / name")
    71. 71. SEE YOU • Topic Maps 2010, Oslo, April 14-15. http://topicmaps.com/ • TMRA 2010, Leipzig, Sept 29-Oct 1. http://tmra.de/
    72. 72. THANKS

    ×