Easily Editing and Browsing Complex OpenMath Markup with SWiM
Upcoming SlideShare
Loading in...5
×
 

Easily Editing and Browsing Complex OpenMath Markup with SWiM

on

  • 1,035 views

Mathematical User Interfaces, CICM 2008

Mathematical User Interfaces, CICM 2008

Statistics

Views

Total Views
1,035
Views on SlideShare
1,035
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

Easily Editing and Browsing Complex OpenMath Markup with SWiM Easily Editing and Browsing Complex OpenMath Markup with SWiM Presentation Transcript

  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Easily Editing and Browsing Complex OpenMath Markup with SWiM Mathematical User Interfaces 2008 Christoph Lange, Alberto González Palomo Jacobs University, Bremen, Germany Universität des Saarlandes, Saarbrücken, Germany KWARC – Knowledge Adaptation and Reasoning for Content June 27, 2008 Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 1
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion OpenMath Content Dictionaries OpenMath: semantic markup language for math. formulæ and content dictionaries (CDs) CDs semi-formally define new mathematical symbols: informal description formal description in terms of other symbols optional: type declaration, human-readable notation Formula editors exist, . . . . . . and ways to make CDs readable for humans (www.openmath.org/cd/) . . . but no proper editors for CDs Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 2
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Why create or edit CDs? standard CDs exist; pick your favourite ones from www.openmath.org/cd/ your favourite field of mathematics may not be covered (cf. geometry) or you want to have it more rigorously cf. James Davenport’s landau_in operator for f = O(n) Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 3
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Collaboration on CDs: The Good, the Bad, and the Ugly writing, structuring; also browsing, collaborating CDs reuse symbols from other CDs (link symbol occurrences to their definitions) use case: revising a notation of a symbol in a CD; one author revises, the other one tests The bad way: Notepad, send file to collaborator by e-mail Manual transformation to XHTML+MathML, open browser The ugly way: Emacs with nxml-mode, commit into shared Subversion repository Update, run make, open browser (Michael Kohlhase’s favorite ) The wiki way: interactive editing right in the browser ⇒ instant feedback for both collaborators Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 4
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Debugging Notation Definitions Consider the symbol times in arith1.ocd: <OMA> <OMS name="times" cd="arith1"/> Possible renderings: <OMI>2</OMI> 2 · x , 2 × x , or 2x <OMV name="x"/> (defined in arith1.ntn) </OMA> Typical workflow: Change/fix/improve/enhance the notation definition (ND) for a symbol Check the appearance of a sample formula in a sample document Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 5
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion SWiM, a Semantic Wiki for Mathematics SWiM: semantic wiki + OMDoc. Added OpenMath and MathML 3 notation definitions mmlproc/JOMDoc renderer (→ MKM talk “notations for living documents”) editing, import, export (exchange with external repositories, legacy editors) Try it at http://swim.kwarc.info, see more in the demo session! Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 6
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion SWiM, a Semantic Wiki for Mathematics Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 7
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Knowledge Representation in OpenMath CDs have metadata (e. g. review date) and contain symbol definitions Symbols have name informal, natural-language description (authoritative) metadata mathematical properties: informal (CMP), formal (FMP), examples FMPs and Examples contain mathematical formulæ Separate dictionary files with type signatures notation definitions (in a few minutes) for symbols. Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 8
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Knowledge Representation on the Semantic Web Ontologies: smarter, extensible, web-scalable metadata vocabularies RDF: graph with nodes and edges have types from ontologies, e. g. <christoph> foaf:knows <paul>. We have developed an ontology that models the structures of CDs semantics given by OpenMath spec more expressive than Relax NG XML schema e. g. for dependent CDs (URIref vs. CD): <CDUses>arith1 transc1</CDUses> reused existing vocabularies where appropriate (→ OpenMath 3) e. g. Dublin Core: om:Name→dc:identifier Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 9
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Knowledge Representation in SWiM small pages are more suitable for wiki collaboration page granularity: CD, symbol, CMP, FMP, example split imported CDs into these parts, preserve containment information by XInclude links, reassemble on export OpenMath 3: review units below CD granularity) extract RDF graph from OpenMath for a more networked, searchable, web-scalable representation exploit links for navigation, soon for editing, too represent formulæ shallowly (FMP/Example uses symbol) Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 10
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Editing SWiM uses the HTML WYSIWYG editor TinyMCE Great potential for more user-friendliness, but first need to get the basics running Make any (OpenMath) XML element editable as a table, e. g. <element xml:id="id" attr="value">...</element>: element id attr=value ... Not user-friendly for deeply nested structures Dedicated editing support for special aspects of the markup form-based metadata editor (e. g. CDName, CDDate) differently arranged tables in some cases: notation prototype rendering visual formula editor (next slides) Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 11
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion The Formula Editor visual OpenMath formula editor from Sentido environment integrated it into TinyMCE encode formulæ as HTML <span/> elements, editable in a “linear” ASCII/Unicode syntax supporting own syntax, but also popular CAS syntaxes pop-up window with linear input (undoable), OpenMath CD symbol tool palette, 2D MathML preview when done with editing, linear formula is parsed to OpenMath XML Sorry, we cannot easily display MathML inside TinyMCE Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 12
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion The Formula Editor Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 13
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion The Formula Editor Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 14
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Defining Notations for Symbols Notation definitions map patterns of semantic markup to fragments of presentation markup, apply rules recursively (MathML 3 extension → MKM talk) √ e. g. @(arith1#root, arg, n) n arg (actually written in XML) link notation definition → symbol definition in RDF: <url/of/NotDef> omo:rendersSymbol <url/of/arith1/root> What if an author changes this? 1 identify the change: XML diff 2 identify documents affected by the change: query RDF graph for all resources using the symbol in a formula – and for all resources that xi:include the former Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 15
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Determining the Effect of Changing a Notation Definition 1 SELECT DISTINCT ?page WHERE { 2 <changed-ntn-def> omo:rendersSymbol ?sym . 3 { ?page omo:usesSymbol ?sym } UNION 4 { ?exOrFMP omo:usesSymbol ?sym . 5 { ?page omo:contains ?exOrFMP } UNION 6 { ?page omo:contains ?symDef . 7 ?symDef omo:contains ?exOrFMP } } } fmp fmp fmp renders- usesSymbol (3,4) contains (5,7) Symbol (2) contains (6) notDef sym symDef symDef symDef cd cd cd usesSymbol (3,4) contains (5,7) ex ex ex Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 16
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Related Work ProofWiki: wiki with Coq proof assistant integrated. Content either A completely formal or LTEX, SWiM aims at the full formality scale between that (→ OMDoc) OMPE: OpenMath Presentation Editor from ActiveMath, visual editor for notation definitions (add this to our roadmap!). No integrated authoring/browsing environment ⇒ no immediate debugging PlatΩ: TEXmacs with semantic markup. Parsing notations from natural language (not a focus of SWiM), efficiently reacting to notation changes. Visual editors: two examples of extending HTMLArea (former TinyMCE competitor) with Presentation MathML ASciencePad: Tiddly“Wiki” plus a translation from linear math syntax to Presentation MathML WIRIS: 2D visual editor (Java applet) OpenMath editor exists, but not integrated Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 17
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Future Work (OpenMath) Cover full OpenMath object spec in linear syntax; particularly CDBase! Deploy SWiM as an editor for the OpenMath CDs on www.openmath.org Integrate upcoming OpenMath 3 extensions (in ontology and GUI) Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 18
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Future Work (Use Cases) So far one notation per symbol. The mmlproc/JOMDoc renderer can do more (e. g. user’s preferred notation) Browsing CDs and SPARQL queries are nice, but formula search? – Integrate MathWebSearch! (→ MKM demo) Splitting CDs on import works, but users also want refactoring within SWiM. Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 19
  • OpenMath CDs SWiM Knowledge Representation Editing Related Work Outlook/Conclusion Conclusion SWiM facilitates editing OpenMath CDs . . . by integrating a visual formula editor . . . by immediately re-rendering documents affected by notational changes How would you like to edit your CDs? Lange/González Palomo (Jacobs/Saarland Univ.) Editing and Browsing OpenMath with SWiM June 27, 2008 20