SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Aranuka - A POJO to Topic Maps mapping library


   Dipl.-Inf. Hannes Niederhausen                      Christian Haß M.Sc.

                              Topic Maps Lab
                    Natural Language Processing Group
                     Department of Computer Science
                            University of Leipzig


                              April 15th 2010




          Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   1/32
What is Aranuka?




      Atoll in the south pacific
            0◦ 10 N 173◦ 35 E
           15.5 square kilometers
           population of 852




                                                        Figure:
                                                        http://en.wikipedia.org/wiki/Aranuka


                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   2/32
What is Aranuka?




      Atoll in the south pacific
            0◦ 10 N 173◦ 35 E
           15.5 square kilometers
           population of 852
      OTMM library

                                                        Figure:
                                                        http://en.wikipedia.org/wiki/Aranuka


                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   2/32
Why do we need this?




   Topic Maps very generic
   Applications often more specific
   Makes development cumbersome
   Developer not familiar with Topic Maps




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   3/32
Idea



   Framework which handles Topic Maps interactions
   Should not influence model design
   Concept of JPA
   Use annotations
       Define the mapping
       Add schema information to the model




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   4/32
Mapping




   Classes → Topic Types
   Instance → Topics
   Strings → Names
   Strings or primitive types → Occurrences
   Other topic annotated classes → Associations




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   5/32
Not supported




   No variants
   No reification
   Only static scopes
   Only one topic type




                   Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   6/32
What are annotations?




   Meta Information
   Can have parameter
   Available since Java 5.0




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   7/32
A simple example



1   p u b l i c c l a s s Person {
2
3        i n t id ;
4        S t r i n g name ;
5        Date d a y O f B i r t h ;
6
7        Set <Person > f r i e n d s ;
8   }




                          Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   8/32
Defining a topic type




1
2   p u b l i c c l a s s Person




                         Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   9/32
Defining a topic type




1   @Topic ( s u b j e c t _ i d e n t i f i e r ="http://example/person" )
2   p u b l i c c l a s s Person




                        Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   10/32
We need an identifier




1
2   i n t id ;




                  Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   11/32
We need an identifier




1   @Id ( t y p e =IdType . ITEM_IDENTIFIER )
2   i n t id ;




                      Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   12/32
Defining a name




1
2   S t r i n g name ;




                         Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   13/32
Defining a name




1 @Name( t y p e ="http://example/name" )
2   S t r i n g name ;




                         Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   14/32
Defining an occurrance




1
2   Date d a y O f B i r t h ;




                            Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   15/32
Defining an occurrance




1   @Occurrence ( t y p e ="http://example/day_of_birth" )
2   Date d a y O f B i r t h ;




                    Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   16/32
Defining an association




1
2
3
4
5   Set <Person > f r i e n d s ;




                         Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   17/32
Defining an association




1   @Association (
2        t y p e ="http://example/friendship" ,
3        p l a y e d _ r o l e ="http://example/has_friend" ,
4        o t h e r _ r o l e ="http://example/is_friend_of" )
5   Set <Person > f r i e n d s ;




                      Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   18/32
Architecture I




    Aranuka is a mapper to a Topic Maps engine
    Uses third party engines via connectors
    Using Aranuka leads to the following achitecture




                  Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   19/32
Architecture II

                                       Java Application



                                     Domain Model




                  Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   20/32
Architecture II

                                       Java Application



                             Annotated Domain Model




                  Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   21/32
Architecture II

                                       Java Application



                             Annotated Domain Model




                                              Aranuka




                  Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   22/32
Architecture II

                                       Java Application



                             Annotated Domain Model




                                              Aranuka




              Ontopia                        Ontopia
                                                                               TinyTiM
              Memory                          RDBMS
                                                                              Connector
             Connector                      Connector



                  Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)    April 15th 2010   23/32
Configuration



   Choose connector
   Register annotated classes
   Set properties like file name, base locator or database connections
   Optional:
       Set names for the types specified in the annotation
       Set prefixes which can be used by identifiers in annotations and in
       identifierr in instances
   Creates session




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   24/32
Session




   Used to persist instances of annotated classes
   Retrieve all instances of a given type
   Retrieve instance by identifier
   Flush topic map
   Retrieved instances are nosynchronizeded with topic map




                  Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   25/32
What can I use it for?




    Add Topic Maps layer to existing applications
    Create applications using Topic Maps as single persistence layer
    Use Aranuka to easily feed a topic map




                   Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   26/32
Application Example: Yacca-Editor

    Application to enter the data of the topic map
    Topic Map is used to upload to a Topic Maps Browser
    Topic Map is used for Yacca game (http://yacca.me)




                Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   27/32
Summary




   Aranuka maps java classes top topics
   Makes handling Topic Maps easier
   Does not support every construct of the TMDM




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   28/32
Outlook




   Generate model with annotations based on TMCL
   Find way to map java.util.Map
   Provide TMQL access in session




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   29/32
Questions?




             Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   30/32
Where can you find. . .



    Aranuka: http://code.google.com/p/aranuka/




               Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   31/32
Where can you find. . .



    Aranuka: http://code.google.com/p/aranuka/
    Documentation: http://docs.topicmapslab.de/aranuka/




               Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   31/32
Where can you find. . .



    Aranuka: http://code.google.com/p/aranuka/
    Documentation: http://docs.topicmapslab.de/aranuka/
    Discussion Group:
    http://groups.google.com/group/aranuka




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   31/32
Where can you find. . .



    Aranuka: http://code.google.com/p/aranuka/
    Documentation: http://docs.topicmapslab.de/aranuka/
    Discussion Group:
    http://groups.google.com/group/aranuka
    Us: At the Topic Maps Lab in Leipzig
    (http://www.topicmapslab.de)




                 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   31/32
Thank you for listening.




                    Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab)   April 15th 2010   32/32

Weitere ähnliche Inhalte

Ähnlich wie Aranuka Presentation Topic Maps 2010 Oslo

Defining Domain-Specific Facets for Topic Maps With TMQL Path Expressions
Defining Domain-Specific Facets for Topic Maps With TMQL Path ExpressionsDefining Domain-Specific Facets for Topic Maps With TMQL Path Expressions
Defining Domain-Specific Facets for Topic Maps With TMQL Path Expressionstmra
 
Diplomarbeit Vitus LM
Diplomarbeit Vitus LMDiplomarbeit Vitus LM
Diplomarbeit Vitus LMderDoc
 
Doing data in the social sciences and humanities: links to and from published...
Doing data in the social sciences and humanities: links to and from published...Doing data in the social sciences and humanities: links to and from published...
Doing data in the social sciences and humanities: links to and from published...EDINA, University of Edinburgh
 
Text mining and machine learning
Text mining and machine learningText mining and machine learning
Text mining and machine learningJisc RDM
 
Analyzing DJ Scratching and its Acoustics
Analyzing DJ Scratching and its Acoustics Analyzing DJ Scratching and its Acoustics
Analyzing DJ Scratching and its Acoustics Flyboost
 

Ähnlich wie Aranuka Presentation Topic Maps 2010 Oslo (10)

Defining Domain-Specific Facets for Topic Maps With TMQL Path Expressions
Defining Domain-Specific Facets for Topic Maps With TMQL Path ExpressionsDefining Domain-Specific Facets for Topic Maps With TMQL Path Expressions
Defining Domain-Specific Facets for Topic Maps With TMQL Path Expressions
 
Diplomarbeit Vitus LM
Diplomarbeit Vitus LMDiplomarbeit Vitus LM
Diplomarbeit Vitus LM
 
Doing data in the social sciences and humanities: links to and from published...
Doing data in the social sciences and humanities: links to and from published...Doing data in the social sciences and humanities: links to and from published...
Doing data in the social sciences and humanities: links to and from published...
 
Text mining and machine learning
Text mining and machine learningText mining and machine learning
Text mining and machine learning
 
Evaluation Lorenzo.dotx
Evaluation Lorenzo.dotxEvaluation Lorenzo.dotx
Evaluation Lorenzo.dotx
 
Analyzing DJ Scratching and its Acoustics
Analyzing DJ Scratching and its Acoustics Analyzing DJ Scratching and its Acoustics
Analyzing DJ Scratching and its Acoustics
 
list_of_publications
list_of_publicationslist_of_publications
list_of_publications
 
list_of_publications
list_of_publicationslist_of_publications
list_of_publications
 
QALD-7 Question Answering over Linked Data Challenge
QALD-7 Question Answering over Linked Data ChallengeQALD-7 Question Answering over Linked Data Challenge
QALD-7 Question Answering over Linked Data Challenge
 
Qald 7 at ESWC2017
Qald 7 at ESWC2017Qald 7 at ESWC2017
Qald 7 at ESWC2017
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Aranuka Presentation Topic Maps 2010 Oslo

  • 1. Aranuka - A POJO to Topic Maps mapping library Dipl.-Inf. Hannes Niederhausen Christian Haß M.Sc. Topic Maps Lab Natural Language Processing Group Department of Computer Science University of Leipzig April 15th 2010 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 1/32
  • 2. What is Aranuka? Atoll in the south pacific 0◦ 10 N 173◦ 35 E 15.5 square kilometers population of 852 Figure: http://en.wikipedia.org/wiki/Aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 2/32
  • 3. What is Aranuka? Atoll in the south pacific 0◦ 10 N 173◦ 35 E 15.5 square kilometers population of 852 OTMM library Figure: http://en.wikipedia.org/wiki/Aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 2/32
  • 4. Why do we need this? Topic Maps very generic Applications often more specific Makes development cumbersome Developer not familiar with Topic Maps Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 3/32
  • 5. Idea Framework which handles Topic Maps interactions Should not influence model design Concept of JPA Use annotations Define the mapping Add schema information to the model Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 4/32
  • 6. Mapping Classes → Topic Types Instance → Topics Strings → Names Strings or primitive types → Occurrences Other topic annotated classes → Associations Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 5/32
  • 7. Not supported No variants No reification Only static scopes Only one topic type Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 6/32
  • 8. What are annotations? Meta Information Can have parameter Available since Java 5.0 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 7/32
  • 9. A simple example 1 p u b l i c c l a s s Person { 2 3 i n t id ; 4 S t r i n g name ; 5 Date d a y O f B i r t h ; 6 7 Set <Person > f r i e n d s ; 8 } Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 8/32
  • 10. Defining a topic type 1 2 p u b l i c c l a s s Person Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 9/32
  • 11. Defining a topic type 1 @Topic ( s u b j e c t _ i d e n t i f i e r ="http://example/person" ) 2 p u b l i c c l a s s Person Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 10/32
  • 12. We need an identifier 1 2 i n t id ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 11/32
  • 13. We need an identifier 1 @Id ( t y p e =IdType . ITEM_IDENTIFIER ) 2 i n t id ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 12/32
  • 14. Defining a name 1 2 S t r i n g name ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 13/32
  • 15. Defining a name 1 @Name( t y p e ="http://example/name" ) 2 S t r i n g name ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 14/32
  • 16. Defining an occurrance 1 2 Date d a y O f B i r t h ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 15/32
  • 17. Defining an occurrance 1 @Occurrence ( t y p e ="http://example/day_of_birth" ) 2 Date d a y O f B i r t h ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 16/32
  • 18. Defining an association 1 2 3 4 5 Set <Person > f r i e n d s ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 17/32
  • 19. Defining an association 1 @Association ( 2 t y p e ="http://example/friendship" , 3 p l a y e d _ r o l e ="http://example/has_friend" , 4 o t h e r _ r o l e ="http://example/is_friend_of" ) 5 Set <Person > f r i e n d s ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 18/32
  • 20. Architecture I Aranuka is a mapper to a Topic Maps engine Uses third party engines via connectors Using Aranuka leads to the following achitecture Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 19/32
  • 21. Architecture II Java Application Domain Model Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 20/32
  • 22. Architecture II Java Application Annotated Domain Model Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 21/32
  • 23. Architecture II Java Application Annotated Domain Model Aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 22/32
  • 24. Architecture II Java Application Annotated Domain Model Aranuka Ontopia Ontopia TinyTiM Memory RDBMS Connector Connector Connector Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 23/32
  • 25. Configuration Choose connector Register annotated classes Set properties like file name, base locator or database connections Optional: Set names for the types specified in the annotation Set prefixes which can be used by identifiers in annotations and in identifierr in instances Creates session Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 24/32
  • 26. Session Used to persist instances of annotated classes Retrieve all instances of a given type Retrieve instance by identifier Flush topic map Retrieved instances are nosynchronizeded with topic map Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 25/32
  • 27. What can I use it for? Add Topic Maps layer to existing applications Create applications using Topic Maps as single persistence layer Use Aranuka to easily feed a topic map Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 26/32
  • 28. Application Example: Yacca-Editor Application to enter the data of the topic map Topic Map is used to upload to a Topic Maps Browser Topic Map is used for Yacca game (http://yacca.me) Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 27/32
  • 29. Summary Aranuka maps java classes top topics Makes handling Topic Maps easier Does not support every construct of the TMDM Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 28/32
  • 30. Outlook Generate model with annotations based on TMCL Find way to map java.util.Map Provide TMQL access in session Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 29/32
  • 31. Questions? Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 30/32
  • 32. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  • 33. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Documentation: http://docs.topicmapslab.de/aranuka/ Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  • 34. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Documentation: http://docs.topicmapslab.de/aranuka/ Discussion Group: http://groups.google.com/group/aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  • 35. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Documentation: http://docs.topicmapslab.de/aranuka/ Discussion Group: http://groups.google.com/group/aranuka Us: At the Topic Maps Lab in Leipzig (http://www.topicmapslab.de) Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  • 36. Thank you for listening. Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 32/32