SlideShare a Scribd company logo
Processing and Publishing Content Math with
            JOMDoc and JOBAD
                 Content Math Training Camp 2010


                           Christoph Lange

                      Jacobs University, Bremen, Germany
            KWARC – Knowledge Adaptation and Reasoning for Content


                              July 07, 2010




      Lange (Jacobs)               Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                                    July 07, 2010   1/14
JOMDoc – Java API (not only) for OMDoc

http://jomdoc.omdoc.org (maintainer: Vyacheslav Zholudev) – a
library of 300+ Java classes featuring . . .
     Java object model (one class per XML element) for OMDoc (and
     MathML and OpenMath for formulæ), plus many other services:
     Schema validation
     Renderer: OpenMath/Content MathML → Presentation MathML
     (pattern-matching XML notation definitions), context-sensitive
     Rest of OMDoc → XHTML+RDFa (XSLT)
     Document restructuring: e. g. flattening/modularizing
     documents



          Lange (Jacobs)      Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                               July 07, 2010   2/14
How to use JOMDoc


Download or check out from http://jomdoc.omdoc.org
   Binary distribution
         JAR file ready for inclusion into Java projects
         executable shell script for validation, rendering, document
         restructuring
         GUI frontend for rendering
    Source code (Eclipse-ready)
Contribute: Trac project management site, mailing list




          Lange (Jacobs)         Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                                  July 07, 2010   3/14
JOMDoc’s Notation Definitions
<notation>
  <prototype> <!-- the content markup pattern -->
    <om:OMA>
      <om:OMS cd="arith1" name="divide"/>
      <expr name="arg1"/>
      <expr name="arg2"/>
    </om:OMA>
  </prototype>
  <rendering> <!-- the presentation markup fragment -->
    <m:mfrac>
      <render name="arg1"/>
      <render name="arg2"/>
    </m:mfrac>
  </rendering>
</notation>

                               render(a)
render(divide(a, b))           render(b)

              Lange (Jacobs)               Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                                            July 07, 2010   4/14
Applications using JOMDoc



   TNTBase (→ other talk): versioned XML database with special
   services for OMDoc
   SWiM (semantic wiki powering http://wiki.openmath.org)
   Urs Holzer’s Gemse (MathML editor): Content MathML →
   Presentation MathML preview




        Lange (Jacobs)      Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                             July 07, 2010   5/14
JOBAD – Interactive Documents


Now we can render OMDoc documents – let’s make them
interactive!
     On-demand adaptation to the user’s presentation preferences
     (e. g. brackets, notation)
     On-demand information lookup without leaving the document
JOBAD, the JavaScript API for OMDoc-based Interactive Documents
http://jomdoc.omdoc.org/wiki/JOBAD (maintainer: Christoph
Lange)




          Lange (Jacobs)     Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                              July 07, 2010   6/14
JOBAD Architecture
                                                  integrated backend
           external services or data   (MMT: logics; TNTBase: lecture notes; …)
             ext. repositories
                                                                                            initially
             Wolfram|Alpha                      ontology/               notation            generates
   Web                                          definitions            collection
                other CAS
Services
              unit converter
                                                proxy                 renderer
               linked data
               … others …

               menu layers         folding/       computation/               definition
              mouse keybd          visibility       rewriting                 lookup
   Client
 Modules                        action
                      GUI       objects                   Services

Document                XHTML+MathML+OpenMath, JavaScript
      (dashed lines denote old services being ported or new services being developed)
            Lange (Jacobs)                Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                                           July 07, 2010   7/14
JOBAD – Customizing Display




       Lange (Jacobs)   Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                         July 07, 2010   8/14
JOBAD – Looking up Information (1)




       Lange (Jacobs)   Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                         July 07, 2010   9/14
JOBAD – Looking up Information (2)




       Lange (Jacobs)   Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                         July 07, 2010   10/14
JOBAD – Rewriting the Document (Unit
Conversion)




       Lange (Jacobs)   Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                         July 07, 2010   11/14
JOBAD – Local Discussion Forums




       Lange (Jacobs)   Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                         July 07, 2010   12/14
TNTBase + JOMDoc + JOBAD Integrated




(JOMDoc rendering XHTML+MathML+RDFa, JOBAD providing
definition lookup and semantic navigation)

        Lange (Jacobs)    Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                           July 07, 2010   13/14
Conclusion



 JOMDoc: Java API and command line for validating, rendering,
         transforming, etc. OMDoc and other Content Math –
           http://jomdoc.omdoc.org
  JOBAD: JavaScript-based architecture for integrating services
         into interactive documents –
           http://jomdoc.omdoc.org/wiki/JOBAD




        Lange (Jacobs)      Processing and Publishing Content Math with JOMDoc and JOBAD
                                                                             July 07, 2010   14/14

More Related Content

Similar to Processing and Publishing Content Math with JOMDoc and JOBAD

The elephant in the room mongo db + hadoop
The elephant in the room  mongo db + hadoopThe elephant in the room  mongo db + hadoop
The elephant in the room mongo db + hadoop
iammutex
 
Mapping with Drupal
Mapping with DrupalMapping with Drupal
Mapping with Drupal
leoklein
 
Geospatial Business Intelligence made easy with GeoMondrian & SOLAPLayers
Geospatial Business Intelligence made easy with GeoMondrian & SOLAPLayersGeospatial Business Intelligence made easy with GeoMondrian & SOLAPLayers
Geospatial Business Intelligence made easy with GeoMondrian & SOLAPLayers
Thierry Badard
 
Flowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDBFlowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDB
Flowdock
 
Design of a_dsl_by_ruby_for_heavy_computations
Design of a_dsl_by_ruby_for_heavy_computationsDesign of a_dsl_by_ruby_for_heavy_computations
Design of a_dsl_by_ruby_for_heavy_computations
Koichi Fujikawa
 
Mongo db present
Mongo db presentMongo db present
Mongo db present
scottmsims
 
Work Package 3 - Month 6 by Christian Morbidoni
Work Package 3 - Month 6 by Christian MorbidoniWork Package 3 - Month 6 by Christian Morbidoni
Work Package 3 - Month 6 by Christian Morbidoni
Digitised Manuscripts to Europeana
 
sidje
sidjesidje
10 Years of JavaScript
10 Years of JavaScript10 Years of JavaScript
10 Years of JavaScript
Mike de Boer
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
François Sarradin
 
How to make mathematical eContent travel well
How to make mathematical eContent travel wellHow to make mathematical eContent travel well
How to make mathematical eContent travel well
Olga Caprotti
 
resume-jake-miles
resume-jake-milesresume-jake-miles
resume-jake-miles
tutorialsruby
 
resume-jake-miles
resume-jake-milesresume-jake-miles
resume-jake-miles
tutorialsruby
 
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Thierry Badard
 
BedCon 2013 - Java Persistenz-Frameworks für MongoDB
BedCon 2013 - Java Persistenz-Frameworks für MongoDBBedCon 2013 - Java Persistenz-Frameworks für MongoDB
BedCon 2013 - Java Persistenz-Frameworks für MongoDB
Tobias Trelle
 
GeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolGeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL tool
Thierry Badard
 
TNTBase – a Versioned Database for XML (Mathematical) Documents
TNTBase – a Versioned Database for XML (Mathematical) DocumentsTNTBase – a Versioned Database for XML (Mathematical) Documents
TNTBase – a Versioned Database for XML (Mathematical) Documents
Christoph Lange
 
Comparing Vocabularies for Representing Geographical Features and Their Geometry
Comparing Vocabularies for Representing Geographical Features and Their GeometryComparing Vocabularies for Representing Geographical Features and Their Geometry
Comparing Vocabularies for Representing Geographical Features and Their Geometry
Ghislain Atemezing
 
Hadoop pig
Hadoop pigHadoop pig
Hadoop pig
Sean Murphy
 
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
GeoSolutions
 

Similar to Processing and Publishing Content Math with JOMDoc and JOBAD (20)

The elephant in the room mongo db + hadoop
The elephant in the room  mongo db + hadoopThe elephant in the room  mongo db + hadoop
The elephant in the room mongo db + hadoop
 
Mapping with Drupal
Mapping with DrupalMapping with Drupal
Mapping with Drupal
 
Geospatial Business Intelligence made easy with GeoMondrian & SOLAPLayers
Geospatial Business Intelligence made easy with GeoMondrian & SOLAPLayersGeospatial Business Intelligence made easy with GeoMondrian & SOLAPLayers
Geospatial Business Intelligence made easy with GeoMondrian & SOLAPLayers
 
Flowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDBFlowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDB
 
Design of a_dsl_by_ruby_for_heavy_computations
Design of a_dsl_by_ruby_for_heavy_computationsDesign of a_dsl_by_ruby_for_heavy_computations
Design of a_dsl_by_ruby_for_heavy_computations
 
Mongo db present
Mongo db presentMongo db present
Mongo db present
 
Work Package 3 - Month 6 by Christian Morbidoni
Work Package 3 - Month 6 by Christian MorbidoniWork Package 3 - Month 6 by Christian Morbidoni
Work Package 3 - Month 6 by Christian Morbidoni
 
sidje
sidjesidje
sidje
 
10 Years of JavaScript
10 Years of JavaScript10 Years of JavaScript
10 Years of JavaScript
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
 
How to make mathematical eContent travel well
How to make mathematical eContent travel wellHow to make mathematical eContent travel well
How to make mathematical eContent travel well
 
resume-jake-miles
resume-jake-milesresume-jake-miles
resume-jake-miles
 
resume-jake-miles
resume-jake-milesresume-jake-miles
resume-jake-miles
 
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
Spatially enabled open source BI (GeoBI) with GeoKettle, GeoMondrian & SOLAPL...
 
BedCon 2013 - Java Persistenz-Frameworks für MongoDB
BedCon 2013 - Java Persistenz-Frameworks für MongoDBBedCon 2013 - Java Persistenz-Frameworks für MongoDB
BedCon 2013 - Java Persistenz-Frameworks für MongoDB
 
GeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL toolGeoKettle: A powerful open source spatial ETL tool
GeoKettle: A powerful open source spatial ETL tool
 
TNTBase – a Versioned Database for XML (Mathematical) Documents
TNTBase – a Versioned Database for XML (Mathematical) DocumentsTNTBase – a Versioned Database for XML (Mathematical) Documents
TNTBase – a Versioned Database for XML (Mathematical) Documents
 
Comparing Vocabularies for Representing Geographical Features and Their Geometry
Comparing Vocabularies for Representing Geographical Features and Their GeometryComparing Vocabularies for Representing Geographical Features and Their Geometry
Comparing Vocabularies for Representing Geographical Features and Their Geometry
 
Hadoop pig
Hadoop pigHadoop pig
Hadoop pig
 
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
 

More from Christoph Lange

Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Christoph Lange
 
OSCOSS: Opening Scholarly Communication in Social Sciences
OSCOSS: Opening Scholarly Communication in Social SciencesOSCOSS: Opening Scholarly Communication in Social Sciences
OSCOSS: Opening Scholarly Communication in Social Sciences
Christoph Lange
 
WDAqua ITN – Answering Questions using Web Data
WDAqua ITN – Answering Questions using Web DataWDAqua ITN – Answering Questions using Web Data
WDAqua ITN – Answering Questions using Web Data
Christoph Lange
 
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Christoph Lange
 
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect matchLinked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Christoph Lange
 
Linking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process DescriptionsLinking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process Descriptions
Christoph Lange
 
The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility
The Distributed Ontology Language (DOL): Use Cases, Syntax, and ExtensibilityThe Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility
The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility
Christoph Lange
 
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Christoph Lange
 
Semantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems SocialSemantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems Social
Christoph Lange
 
TCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-DatenstromTCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-DatenstromChristoph Lange
 
Previewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML DatabasePreviewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML Database
Christoph Lange
 
Publishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked DataPublishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked Data
Christoph Lange
 
sTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked DatasTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked Data
Christoph Lange
 
Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Christoph Lange
 
Mathematical Semantics of Statistical Data
Mathematical Semantics of Statistical DataMathematical Semantics of Statistical Data
Mathematical Semantics of Statistical Data
Christoph Lange
 
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Christoph Lange
 
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Christoph Lange
 
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Christoph Lange
 
A Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and DocumentationA Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and Documentation
Christoph Lange
 
wiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participatewiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participate
Christoph Lange
 

More from Christoph Lange (20)

Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
 
OSCOSS: Opening Scholarly Communication in Social Sciences
OSCOSS: Opening Scholarly Communication in Social SciencesOSCOSS: Opening Scholarly Communication in Social Sciences
OSCOSS: Opening Scholarly Communication in Social Sciences
 
WDAqua ITN – Answering Questions using Web Data
WDAqua ITN – Answering Questions using Web DataWDAqua ITN – Answering Questions using Web Data
WDAqua ITN – Answering Questions using Web Data
 
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
 
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect matchLinked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match
 
Linking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process DescriptionsLinking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process Descriptions
 
The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility
The Distributed Ontology Language (DOL): Use Cases, Syntax, and ExtensibilityThe Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility
The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility
 
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
 
Semantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems SocialSemantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems Social
 
TCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-DatenstromTCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-Datenstrom
 
Previewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML DatabasePreviewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML Database
 
Publishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked DataPublishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked Data
 
sTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked DatasTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked Data
 
Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...
 
Mathematical Semantics of Statistical Data
Mathematical Semantics of Statistical DataMathematical Semantics of Statistical Data
Mathematical Semantics of Statistical Data
 
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
 
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
 
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
 
A Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and DocumentationA Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and Documentation
 
wiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participatewiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participate
 

Recently uploaded

AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 

Recently uploaded (20)

AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 

Processing and Publishing Content Math with JOMDoc and JOBAD

  • 1. Processing and Publishing Content Math with JOMDoc and JOBAD Content Math Training Camp 2010 Christoph Lange Jacobs University, Bremen, Germany KWARC – Knowledge Adaptation and Reasoning for Content July 07, 2010 Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 1/14
  • 2. JOMDoc – Java API (not only) for OMDoc http://jomdoc.omdoc.org (maintainer: Vyacheslav Zholudev) – a library of 300+ Java classes featuring . . . Java object model (one class per XML element) for OMDoc (and MathML and OpenMath for formulæ), plus many other services: Schema validation Renderer: OpenMath/Content MathML → Presentation MathML (pattern-matching XML notation definitions), context-sensitive Rest of OMDoc → XHTML+RDFa (XSLT) Document restructuring: e. g. flattening/modularizing documents Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 2/14
  • 3. How to use JOMDoc Download or check out from http://jomdoc.omdoc.org Binary distribution JAR file ready for inclusion into Java projects executable shell script for validation, rendering, document restructuring GUI frontend for rendering Source code (Eclipse-ready) Contribute: Trac project management site, mailing list Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 3/14
  • 4. JOMDoc’s Notation Definitions <notation> <prototype> <!-- the content markup pattern --> <om:OMA> <om:OMS cd="arith1" name="divide"/> <expr name="arg1"/> <expr name="arg2"/> </om:OMA> </prototype> <rendering> <!-- the presentation markup fragment --> <m:mfrac> <render name="arg1"/> <render name="arg2"/> </m:mfrac> </rendering> </notation> render(a) render(divide(a, b)) render(b) Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 4/14
  • 5. Applications using JOMDoc TNTBase (→ other talk): versioned XML database with special services for OMDoc SWiM (semantic wiki powering http://wiki.openmath.org) Urs Holzer’s Gemse (MathML editor): Content MathML → Presentation MathML preview Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 5/14
  • 6. JOBAD – Interactive Documents Now we can render OMDoc documents – let’s make them interactive! On-demand adaptation to the user’s presentation preferences (e. g. brackets, notation) On-demand information lookup without leaving the document JOBAD, the JavaScript API for OMDoc-based Interactive Documents http://jomdoc.omdoc.org/wiki/JOBAD (maintainer: Christoph Lange) Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 6/14
  • 7. JOBAD Architecture integrated backend external services or data (MMT: logics; TNTBase: lecture notes; …) ext. repositories initially Wolfram|Alpha ontology/ notation generates Web definitions collection other CAS Services unit converter proxy renderer linked data … others … menu layers folding/ computation/ definition mouse keybd visibility rewriting lookup Client Modules action GUI objects Services Document XHTML+MathML+OpenMath, JavaScript (dashed lines denote old services being ported or new services being developed) Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 7/14
  • 8. JOBAD – Customizing Display Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 8/14
  • 9. JOBAD – Looking up Information (1) Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 9/14
  • 10. JOBAD – Looking up Information (2) Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 10/14
  • 11. JOBAD – Rewriting the Document (Unit Conversion) Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 11/14
  • 12. JOBAD – Local Discussion Forums Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 12/14
  • 13. TNTBase + JOMDoc + JOBAD Integrated (JOMDoc rendering XHTML+MathML+RDFa, JOBAD providing definition lookup and semantic navigation) Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 13/14
  • 14. Conclusion JOMDoc: Java API and command line for validating, rendering, transforming, etc. OMDoc and other Content Math – http://jomdoc.omdoc.org JOBAD: JavaScript-based architecture for integrating services into interactive documents – http://jomdoc.omdoc.org/wiki/JOBAD Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBAD July 07, 2010 14/14