SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
JRuby	
  Topic	
  Maps	
  
  Arnim	
  Bleier,	
  Benjamin	
  Bock,	
  	
  
  Uta	
  Schulze	
  and	
  Lutz	
  Maicher	
  
  {bleier,	
  bock,	
  uta.schulze,	
  maicher}	
  
  @informa:k.uni-­‐leipzig.de	
  


                                                      Agenda:	
  
                                                      • Java,	
  Ruby	
  and	
  Topic	
  Maps	
  
                                                       	
  
                                                      • Re)using	
  Exis@ng	
  Code	
  
                                                       (
                                                      • Scalability	
  and	
  Performance	
  
                                                       	
  
Fi>h	
  Interna@onal	
  Conference	
  on	
  	
  
Topic	
  Maps	
  Research	
  and	
  Applica@ons	
  
Talks@TMRA	
  Leipzig,	
  2009-­‐13-­‐11	
                                     topicmapslab.de	
  
Introduc@on	
  

    The	
  Seman@c	
  Web	
  is	
  about	
  Integra@on	
  of	
  Data.	
  

     Java	
  and	
  Ruby	
  equally	
  have	
  something	
  to	
  offer.	
  

   Why	
  not	
  combine	
  them	
  and	
  get	
  the	
  best	
  of	
  booth	
  
                             languages?	
  	
  



                                                                 topicmapslab.de	
  
What	
  has	
  Java	
  to	
  offer?	
  

                        high	
  performance	
  
                            easy	
  hos@ng	
  
           mul@ple,	
  fast	
  TMAPI	
  Implementa@ons	
  
             reuse	
  of	
  exis@ng	
  Very	
  Good	
  Code	
  




                                                             topicmapslab.de	
  
…and	
  What	
  is	
  Ruby	
  for?	
  

            crea@ng	
  Domain	
  Specific	
  Languages	
  
                       rapid	
  Prototyping	
  	
  
                  rapid	
  	
  Web	
  Development	
  
              rapid	
  Applica@on	
  Development	
  




                                                        topicmapslab.de	
  
Bringing	
  booth	
  together	
  

        So>ware	
  and	
  its	
  development	
  needs	
  to	
  be	
  
                       integrated,	
  too.	
  




                                                             topicmapslab.de	
  
Goals	
  of	
  JRTM	
  

     • Keeping	
  the	
  TMAPI	
  contract	
  intact	
  
      	
  
     • Suppor@ng	
  different	
  engines	
  in	
  parallel	
  
      	
  
     • Each	
  TMQL	
  axis	
  as	
  one	
  method	
  call	
  
      	
  
     • A	
  single	
  IO	
  interface	
  
      	
  
     • Maintaining	
  the	
  syntax	
  from	
  RTM	
  
      	
  
     • Performance	
  
      	
  

                                                                 topicmapslab.de	
  
So	
  …	
  let’s	
  connect	
  

    tms = RTM.connect!     :implementation => :TINYTIM"




                                                  topicmapslab.de	
  
So	
  …	
  let’s	
  connect	
  

    tms = RTM.connect       (:implementation => :ONTOPIA,"
    !   !   !   !   !   !   :backend! => :RDBMS,"
    !   !   !   !   !   !   :properties => “path/to/jdbc.props”)"




                                                    topicmapslab.de	
  
and	
  create	
  a	
  Topic	
  

    tms = RTM.connect"
    tm = tms.create http://example.com/tm/"
    locator = tm.createLocator “http://ex.com/Thing”"
    topic = tm.createTopicByItemIdentifier locator "




                                               topicmapslab.de	
  
and	
  create	
  a	
  Topic	
  

      tms = RTM.connect"
      tm = tms.create “http://example.com/tm/” "
      topic = tm.get! “ii:http://ex.com/Thing”"



  Topic	
  Reference:	
  
  subject	
  iden@fier:	
   nothing	
  or	
  “si:”	
  
  subject	
  locator:	
  	
   	
   “=”	
  or	
  	
  “sl:”	
  	
   	
     	
  
  item	
  iden@fier:	
   	
   	
   “^”	
  or	
  	
  “ii:”	
  


                                                                                topicmapslab.de	
  
and	
  create	
  a	
  Topic	
  

      tms = RTM.connect"
      tm = tms.create “http://example.com/tm/” "
      topic = tm.get! “^http://ex.com/Thing”"



  Topic	
  Reference:	
  
  subject	
  iden@fier:	
   nothing	
  or	
  “si:”	
  
  subject	
  locator:	
  	
   	
   “=”	
  or	
  	
  “sl:”	
  	
   	
     	
  
  item	
  iden@fier:	
   	
   	
   “^”	
  or	
  	
  “ii:”	
  


                                                                                topicmapslab.de	
  
Hash	
  Access	
  

      topic[“-nickname @office”] = “Lutz”"
      topic[“email”] = “maicher@informatik.uni-leipzig.de”"
      university_of_leipzig = association[“employer”]



  Topics[“type	
  @scope1,	
  scope2”]	
  
  -Names	
  are	
  prefixed	
  with	
  “-”	
  
  	
  	
  	
  Occurrences	
  are	
  not	
  prefixed	
  
  Associa9ons[“type	
  @scope1”]	
  
  	
  	
  Roles	
  
                                                         topicmapslab.de	
  
TMQL	
  -­‐	
  Naviga@on	
  

     tel_nums = Employee.tmql.reverse_types."
     !     characteristics(“Tel_Nr”).atomify.result"




  Keywords:	
  
  Enter	
  &	
  leave	
  the	
  mode:	
  
  tmql,	
  result	
  
  The	
  12	
  axes:	
  	
  
  roles,	
  traverse,	
  characteris9cs	
  ...	
  

                                                     topicmapslab.de	
  
JRTM::IO	
  

   tm.from_jtm “path/to/file.jtm”"
   tm.to_jtm           “path/to/file.jtm”, “http://ex.com/baseIRI”"




                        TMXML	
                 RDF/N3	
  
                     XTM1	
             JTM	
  
                                                      RDF/XML	
  
                              XTM20	
       LTM	
  



   Thanks	
  to	
  Lars	
  Heuer’s	
                         topicmapslab.de	
  
Under	
  the	
  hood	
  
	
   …	
  and	
  in	
  the	
  perspec@ve	
  



             Your Application




                RTM
RTMAPI	
  




                                               topicmapslab.de	
  
Under	
  the	
  hood	
  
	
   …	
  and	
  in	
  the	
  perspec@ve	
  



             Your Application




                RTM                                    tmapiX	
  
RTMAPI	
  
                                ONTOPIA	
      @nyTiM	
   …	
  ?	
           TMAPI	
  




                                                              topicmapslab.de	
  
Under	
  the	
  hood	
  
	
   …	
  and	
  in	
  the	
  perspec@ve	
  


                                                  Your
                                               Application


                       RTM::Sugar RTM::TMQL                  RTM::IO           RTMAPI	
  
                         RTM::CoreExtensions                 tmapiX	
  
                          ONTOPIA	
            @nyTiM	
   …	
  ?	
               TMAPI	
  




                                                                  topicmapslab.de	
  
Under	
  the	
  hood	
  
	
   …	
  and	
  in	
  the	
  perspec@ve	
  


              Musica                              Your
                         Majana
              Migrans                          Application


               RTM::Sugar       RTM::TMQL     RTM::IO                     RTMAPI	
  
                       RTM::CoreExtensions    tmapiX	
  
            RTM::AR
                          ONTOPIA	
      @nyTiM	
   …	
  ?	
                TMAPI	
  




                                                             topicmapslab.de	
  
But	
  is	
  it	
  produc@on	
  ready?	
  

                       Over	
  600	
  Test	
  Cases	
  
                         Musica	
  Migrans	
  II	
  
                                 Maiana	
  


             …	
  when	
  will	
  you	
  start	
  to	
  benefit?	
  



                                    	
  	
  hjp://rtm.topicmapslab.de	
  

Weitere ähnliche Inhalte

Ähnlich wie JRuby Topic Maps

Version Control in Machine Learning + AI (Stanford)
Version Control in Machine Learning + AI (Stanford)Version Control in Machine Learning + AI (Stanford)
Version Control in Machine Learning + AI (Stanford)Anand Sampat
 
Topic Maps Web Service: Case Examples and General Structure
Topic Maps Web Service: Case Examples and General StructureTopic Maps Web Service: Case Examples and General Structure
Topic Maps Web Service: Case Examples and General Structuretmra
 
Real-World Functional Programming @ Incubaid
Real-World Functional Programming @ IncubaidReal-World Functional Programming @ Incubaid
Real-World Functional Programming @ IncubaidNicolas Trangez
 
Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Dimelo R&D Team
 
Data science in ruby, is it possible? is it fast? should we use it?
Data science in ruby, is it possible? is it fast? should we use it?Data science in ruby, is it possible? is it fast? should we use it?
Data science in ruby, is it possible? is it fast? should we use it?Rodrigo Urubatan
 
TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011Lance Ball
 
SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)
SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)
SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)South Tyrol Free Software Conference
 
Maiana Presentation at Topic Maps 2010 Oslo
Maiana Presentation at Topic Maps 2010 OsloMaiana Presentation at Topic Maps 2010 Oslo
Maiana Presentation at Topic Maps 2010 OsloUta Schulze
 
T3dallas typoscript
T3dallas typoscriptT3dallas typoscript
T3dallas typoscriptzdavis
 
MLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API ServersMLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API ServersDataWorks Summit
 
XML Amsterdam 2012 Keynote
XML Amsterdam 2012 KeynoteXML Amsterdam 2012 Keynote
XML Amsterdam 2012 Keynotejimfuller2009
 
Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APITeamstudio
 
The Value of Smalltalk
The Value of SmalltalkThe Value of Smalltalk
The Value of SmalltalkESUG
 
Apache Sling - The whys and the hows
Apache Sling - The whys and the howsApache Sling - The whys and the hows
Apache Sling - The whys and the howsRobert Munteanu
 
Version Control in AI/Machine Learning by Datmo
Version Control in AI/Machine Learning by DatmoVersion Control in AI/Machine Learning by Datmo
Version Control in AI/Machine Learning by DatmoNicholas Walsh
 
Lambda kappa architecture - the jury are still out
Lambda   kappa architecture - the jury are still outLambda   kappa architecture - the jury are still out
Lambda kappa architecture - the jury are still outYoav chernobroda
 
Content-sensitive User Interfaces for Annotated Web Pages
Content-sensitive User Interfaces for Annotated Web PagesContent-sensitive User Interfaces for Annotated Web Pages
Content-sensitive User Interfaces for Annotated Web Pagesflxn13
 
Graph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPopGraph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPopJason Plurad
 
Kamaelia Europython Tutorial
Kamaelia Europython TutorialKamaelia Europython Tutorial
Kamaelia Europython Tutorialkamaelian
 

Ähnlich wie JRuby Topic Maps (20)

Version Control in Machine Learning + AI (Stanford)
Version Control in Machine Learning + AI (Stanford)Version Control in Machine Learning + AI (Stanford)
Version Control in Machine Learning + AI (Stanford)
 
Topic Maps Web Service: Case Examples and General Structure
Topic Maps Web Service: Case Examples and General StructureTopic Maps Web Service: Case Examples and General Structure
Topic Maps Web Service: Case Examples and General Structure
 
Real-World Functional Programming @ Incubaid
Real-World Functional Programming @ IncubaidReal-World Functional Programming @ Incubaid
Real-World Functional Programming @ Incubaid
 
Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking
 
Data science in ruby, is it possible? is it fast? should we use it?
Data science in ruby, is it possible? is it fast? should we use it?Data science in ruby, is it possible? is it fast? should we use it?
Data science in ruby, is it possible? is it fast? should we use it?
 
TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011
 
SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)
SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)
SFSCON23 - Chris Mair - Self-hosted, Open Source Large Language Models (LLMs)
 
Maiana Presentation at Topic Maps 2010 Oslo
Maiana Presentation at Topic Maps 2010 OsloMaiana Presentation at Topic Maps 2010 Oslo
Maiana Presentation at Topic Maps 2010 Oslo
 
T3dallas typoscript
T3dallas typoscriptT3dallas typoscript
T3dallas typoscript
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
MLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API ServersMLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API Servers
 
XML Amsterdam 2012 Keynote
XML Amsterdam 2012 KeynoteXML Amsterdam 2012 Keynote
XML Amsterdam 2012 Keynote
 
Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino API
 
The Value of Smalltalk
The Value of SmalltalkThe Value of Smalltalk
The Value of Smalltalk
 
Apache Sling - The whys and the hows
Apache Sling - The whys and the howsApache Sling - The whys and the hows
Apache Sling - The whys and the hows
 
Version Control in AI/Machine Learning by Datmo
Version Control in AI/Machine Learning by DatmoVersion Control in AI/Machine Learning by Datmo
Version Control in AI/Machine Learning by Datmo
 
Lambda kappa architecture - the jury are still out
Lambda   kappa architecture - the jury are still outLambda   kappa architecture - the jury are still out
Lambda kappa architecture - the jury are still out
 
Content-sensitive User Interfaces for Annotated Web Pages
Content-sensitive User Interfaces for Annotated Web PagesContent-sensitive User Interfaces for Annotated Web Pages
Content-sensitive User Interfaces for Annotated Web Pages
 
Graph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPopGraph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPop
 
Kamaelia Europython Tutorial
Kamaelia Europython TutorialKamaelia Europython Tutorial
Kamaelia Europython Tutorial
 

Mehr von tmra

Topic Maps for improved access to and use of content in relational databases ...
Topic Maps for improved access to and use of content in relational databases ...Topic Maps for improved access to and use of content in relational databases ...
Topic Maps for improved access to and use of content in relational databases ...tmra
 
External Schema for Topic Map Database
External Schema for Topic Map DatabaseExternal Schema for Topic Map Database
External Schema for Topic Map Databasetmra
 
Weber 2010 brn
Weber 2010 brnWeber 2010 brn
Weber 2010 brntmra
 
Subject Headings make information to be topic maps
Subject Headings make information to be topic mapsSubject Headings make information to be topic maps
Subject Headings make information to be topic mapstmra
 
Inquiry Optimization Technique for a Topic Map Database
Inquiry Optimization Technique for a Topic Map DatabaseInquiry Optimization Technique for a Topic Map Database
Inquiry Optimization Technique for a Topic Map Databasetmra
 
Topic Merge Scenarios for Knowledge Federation
Topic Merge Scenarios for Knowledge FederationTopic Merge Scenarios for Knowledge Federation
Topic Merge Scenarios for Knowledge Federationtmra
 
JavaScript Topic Maps in server environments
JavaScript Topic Maps in server environmentsJavaScript Topic Maps in server environments
JavaScript Topic Maps in server environmentstmra
 
Modelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic MapsModelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic Mapstmra
 
Hatana - Virtual Topic Map Merging
Hatana - Virtual Topic Map MergingHatana - Virtual Topic Map Merging
Hatana - Virtual Topic Map Mergingtmra
 
Designing a gui_description_language_with_topic_maps
Designing a gui_description_language_with_topic_mapsDesigning a gui_description_language_with_topic_maps
Designing a gui_description_language_with_topic_mapstmra
 
Tmra2010 matsuuraposter
Tmra2010 matsuuraposterTmra2010 matsuuraposter
Tmra2010 matsuurapostertmra
 
Automatic semantic interpretation of unstructured data for knowledge management
Automatic semantic interpretation of unstructured data for knowledge managementAutomatic semantic interpretation of unstructured data for knowledge management
Automatic semantic interpretation of unstructured data for knowledge managementtmra
 
Putting topic maps to rest.tmra2010
Putting topic maps to rest.tmra2010Putting topic maps to rest.tmra2010
Putting topic maps to rest.tmra2010tmra
 
Presentation final
Presentation finalPresentation final
Presentation finaltmra
 
Evaluation of Instances Asset in a Topic Maps-Based Ontology
Evaluation of Instances Asset in a Topic Maps-Based OntologyEvaluation of Instances Asset in a Topic Maps-Based Ontology
Evaluation of Instances Asset in a Topic Maps-Based Ontologytmra
 
Mappe1
Mappe1Mappe1
Mappe1tmra
 
Et Tu, Brute? Topic Maps and Discourse Semantics
Et Tu, Brute? Topic Maps and Discourse SemanticsEt Tu, Brute? Topic Maps and Discourse Semantics
Et Tu, Brute? Topic Maps and Discourse Semanticstmra
 
A PHP library for Ontopia-CMS Integration
A PHP library for Ontopia-CMS IntegrationA PHP library for Ontopia-CMS Integration
A PHP library for Ontopia-CMS Integrationtmra
 
Live Integration Framework
Live Integration FrameworkLive Integration Framework
Live Integration Frameworktmra
 
Hatana tmra 2010
Hatana tmra 2010Hatana tmra 2010
Hatana tmra 2010tmra
 

Mehr von tmra (20)

Topic Maps for improved access to and use of content in relational databases ...
Topic Maps for improved access to and use of content in relational databases ...Topic Maps for improved access to and use of content in relational databases ...
Topic Maps for improved access to and use of content in relational databases ...
 
External Schema for Topic Map Database
External Schema for Topic Map DatabaseExternal Schema for Topic Map Database
External Schema for Topic Map Database
 
Weber 2010 brn
Weber 2010 brnWeber 2010 brn
Weber 2010 brn
 
Subject Headings make information to be topic maps
Subject Headings make information to be topic mapsSubject Headings make information to be topic maps
Subject Headings make information to be topic maps
 
Inquiry Optimization Technique for a Topic Map Database
Inquiry Optimization Technique for a Topic Map DatabaseInquiry Optimization Technique for a Topic Map Database
Inquiry Optimization Technique for a Topic Map Database
 
Topic Merge Scenarios for Knowledge Federation
Topic Merge Scenarios for Knowledge FederationTopic Merge Scenarios for Knowledge Federation
Topic Merge Scenarios for Knowledge Federation
 
JavaScript Topic Maps in server environments
JavaScript Topic Maps in server environmentsJavaScript Topic Maps in server environments
JavaScript Topic Maps in server environments
 
Modelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic MapsModelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic Maps
 
Hatana - Virtual Topic Map Merging
Hatana - Virtual Topic Map MergingHatana - Virtual Topic Map Merging
Hatana - Virtual Topic Map Merging
 
Designing a gui_description_language_with_topic_maps
Designing a gui_description_language_with_topic_mapsDesigning a gui_description_language_with_topic_maps
Designing a gui_description_language_with_topic_maps
 
Tmra2010 matsuuraposter
Tmra2010 matsuuraposterTmra2010 matsuuraposter
Tmra2010 matsuuraposter
 
Automatic semantic interpretation of unstructured data for knowledge management
Automatic semantic interpretation of unstructured data for knowledge managementAutomatic semantic interpretation of unstructured data for knowledge management
Automatic semantic interpretation of unstructured data for knowledge management
 
Putting topic maps to rest.tmra2010
Putting topic maps to rest.tmra2010Putting topic maps to rest.tmra2010
Putting topic maps to rest.tmra2010
 
Presentation final
Presentation finalPresentation final
Presentation final
 
Evaluation of Instances Asset in a Topic Maps-Based Ontology
Evaluation of Instances Asset in a Topic Maps-Based OntologyEvaluation of Instances Asset in a Topic Maps-Based Ontology
Evaluation of Instances Asset in a Topic Maps-Based Ontology
 
Mappe1
Mappe1Mappe1
Mappe1
 
Et Tu, Brute? Topic Maps and Discourse Semantics
Et Tu, Brute? Topic Maps and Discourse SemanticsEt Tu, Brute? Topic Maps and Discourse Semantics
Et Tu, Brute? Topic Maps and Discourse Semantics
 
A PHP library for Ontopia-CMS Integration
A PHP library for Ontopia-CMS IntegrationA PHP library for Ontopia-CMS Integration
A PHP library for Ontopia-CMS Integration
 
Live Integration Framework
Live Integration FrameworkLive Integration Framework
Live Integration Framework
 
Hatana tmra 2010
Hatana tmra 2010Hatana tmra 2010
Hatana tmra 2010
 

Kürzlich hochgeladen

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Kürzlich hochgeladen (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

JRuby Topic Maps

  • 1. JRuby  Topic  Maps   Arnim  Bleier,  Benjamin  Bock,     Uta  Schulze  and  Lutz  Maicher   {bleier,  bock,  uta.schulze,  maicher}   @informa:k.uni-­‐leipzig.de   Agenda:   • Java,  Ruby  and  Topic  Maps     • Re)using  Exis@ng  Code   ( • Scalability  and  Performance     Fi>h  Interna@onal  Conference  on     Topic  Maps  Research  and  Applica@ons   Talks@TMRA  Leipzig,  2009-­‐13-­‐11   topicmapslab.de  
  • 2. Introduc@on   The  Seman@c  Web  is  about  Integra@on  of  Data.   Java  and  Ruby  equally  have  something  to  offer.   Why  not  combine  them  and  get  the  best  of  booth   languages?     topicmapslab.de  
  • 3. What  has  Java  to  offer?   high  performance   easy  hos@ng   mul@ple,  fast  TMAPI  Implementa@ons   reuse  of  exis@ng  Very  Good  Code   topicmapslab.de  
  • 4. …and  What  is  Ruby  for?   crea@ng  Domain  Specific  Languages   rapid  Prototyping     rapid    Web  Development   rapid  Applica@on  Development   topicmapslab.de  
  • 5. Bringing  booth  together   So>ware  and  its  development  needs  to  be   integrated,  too.   topicmapslab.de  
  • 6. Goals  of  JRTM   • Keeping  the  TMAPI  contract  intact     • Suppor@ng  different  engines  in  parallel     • Each  TMQL  axis  as  one  method  call     • A  single  IO  interface     • Maintaining  the  syntax  from  RTM     • Performance     topicmapslab.de  
  • 7. So  …  let’s  connect   tms = RTM.connect! :implementation => :TINYTIM" topicmapslab.de  
  • 8. So  …  let’s  connect   tms = RTM.connect (:implementation => :ONTOPIA," ! ! ! ! ! ! :backend! => :RDBMS," ! ! ! ! ! ! :properties => “path/to/jdbc.props”)" topicmapslab.de  
  • 9. and  create  a  Topic   tms = RTM.connect" tm = tms.create http://example.com/tm/" locator = tm.createLocator “http://ex.com/Thing”" topic = tm.createTopicByItemIdentifier locator " topicmapslab.de  
  • 10. and  create  a  Topic   tms = RTM.connect" tm = tms.create “http://example.com/tm/” " topic = tm.get! “ii:http://ex.com/Thing”" Topic  Reference:   subject  iden@fier:   nothing  or  “si:”   subject  locator:       “=”  or    “sl:”         item  iden@fier:       “^”  or    “ii:”   topicmapslab.de  
  • 11. and  create  a  Topic   tms = RTM.connect" tm = tms.create “http://example.com/tm/” " topic = tm.get! “^http://ex.com/Thing”" Topic  Reference:   subject  iden@fier:   nothing  or  “si:”   subject  locator:       “=”  or    “sl:”         item  iden@fier:       “^”  or    “ii:”   topicmapslab.de  
  • 12. Hash  Access   topic[“-nickname @office”] = “Lutz”" topic[“email”] = “maicher@informatik.uni-leipzig.de”" university_of_leipzig = association[“employer”] Topics[“type  @scope1,  scope2”]   -Names  are  prefixed  with  “-”        Occurrences  are  not  prefixed   Associa9ons[“type  @scope1”]      Roles   topicmapslab.de  
  • 13. TMQL  -­‐  Naviga@on   tel_nums = Employee.tmql.reverse_types." ! characteristics(“Tel_Nr”).atomify.result" Keywords:   Enter  &  leave  the  mode:   tmql,  result   The  12  axes:     roles,  traverse,  characteris9cs  ...   topicmapslab.de  
  • 14. JRTM::IO   tm.from_jtm “path/to/file.jtm”" tm.to_jtm “path/to/file.jtm”, “http://ex.com/baseIRI”" TMXML   RDF/N3   XTM1   JTM   RDF/XML   XTM20   LTM   Thanks  to  Lars  Heuer’s   topicmapslab.de  
  • 15. Under  the  hood     …  and  in  the  perspec@ve   Your Application RTM RTMAPI   topicmapslab.de  
  • 16. Under  the  hood     …  and  in  the  perspec@ve   Your Application RTM tmapiX   RTMAPI   ONTOPIA   @nyTiM   …  ?   TMAPI   topicmapslab.de  
  • 17. Under  the  hood     …  and  in  the  perspec@ve   Your Application RTM::Sugar RTM::TMQL RTM::IO RTMAPI   RTM::CoreExtensions tmapiX   ONTOPIA   @nyTiM   …  ?   TMAPI   topicmapslab.de  
  • 18. Under  the  hood     …  and  in  the  perspec@ve   Musica Your Majana Migrans Application RTM::Sugar RTM::TMQL RTM::IO RTMAPI   RTM::CoreExtensions tmapiX   RTM::AR ONTOPIA   @nyTiM   …  ?   TMAPI   topicmapslab.de  
  • 19. But  is  it  produc@on  ready?   Over  600  Test  Cases   Musica  Migrans  II   Maiana   …  when  will  you  start  to  benefit?       hjp://rtm.topicmapslab.de