The OpenMath Project Mike Dewar NAG Ltd, UK
22/11/00Semantic Web Technologies What is OpenMath? A technology for encoding the semantics of mathematical objects so that they can be exchanged between applications and users IST Project International Society ( )
22/11/00Semantic Web Technologies Understanding Mathematical Notation Explicit Context: –let p be any prime number; then a , a p a mod p Implicit Context: –a x +b x +c x +d x+e –f =f =1 ; f = f + f –ei–ei Conventions: –sin (x) vs f (x) –sin (x) vs f (x) –sin (x) vs f (x) Syntax: –sin(x) or Sin[x] or \sin{(x)} or... – R f(x)dx or R f(y)dy
22/11/00Semantic Web Technologies OpenMath A standard mechanism for representing mathematical objects electronically –Unambiguous semantics –Machine-processable –System-independent –Extensible –Lightweight –Scalable
22/11/00Semantic Web Technologies MathML Recommendation from W3C Mainly presentation Small content part (high school mathematics) Can embed OpenMath using semantics tag Can transform between OpenMath and MathML using e.g. XSL
22/11/00Semantic Web Technologies OpenMath Objects Abstract model for a concrete mathematical entity
22/11/00Semantic Web Technologies Content Dictionaries Specify semantics associated with symbols Extensible Standardised by OpenMath Society –Persistent – Private sin The sine function as described in Abramowitz and Stegun, section 4.3.
22/11/00Semantic Web Technologies Content Dictionaries Definition of each symbol can include: –informal descriptions –formal mathematical properties –examples of use Associated information can include: –default presentation information –associated type information –other mathematical properties
22/11/00Semantic Web Technologies Organising CDs CDs contain groups of related symbols –e.g. transc1 contains transcendental functions Related CDs collected into CD Groups –e.g. Linear Algebra CD Group linalg1: simple operations such as determinant linalg2: row-oriented constructors linalg3: column-oriented constructors linalg4: advanced operations such as eigenvalue linalg5: constructors for structured matrices
22/11/00Semantic Web Technologies Some more CD Groups MathML –Symbols corresponding to content part of MathML 2 –Basic calculus, sets, linear algebra, arithmetic, numbers, transcendental functions... Polynomial Special Functions Number Theory Groups...
22/11/00Semantic Web Technologies Encodings Provides concrete representation for an OpenMath object. Desirable features: –linear –compact XML encoding. Binary encoding....
22/11/00Semantic Web Technologies The OpenMath Standard Formal specifications of: –OpenMath objects –XML encoding –Binary encoding –Syntax for Content Dictionaries –Basic symbols for Content Dictionaries
22/11/00Semantic Web Technologies Associated Documents Type systems: –Simple Type System (STS) –Extended Calculus of Constructions (ECC) Content Dictionaries Also: –Guidelines for writing CDs –CD standardisation procedure –Correspondence between MathML(C) and CD Group
Building Applications With OpenMath
22/11/00Semantic Web Technologies Mathematical Components Interface described in terms of CDs “recognised” Use standard tools for translating between OpenMath and proprietary representations –Software layer which does this is called a Phrasebook Use any convenient mechanism to link components together –sockets, RPC, Active-X,...
22/11/00Semantic Web Technologies Interactive Documents Mathematical objects encoded as OpenMath Manipulations/Calculations via plug-ins and applets –renderers, editors,... Translators for existing content in LaTeX Standard frameworks to handle interaction: –XML/DOM, CORBA,... –OMDoc
22/11/00Semantic Web Technologies Mathematical Databases OpenMath API to existing databases Databases of OpenMath objects “Smart Databases”: –read CDs dynamically to extract mathematical properties –use properties in resolving queries
22/11/00Semantic Web Technologies Computing with OpenMath Objects OpenMath does not mandate a default action. –Typesetter –Algebra system –Numerical software OpenMath consists of nouns not verbs. Onus is on phrasebook writer to implement “correct” behaviour.
22/11/00Semantic Web Technologies Summary OpenMath provides a standard representation for semantically-rich mathematical data. OpenMath is a complementary technology to MathML.