<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Mathematical Semantic Markup in a Wiki: the Roles of Symbols and Notations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christoph Lange</string-name>
          <email>ch.lange@jacobs-university.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science, Jacobs University Bremen</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present semantic markup as a way to exploit the semantics of mathematics in a wiki. Semantic markup makes mathematical knowledge machine-processable and thus allows for a multitude of useful applications. But as it is hard to read and write for humans, an editor needs to understand its inherent semantics and allow for a humanreadable presentation. The semantic wiki SWiM offers this support for the OpenMath markup language. Using OpenMath as an example, we present a way of integrating a semantic markup language into a semantic wiki using a document ontology and extracting RDF triples from XML markup. As a benefit gained from making semantics explicit, we show how SWiM supports the collaborative editing of definitions of mathematical symbols and their visual appearance.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        What does a wiki need in order to support mathematics in a semantic way?
First, there needs to be a way to edit mathematical formulae. Many wikis offer
a LATEX-like syntax for that, and they have been used to build large
mathematical knowledge collections, such as the mathematical sections of Wikipedia [30]
or the mathematics-only encyclopaedia PlanetMath [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. But LATEX, which is
mostly presentation-oriented, despite certain macros like \frac{num}{denom}
or \binom{n}{k}, is not sufficient to capture the semantics of mathematics.
One could write O(n2 + n), which could mean “O times n2 + n” (with
redundant brackets), or “O (being a function) applied to n2 + n”, or the set of all
integer functions not growing faster than n2 + n, and just by common notational
convention we know that the latter is most likely to hold.
      </p>
      <p>For being able to express the semantics of O(n2 +n), we need to make explicit
that the Landau symbol O is a set construction operator and n is a variable.
The meaning of O has to be defined in a vocabulary shared among mathematical
applications such as our wiki. This is analogous to RDF, where a vocabulary—
also called ontology—has to be defined before one can use it to create
machineprocessable and exchangeable RDF statements. In a mathematical context, these
vocabularies are called content dictionaries (CDs). As with ontology languages,
one can usually do more than just listing symbols and their descriptions in a CD:
defining symbols formally in terms of other symbols, declaring their types
formally, and specifying their visual appearance. Thus, CDs themselves are special
mathematical documents that could again be made available in a mathematical
wiki. Then it would be possible to create an unambiguous link from any
occurrence of O in a formula to its definition in the wiki, and knowledge from the
wiki could be shared with any other mathematical application supporting this
CD. As a practical solution, we present the OpenMath CD language in sect. 2
and its integration into the semantic wiki SWiM in sect. 4.
2</p>
      <p>Semantic Markup for Mathematics with OpenMath
Semantic markup languages for mathematics address the problems introduced in
sect. 1 by offering an appropriate expressivity and semantics for defining symbols
and other structures of mathematical knowledge. This is a common approach to
knowledge representation not only in mathematics, but generally in science1.</p>
      <p>
        OpenMath [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is a markup language for expressing the logical structure
of mathematical formulae. It provides its own sublanguage for defining CDs—
collections of symbol definitions with formal and informal semantics. One symbol
definition consists of a mandatory symbol name and a normative textual
description of the symbol, as well as other metadata2. Formal mathematical properties
(FMPs) of the symbol, such as the definition of the sine function, or the
commutativity axiom that holds for the multiplication operator, can be added, written
in OpenMath and possibly using other symbols (see fig. 1). Type signatures
(such as sin : R → R) and human-readable notations (see sect. 3) of symbols are
defined separately from the CD in a similar fashion.
      </p>
      <p>
        As semantic markup makes mathematical formulae machine-understandable,
it has leveraged many applications. For OpenMath, it started with data
exchange between computer algebra systems, then automated theorem provers,
and more recently dynamic geometry systems. OpenMath is also used in
multilingual publishing, adaptive learning applications, and web search [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
OpenMath CDs foster exchange by their modularity. Usually, a CD contains a set of
related symbols, e. g. basic operations on matrices (CD linalg1) or eigenvalues
and related concepts (CD linalg4), and a CD group contains a set of related
CDs, e. g. all standard CDs about linear algebra (CD group linalg). In this
setting, agents exchanging mathematical knowledge need not agree upon one
large, monolithic mathematical ontology, but can flexibly refer to a specific set
of CDs or CD groups they understand3.
1 Consider e. g. the chemical markup language CML [23]
2 OpenMath 2 uses an idiosyncratic schema for metadata, but Dublin Core is likely
to be adopted for OpenMath 3.
3 A communication protocol for such agreements is specified in [7, sect. 5.3].
&lt;CDDefinition&gt;
&lt;Name&gt;sin&lt;/Name&gt;
&lt;Description&gt;The sine function on real numbers&lt;/Description&gt;
&lt;CMP&gt;The sine function is defined in terms of the exponential function as
sin x = 12 (eix − e−ix).&lt;/CMP&gt;
&lt;FMP&gt;
&lt;OMOBJ xmlns="http://www.openmath.org/OpenMath"
version="2.0" cdbase="http://www.openmath.org/cd"&gt;
&lt;OMA&gt;&lt;OMS cd="relation1" name="eq"/&gt;
&lt;OMA&gt;&lt;OMS name="sin" cd="transc1"/&gt;
      </p>
      <p>&lt;OMV name="x"/&gt;&lt;/OMA&gt;
&lt;OMA&gt;&lt;OMS name="divide" cd="arith1"/&gt;
&lt;OMA&gt;&lt;OMS name="minus" cd="arith1"/&gt;
&lt;OMA&gt;&lt;OMS name="exp" cd="transc1"/&gt;
&lt;OMA&gt;&lt;OMS name="times" cd="arith1"/&gt;
&lt;OMS name="i" cd="nums1"/&gt;
&lt;OMV name="x"/&gt;&lt;/OMA&gt;&lt;/OMA&gt;
&lt;OMA&gt;&lt;OMS name="exp" cd="transc1"/&gt;
&lt;OMA&gt;&lt;OMS name="times" cd="arith1"/&gt;
&lt;OMA&gt;&lt;OMS name="unary_minus" cd="arith1"/&gt;</p>
      <p>&lt;OMS name="i" cd="nums1"/&gt;&lt;/OMA&gt;
&lt;OMV name="x"/&gt;&lt;/OMA&gt;&lt;/OMA&gt;&lt;/OMA&gt;
&lt;OMA&gt;&lt;OMS name="times" cd="arith1"/&gt;
&lt;OMI&gt;2&lt;/OMI&gt;
&lt;OMS name="i" cd="nums1"/&gt;&lt;/OMA&gt;&lt;/OMA&gt;&lt;/OMA&gt;&lt;/OMOBJ&gt;&lt;/FMP&gt;
&lt;/CDDefinition&gt;</p>
      <p>
        Authoring, Navigating and Presenting Semantic
Markup
As semantic markup is obviously hard to read and write for humans (see fig. 1),
proper authoring software is desirable for writing it. For reading, it should be
transformed to presentation markup. LATEX or presentational MathML [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] are
suitable output formats. With “authoring”, we refer both to authoring instances,
i. e. formulae that can use symbols from any CD, but also to authoring
ontologies, i. e. CDs. In fact, as with editors for semantic web ontologies, a sophisticated
editor should cover both levels, as existing vocabulary (here: mathematical
symbols) is not just used to create instance data, but also to define new vocabulary
in terms of old one.
      </p>
      <p>
        Semantic markup is commonly presented by defining the notation of every
symbol as a mapping from a single semantic symbol—or a pattern matching a
set of semantic markup structures in which the symbol can occur—to fragments
of presentation markup, where arguments to symbols are presented by recursive
application of the rules [
        <xref ref-type="bibr" rid="ref14 ref19">14, 19</xref>
        ]. One such pattern-based language for notation
definitions has been proposed as a part of the CD language of the MathML 3
standard (see sect. 5) and, within the current process of aligning both languages,
is likely to be adopted for OpenMath 3 as well. For XML languages,
semanticsto-presentation-mappings are commonly given in XSLT [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], either directly, or
generated from a more concise representation [
        <xref ref-type="bibr" rid="ref14 ref19">14, 19</xref>
        ], but there are also
nonXSLT implementations (see sect. 5).
      </p>
      <p>
        In the course of opening up new mathematical areas, definitions of new
symbols and their axiomatization are not fixed initially but subject to continuous
evolution and refactoring—a workflow that a semantic wiki should support. In
this paper, we assume that the semantics of symbols is fixed, but then it is still
the notation of the symbol that can evolve. On the one hand there is evolution
in the course of time. Before the 16th century, a prefixed letter R or r (= radix)
had mainly been used for square roots, but then the more abstract symbol √
was developed [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. On the other hand the notation of a symbol depends on the
context the symbol is used in. The context can be determined by the language
of the author or the reader, by previous knowledge, by the area of application,
and other criteria [
        <xref ref-type="bibr" rid="ref14">14, 27</xref>
        ]. For example, a binomial coefficient is written as nk
in German or English, but as Cnk in French. A mathematician uses the symbol i
for the imaginary unit, whereas an electrical engineer would write j. In a strict
style, one would express asymptotic growth as f ∈ O(g), but the sloppy style of
f = O(g) is far more common. For applications this means that reusing existing
mathematical content in a new context requires adapting the notation [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>The fact that there is no single, definitive notation for a mathematical symbol
leads to the requirement that an integrated editor for mathematical documents
and CDs should instantly reflect changes of notation definitions in the places
where they are used for presentation. That means that whenever the notation
of a symbol σ has changed, all the presentation markup generated from formulae
containing σ has to be invalidated and re-rendered upon the next request. In a
single-author environment this frees the author from recompiling all the affected
presentation markup and gives instant visual feedback about whether the new
notation works, and in a collaborative environment it relieves other authors from
worrying whether they are looking at an up-to-date presentation of a document.</p>
      <p>Moreover, an authoring tool should make the semantic relations between
definitions of symbols, their notations, and their type signatures, as well as the
relations between instances (here: symbols used in formulae) and classes explicit
in the user interface, as this facilitates orientation both for authors and for
readers.
4</p>
    </sec>
    <sec id="sec-2">
      <title>OpenMath CDs in the Semantic Wiki SWiM</title>
      <p>
        SWiM aims at satisfying the above requirements for authoring, navigating, and
presenting mathematical knowledge in a semantic wiki [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. It is based on the
general-purpose semantic wiki IkeWiki [26] and enhances it by support for
OpenMath and subsets of MathML and the more comprehensive OMDoc [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In this
paper, we focus on OpenMath.
      </p>
      <p>
        SWiM follows the approach of representing one subject of interest by one
wiki page and modeling it as one resource in an RDF graph; this shall henceforth
be called “page-level annotation”. This way of knowledge representation is the
most common in semantic wikis, but nowhere near the only one [
        <xref ref-type="bibr" rid="ref6">24, 6</xref>
        ]. Our
experience with developing SWiM and working in other semantic wikis following
the same approach, such as Semantic MediaWiki [29], shows that this works best
if pages are small. Otherwise, too many subjects of interest would be described
in subsections of pages and thus could not be represented in RDF. But small
pages are advisable in a wiki anyway, as they reduce the potential of editing
conflicts. With small pages, page-level annotation is at its most impressive in
terms of easy-to-use authoring, navigation, and search from a user’s point of
view, and easy maintenance within the system4.
      </p>
      <p>
        An important task in implementing the OpenMath support in SWiM was
the choice of the granularity of pages. The OpenMath Society, the body
standardizing OpenMath, considers whole CDs as units that are subject to review
or change [7, sect. 4.5], and the OpenMath CD language reflects that by only
providing “date” and “author” metadata fields on CD level. But quite a lot of
CDs contain more than 10 symbol definitions, covering several screen pages in a
browser. With SWiM we are not only aiming at supporting the review process
of the OpenMath Society but also the more dynamic preceding phase, when, for
example, a working group in some company or research institute is developing
a new CD that will then be submitted to the OpenMath Society for approval.
Thus, both to keep wiki pages small, and to support a more dynamic workflow,
we chose to map symbol definitions and even their subelements (formal and
informal properties, and examples) to wiki pages. The latter choice is influenced
4 These aspects were discussed in more detail on the mailing list of the Semantic
Wiki Interest Group [28] in two threads named “Modeling ‘third party’ relations on
Semantic Mediawiki page?” and “Creating Triples Anywhere in a Semantic Wiki”
in April 2007.
from our experience with OMDoc [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], where axioms and theorems—defining
or asserting additional properties of symbols—and examples are modeled as
entities separate from the declarations or definitions of the symbols, allowing for
greater flexibility.
      </p>
      <p>
        Now that this design choice has been found reasonable for SWiM, it should
not violate the compatibility with other OpenMath applications. SWiM allows
for importing and exporting OpenMath files from and to the local file system
or the OpenMath Subversion repository. On import, CDs are split into their
subparts as mentioned above, every part being stored on its own wiki page. The
containment relations are preserved as XIncludes [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], which are resolved on
export again. The XIncludes are also resolved when a document is rendered, so
that a whole CD can be viewed at once.
      </p>
      <p>SWiM supports editing OpenMath and other semantic markup in a
semiWYSIWYG way. Plain text can be edited and styled visually (but styles are lost
on export), for OpenMath objects there is a simple linear ASCII syntax, and
other XML structures are made accessible as special HTML tables (see fig. 3).</p>
      <p>
        The semantics of the OpenMath CD language is documented in a
humanreadable specification [7, chap. 4], which is not explicit enough to make
OpenMath CDs directly usable by semantic web applications. Instead, an ontology
had to be developed to allow for making RDF statements about resources in CDs,
and an automated extraction of RDF statements from the OpenMath markup
had to be developed. The OpenMath document ontology models classes and
properties for all structural entities found in OpenMath’s CD groups, CDs, type
signatures, and notation definitions in OWL-DL. Properties from common
ontologies like Dublin Core were reused where appropriate. The inner structures of
formulae (also known as “OpenMath objects”) were not modeled, for two reasons:
First, formulae are not accessible as entities of their own in SWiM but as children
of structural entities like FMPs, which are represented in the document
ontology, and secondly, RDF combined with logics used for semantic web reasoning is
not expressive enough for capturing the full semantics of mathematical formulae.
The latter should instead be left to a theorem prover or computer algebra
system working with OpenMath objects. If we had an ontology for expressing the
syntactic structure of an OpenMath object like ∀x.x ∈ R ⇒ ex &gt; 0 in RDF, as
discussed in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], we would be able to make the references to the bound variable
x explicit (they would point to the same URI), but still we would not be able to
express the notion of α-equivalence (meaning that we could have used any other
name for x as well) in the first order logic subsets commonly used for reasoning
on the semantic web. There is, however, a property that states that an FMP or
an example uses a symbol—which is contained in some OpenMath object inside
the FMP or example—and points to the definition of that symbol in some CD.
This is not only useful for determining dependencies among CDs (What other
CDs do I need to load in order to get a self-contained collection?), but also for
rendering formulae according to notation definitions (see sect. 5).
      </p>
      <p>Whenever a wiki page is stored in SWiM, i. e. whenever it is saved in the
editor or imported, an RDF representation in terms of the document ontology
is extracted from the markup. Consider the following CD:
&lt;CD xml:id="sample"&gt;
&lt;CDName&gt;sample&lt;/CDName&gt;
&lt;CDDate&gt;2008-03-05&lt;/CDDate&gt;
&lt;CDStatus&gt;private&lt;/CDStatus&gt;
&lt;Description&gt;A sample CD&lt;/Description&gt;
&lt;xi:include href="url/of/CDDefinition"/&gt;&lt;/CD&gt;</p>
      <p>
        From this, the following RDF would be extracted (in Turtle syntax [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]), where
omo is the prefix of the OpenMath document ontology namespace:
&lt;#sample&gt;
rdf:type omo:ContentDictionary ;
dc:identifier "sample" ;
dc:date 2008-03-05 ;
omo:status "private" ;
dc:description "A sample CD" ;
omo:containsSymbolDefinition &lt;url/of/cddefinition&gt; .
      </p>
      <p>The extracted RDF is stored in the Jena store built into IkeWiki, where
the OpenMath document ontology resides as well. IkeWiki uses Jena’s builtin
RDFS reasoner that implements the RDFS semantics but understands the OWL
syntax as well [26]. IkeWiki currently utilizes the RDF graph in order to generate
a list of incoming and outgoing links for the current page, grouped by property
(shown on the right side in fig. 2), to feed a graphical RDF browser, to preselect
properties of pages and links an author would probably want to annotate, and
it supports embedding arbitrary inline SPARQL queries [25] into pages.
5</p>
      <p>Defining Notations and (Re-)Rendering Formulae
For defining the notation of a symbol, SWiM employs the pattern-based language
proposed for MathML 3 [2, sect. 8.6, “Rendering of Content Elements”]. A
notation definition for a symbol consists of a prototype that matches a fragment
of semantic markup, either matching elements literally or matching subtrees
against so-called content metavariables, and a rendering, which is a template of
presentation markup with so-called element metavariables in those places where
the results of rendering the XML trees matched against the correspondent
content metavariables are to be inserted. This is, for example, a notation definition
for the root operator in the arith1 CD, specifying the rendering √narg:
&lt;notation xml:id="ntn-root"&gt;
&lt;prototype&gt;
&lt;om:OMA&gt;
&lt;om:OMS cd="arith1" name="root"/&gt;
&lt;expr name="arg"/&gt;
&lt;expr name="n"/&gt;&lt;/om:OMA&gt;&lt;/prototype&gt;
&lt;rendering&gt;
&lt;m:mroot&gt;
&lt;render name="arg"/&gt;
&lt;render name="n"/&gt;
&lt;/m:mroot&gt;&lt;/rendering&gt;&lt;/notation&gt;</p>
      <p>From this, the RDF triple &lt;#ntn-root&gt; omo:rendersSymbol &lt;url/of/arith1
/root&gt; . would be extracted.</p>
      <p>
        SWiM employs the Java-based mmlproc rendering library [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] for rendering
OpenMath objects to presentational (i. e. non-semantic) MathML, which can be
viewed in recent versions of the Firefox or Opera browsers. Whenever a wiki page
containing notation definitions is saved or imported, the notation definitions are
put into a cache read by mmlproc. To symbols without a notation definition,
mmlproc applies a default rendering like root(arg,n).
      </p>
      <p>If a notation definition has been added, deleted, or changed, the affected
documents have to be re-rendered. In order to do this properly, SWiM has to
1. identify changes to notation definitions
2. identify documents affected by a change
(1) is done by computing an XML diff between the cached and the newly inserted
version of a notation definition. (2) is done by querying the RDF graph for
all FMPs and examples using the symbol rendered by the respective notation
definition, as shown in fig. 4 and 5. Not only the wiki pages holding these FMPs
and examples have to be re-rendered, but also those pages (symbol definitions
and CDs) that directly or indirectly include these fragments.
1 SELECT DISTINCT ?page WHERE {
2 &lt;changed-ntn-def&gt; 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 } } }
SWiM was originally motivated by deficiencies in mathematical wikis like
Wikipedia or PlanetMath (see sect. 1). For MediaWiki, a semantic web extension
has been developed [29], which aims at being used in the MediaWiki-powered
Wikipedia. se(ma)2wi [31] was a Wikipedia-independent experiment with a
Semantic MediaWiki fed with OMDoc-formatted mathematical knowledge from
the ActiveMath learning environment. While the ActiveMath learning
metadata are displayed in the wiki, most of the structural semantics explicitly given
in OMDoc is, however, lost during this import: The formulae are converted to
notDef</p>
      <p>rendersSymbol (2)
usesSymbol (3,4)</p>
      <p>sym
usesSymbol (3,4)
ffmfmmppp
eeexxx
contains (5,7)</p>
      <p>sssyyymmmDDDeeefff
contains (5,7)
contains (6)
cccddd
presentational-only LATEX, and the links between wiki pages that represent
mathematical statements, for example a link from a theorem to its proof, are not typed
and therefore cannot be queried.</p>
      <p>
        In its role as a CD editor, SWiM is comparable to an ontology editor.
Actually, the IkeWiki base system provides a simple editor for RDFS and OWL
ontologies as well. OntoWiki is a more comprehensive, agile collaborative editor
for ontologies and instance data that is inspired by wiki principles like ease of
use for non-experts and versioning [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In OntoWiki, one edits a resource like
a database record, namely in a table containing edit boxes for all properties of
the resource, whereas a resource in a semantic wiki is represented as a
semistructured document, which the user can enrich with annotations. While an
OpenMath CD has a mostly record-like structure, this does not hold for
mathematical documents in general; consider e. g. the OpenMath objects inside a CD,
or a mathematical lecture written in the more versatile OMDoc language [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        While SWiM is the first wiki that supports editing notation definitions,
this has been investigated for text editors before. In the PlatΩ system, the
TEXmacs editor has been extended towards semantic markup [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
developers focus on notations that use natural language and on parsing text and
formulae the user writes in a presentational style back to a semantic
representation. Both features have not yet been investigated in SWiM; here the focus is
rather on making the semantic markup editable in a convenient way. As a change
to a notation definition in PlatΩ/TEXmacs involves regenerating parser rules,
special attention is paid to making this efficient by only regenerating those rules
that are affected by a change. Improving this by computing minimal diffs w. r. t.
extended equivalence relations for structured document formats (such as
ignoring changes to whitespace) and computing and previewing long-range effects of
changes is further elaborated in [22].
      </p>
      <p>
        Formula rendering is a special case of inline query processing. Many
semantic wikis support inline queries as a means of automatically generating
lists [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]; usually an inline query consists of a predicate p : Page → B, a
specification of the information that is desired for every page satisfying p (e. g. its title),
and a formatting style for the result. An OpenMath object in SWiM can be
considered a query for the notation definitions of the symbols used in the object,
where for every symbol only the most appropriate rendering5 is included in the
result set and the result is “formatted” by rendering the symbols according to
the rendering specifications in the result set. In this setting, we can determine
whether a change to a page (here: a notation definition) affects the result set
of a query (here: a formula) by checking whether the formula contains a
particular fixed symbol, which requires linear time w. r. t. the size of the formula.
For general queries6, this is far more complex, as the satisfiability problem for
propositional boolean expressions is N P-complete.
      </p>
      <p>
        The document ontology presented here is the first one that has been
developed for OpenMath CDs. In previous work, we have introduced a similar
ontology for a subset of OMDoc [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. A different ontology for OpenMath has
been developed in the MONET project. It does not model the document
structure of CDs but can be used to relate OpenMath objects to certain web services
operating on them; e. g. one can specify that there is a web service for computing
definite integrals, which can operate on any object that applies the defint symbol
from the calculus1 CD to certain arguments [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
7
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Outlook</title>
      <p>Having motivated that mathematical semantic markup languages can help to
make semantic wikis aware of mathematics, we showed how the OpenMath
content dictionary language was integrated into the semantic wiki SWiM by
choosing an appropriate page granularity, modeling a document ontology, and
extracting relevant facts from the markup into RDF. We motivated the need
for supporting the maintenance of notation definitions for mathematical
symbols and showed how to utilize the information from the RDF graph in order to
improve the performance of the system and the usability in terms of navigation
and orientation when editing notation definitions.</p>
      <p>
        So far, SWiM assumes that there is at most one notation definition per
symbol. The mmlproc renderer supports callbacks to an algorithm that selects
the most appropriate out of a set of multiple possible renderings for a symbol. A
default implementation considering the static context of a formula (such as the
language of the document [section]) is provided with mmlproc [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. In future, it
is planned to provide a user interface inside SWiM that lets the user select his
preferred rendering for every symbol.
      </p>
      <p>
        A visual editor for formulae will be provided as well. Available editors will
be evaluated w. r. t. their extensibility by new symbols and notation definitions.
Ideally, the tool palette of a visual formula editor would be supplied dynamically
with all known instances of the SymbolDefinition class.
5 See sect. 7 for dealing with multiple renderings per symbol.
6 In database research, the area of problems touched on here is known as “materialized
view maintenance” [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>Additional reasoning tasks need to be investigated to allow for more powerful
queries. For example, the dependency relation between CDs (see sect. 4) and the
containment relation between CDs and their subparts (see sect. 5) are transitive,
but RDFS cannot express transitivity, and SPARQL cannot compute transitive
closures.</p>
      <p>
        Finally, the relationship between the structural semantics of documents and
domain knowledge is worth investigating. If we define the Landau symbols O
and Ω in a CD, probably including their type declarations, we have not gained
more domain knowledge than that two mathematical concepts O and Ω exist
that map integer functions to sets of integer functions. In the more expressive
OMDoc language we could provide a definition of Ω as ∀f, g.f ∈ Ω(g) :⇔ g ∈
O(f ) and use that knowledge e. g. to customize presentation: Formulae using Ω
could be rewritten to their equivalents using more the familiar O. Relationships
between mathematical concepts are not only given by definitions: Commonly a
differentiable function f is defined as a function that has a derivative, but the
fact that f also is continuous is only observed afterwards as a theorem. From such
definitions or theorems one could extract a domain ontology use it for reasoning.
In DL this might look as follows (class names abbreviated) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]:
      </p>
      <sec id="sec-3-1">
        <title>ContFunc v Func</title>
        <p>DiffableFunc = Func u ∃hasDeriv.Func</p>
      </sec>
      <sec id="sec-3-2">
        <title>DiffableFunc v ContFunc</title>
        <p>(1)
(2)
(3)</p>
        <p>This information could then be utilized e. g. to display a general theorem
about continuous functions when the user searches for a theorem about
differentiable functions.</p>
        <p>Acknowledgments The author would like to thank Michael Kohlhase for
inspiration by his vision of a semantic web for mathematics, and James Davenport,
representing the OpenMath society, for sharing his insights about CD metadata.
22. N. Müller and M. Wagner. Towards Improving Interactive Mathematical
Authoring by Ontology-driven Management of Change. In A. Hinneburg, editor, LWA
(Lernen, Wissensentdeckung und Adaptivität), 2007.
23. P. Murray-Rust, H. S. Rzepa, and M. Wright. Development of chemical markup
language (cml) as a system for handling complex chemical content. New Journal
of Chemistry Articles, 25:618–634, 2001.
24. E. Oren, R. Delbru, K. Möller, M. Völkel, and S. Handschuh. Annotation and
navigation in semantic wikis. In M. Völkel, S. Schaffert, and S. Decker, editors, 1st
Workshop on Semantic Wikis, volume 206 of CEUR Workshop Proceedings, 2006.
25. E. Prud’hommeaux and A. Seaborne. SPARQL query language for
RDF. W3C Recommendation, W3C, 2006. http://www.w3.org/TR/2008/
REC-rdf-sparql-query-20080115/.
26. S. Schaffert. IkeWiki: A semantic wiki for collaborative knowledge management. In
1st International Workshop on Semantic Technologies in Collaborative Applications
(STICA), 2006.
27. E. Smirnova and S. M. Watt. Notation Selection in Mathematical Computing</p>
        <p>Environments. In Proc. Transgressive Computing (TC) 2006, 2006.
28. Mailing list of the semantic wiki interest group. swikig@aifb.uni-karlsruhe.de,
http://www.aifb.uni-karlsruhe.de/mailman/listinfo/swikig.
29. M. Völkel, M. Krötzsch, D. Vrandečić, H. Haller, and R. Studer. Semantic</p>
        <p>Wikipedia. In 15th WWW conference, 2006.
30. Wikipedia, the free encyclopedia. http://www.wikipedia.org, 2001–2007.
31. C. Zinn. Bootstrapping a semantic wiki application for learning mathematics. In
Y. Sure and S. Schaffert, editors, Semantics: From Visions to Applications, 2006.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dietzold</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Riechert</surname>
          </string-name>
          .
          <article-title>Ontowiki - A tool for social, semantic collaboration</article-title>
          . In I. F. Cruz,
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Allemang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Preist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schwabe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Uschold</surname>
          </string-name>
          , and L. Aroyo, editors,
          <source>5th International Semantic Web Conference</source>
          , volume
          <volume>4273</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Ausbrooks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Caprotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Carlisle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Chavchanidze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Coorg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dalmas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Devitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dooley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hinchcliffe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ion</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kohlhase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lazrek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Leas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Libbrecht</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mavrikis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Miner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sargent</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Siegrist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Soiffer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Watt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zergaoui. Mathematical Markup</surname>
          </string-name>
          <article-title>Language (MathML) version 3.0. W3C working draft</article-title>
          ,
          <source>W3C</source>
          ,
          <year>2007</year>
          . http://www.w3.org/TR/MathML3.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>S.</given-names>
            <surname>Autexier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fiedler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Neumann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>Supporting user-defined notations when integrating scientific text-editors with proof assistance systems</article-title>
          . In M. Kauers,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kerber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Miner</surname>
          </string-name>
          , and W. Windsteiger, editors,
          <source>Towards Mechanized Mathematical Assistants</source>
          . MKM/Calculemus, number 4573 in LNAI. Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>D.</given-names>
            <surname>Beckett</surname>
          </string-name>
          . Turtle - terse
          <source>RDF triple language</source>
          ,
          <year>2007</year>
          . http://www.dajobe.org/
          <year>2004</year>
          /01/turtle/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>M.</given-names>
            <surname>Bröcheler</surname>
          </string-name>
          .
          <article-title>The mathematical semantic web</article-title>
          .
          <source>Bachelor's thesis</source>
          , Computer Science, Jacobs University, Bremen,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>M.</given-names>
            <surname>Buffa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gandon</surname>
          </string-name>
          , G. Ereteo,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sander</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Faron</surname>
          </string-name>
          .
          <article-title>Sweetwiki: A semantic wiki</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          ,
          <year>2008</year>
          . in press.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>S.</given-names>
            <surname>Buswell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Caprotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Carlisle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Dewar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gaetano</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kohlhase</surname>
          </string-name>
          .
          <source>The Open Math standard, version 2.0. Technical report, The Open Math Society</source>
          ,
          <year>2004</year>
          . http://www.openmath.org/standard/om20.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>F.</given-names>
            <surname>Cajori</surname>
          </string-name>
          .
          <source>A History of Mathematical Notations. Courier Dover Publications</source>
          ,
          <year>1993</year>
          . Originally published in
          <year>1929</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>O.</given-names>
            <surname>Caprotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dewar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Turi</surname>
          </string-name>
          .
          <article-title>Mathematical service matching using description logic and OWL</article-title>
          . In A. Asperti,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Bancerek, and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Trybulec, editors,
          <source>Mathematical Knowledge Management, number 3119 in LNAI</source>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>J. H. Davenport.</surname>
          </string-name>
          <article-title>OpenMath in a (semantic) web</article-title>
          . In O. Caprotti,
          <string-name>
            <given-names>S.</given-names>
            <surname>Xambó</surname>
          </string-name>
          , M.
          <article-title>-</article-title>
          <string-name>
            <surname>A. Huertas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Kohlhase</surname>
          </string-name>
          , and M. Seppälä, editors,
          <source>3rd JEM Workshop - Joining International Mathematics</source>
          ,
          <year>2008</year>
          . http://jem-thematic.
          <source>net/workshop3.</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Gupta</surname>
          </string-name>
          and
          <string-name>
            <surname>I. S</surname>
          </string-name>
          . Mumick, editors.
          <article-title>Materialized views: techniques, implementations, and applications</article-title>
          . MIT Press, Cambridge, MA, USA,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>M.</given-names>
            <surname>Kay</surname>
          </string-name>
          .
          <source>XSL Transformations (XSLT) Version</source>
          <volume>2</volume>
          .0. W3C Recommendation,
          <year>W3C</year>
          ,
          <year>2007</year>
          . http://www.w3.org/TR/2007/REC-xslt20-
          <volume>20070123</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>M.</given-names>
            <surname>Kohlhase. OMDoc -</surname>
          </string-name>
          <article-title>An open markup format for mathematical documents [Version 1</article-title>
          .2]. Number 4180 in LNAI. Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. Kohlhase</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Müller</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Rabe</surname>
          </string-name>
          .
          <article-title>Notations for living mathematical documents</article-title>
          .
          <source>In Mathematical Knowledge Management, MKM'08, LNAI</source>
          . Springer Verlag,
          <year>2008</year>
          . in press.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>M. Krötzsch</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Schaffert</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Vrandečić</surname>
          </string-name>
          .
          <article-title>Reasoning in semantic wikis</article-title>
          . In G. Antoniou,
          <string-name>
            <given-names>U.</given-names>
            <surname>Aßmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Henze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.-L.</given-names>
            <surname>Pătrânjan</surname>
          </string-name>
          , and R. Tolksdorf, editors,
          <source>3rd Reasoning Web Summer School</source>
          , volume
          <volume>4636</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>A.</given-names>
            <surname>Krowne</surname>
          </string-name>
          .
          <article-title>An architecture for collaborative math and science digital libraries</article-title>
          .
          <source>Master's thesis</source>
          , Virginia Tech,
          <year>2003</year>
          . http://scholar.lib.vt.edu/ theses/available/etd-09022003-150851/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Lange. SWiM - a semantic wiki for mathematical knowledge management</article-title>
          .
          <source>Technical Report 5</source>
          , Jacobs University Bremen,
          <year>2007</year>
          . http://kwarc.info/projects/ swim/pubs/tr-swim.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Lange</article-title>
          .
          <article-title>SWiM: A semantic wiki for mathematical knowledge management</article-title>
          . http://kwarc.info/projects/swim/,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. S. Manzoor,
          <string-name>
            <given-names>P.</given-names>
            <surname>Libbrecht</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ullrich</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Melis</surname>
          </string-name>
          .
          <article-title>Authoring Presentation for OpenMath</article-title>
          . In M. Kohlhase, editor,
          <source>Mathematical Knowledge Management, number 3863 in LNAI</source>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>M.</given-names>
            <surname>Marchiori</surname>
          </string-name>
          .
          <article-title>The mathematical semantic web</article-title>
          . In A. Asperti,
          <string-name>
            <given-names>B.</given-names>
            <surname>Buchberger</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. H</surname>
          </string-name>
          . Davenport, editors,
          <source>Mathematical Knowledge Management, number 2594 in LNCS</source>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>J. Marsh</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Orchard</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Veillard</surname>
          </string-name>
          .
          <article-title>XML inclusions (XInclude) version 1.0 (second edition)</article-title>
          .
          <source>W3C Recommendation, World Wide Web Consortium (W3C)</source>
          ,
          <year>Nov</year>
          .
          <year>2006</year>
          . Available at http://www.w3.org/TR/2006/REC-xinclude-
          <volume>20061115</volume>
          /.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>