MathMLCanonicalizer

MathMLCanonicalizer is able to canonicalize MathML input. Modular architecture allows to set up canonicalization features according to users needs.

License

License

GroupId

GroupId

cz.muni.fi.mir
ArtifactId

ArtifactId

mathml-canonicalizer
Last Version

Last Version

1.3.1
Release Date

Release Date

Type

Type

jar
Description

Description

MathMLCanonicalizer
MathMLCanonicalizer is able to canonicalize MathML input. Modular architecture allows to set up canonicalization features according to users needs.
Project URL

Project URL

https://mir.fi.muni.cz/
Source Code Management

Source Code Management

https://github.com/michal-ruzicka/MathMLUnificator

Download mathml-canonicalizer

How to add to project

<!-- https://jarcasting.com/artifacts/cz.muni.fi.mir/mathml-canonicalizer/ -->
<dependency>
    <groupId>cz.muni.fi.mir</groupId>
    <artifactId>mathml-canonicalizer</artifactId>
    <version>1.3.1</version>
</dependency>
// https://jarcasting.com/artifacts/cz.muni.fi.mir/mathml-canonicalizer/
implementation 'cz.muni.fi.mir:mathml-canonicalizer:1.3.1'
// https://jarcasting.com/artifacts/cz.muni.fi.mir/mathml-canonicalizer/
implementation ("cz.muni.fi.mir:mathml-canonicalizer:1.3.1")
'cz.muni.fi.mir:mathml-canonicalizer:jar:1.3.1'
<dependency org="cz.muni.fi.mir" name="mathml-canonicalizer" rev="1.3.1">
  <artifact name="mathml-canonicalizer" type="jar" />
</dependency>
@Grapes(
@Grab(group='cz.muni.fi.mir', module='mathml-canonicalizer', version='1.3.1')
)
libraryDependencies += "cz.muni.fi.mir" % "mathml-canonicalizer" % "1.3.1"
[cz.muni.fi.mir/mathml-canonicalizer "1.3.1"]

Dependencies

compile (5)

Group / Artifact Type Version
org.jdom : jdom2 jar 2.0.6
jaxen : jaxen jar 1.1.6
commons-io : commons-io jar 2.4
commons-cli : commons-cli jar 1.3.1
xmlunit : xmlunit jar 1.6

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

MathML Unificator – Generalizes mathematical formulae for structural unification

ci

MathML Unificator is a tool which performs structural MathML unification as proposed by Růžička, Sojka, and Líška, 2016.

Usage

File encoding on Windows

On Windows, file encodings default to system-language-specific single-byte encodings. To ensure that JVM uses UTF-8, start JVM with command line argument -Dfile.encoding=UTF-8 as follows:

java -Dfile.encoding=UTF-8 -jar mathml-unificator.jar

However, be aware the default Windows command line shell has significant problems with Unicode in the default configuration. Try Lucida console font with appropriate shell code page setting.

Example

Executing the following command derives a series of four increasingly general formulae from an example formula:

$ java -jar mathml-unificator.jar -p sample-data/single-formula.xml
<?xml version="1.0" encoding="UTF-8"?>
<unified-math xmlns="http://mir.fi.muni.cz/mathml-unification/">
    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <msup>
            <mi>a</mi>
            <mn>2</mn>
        </msup>
        <mo>+</mo>
        <mfrac>
            <msqrt>
                <mi>b</mi>
            </msqrt>
            <mi>c</mi>
        </mfrac>
    </math>
    <math xmlns:uni="http://mir.fi.muni.cz/mathml-unification/"
        uni:unification-level="1" uni:unification-max-level="4" xmlns="http://www.w3.org/1998/Math/MathML">
        <msup>
            <mi>a</mi>
            <mn>2</mn>
        </msup>
        <mo>+</mo>
        <mfrac>
            <msqrt>
                <mi>◍</mi>
            </msqrt>
            <mi>c</mi>
        </mfrac>
    </math>
    <math xmlns:uni="http://mir.fi.muni.cz/mathml-unification/"
        uni:unification-level="2" uni:unification-max-level="4" xmlns="http://www.w3.org/1998/Math/MathML">
        <msup>
            <mi>◍</mi>
            <mi>◍</mi>
        </msup>
        <mo>+</mo>
        <mfrac>
            <mi>◍</mi>
            <mi>◍</mi>
        </mfrac>
    </math>
    <math xmlns:uni="http://mir.fi.muni.cz/mathml-unification/"
        uni:unification-level="3" uni:unification-max-level="4" xmlns="http://www.w3.org/1998/Math/MathML">
        <mi>◍</mi>
        <mo>+</mo>
        <mi>◍</mi>
    </math>
    <math xmlns:uni="http://mir.fi.muni.cz/mathml-unification/"
        uni:unification-level="4" uni:unification-max-level="4" xmlns="http://www.w3.org/1998/Math/MathML">
        <mi>◍</mi>
        <mo>◍</mo>
        <mi>◍</mi>
    </math>
</unified-math>

Citing MathML Unificator

Text

RŮŽIČKA, Michal, Petr SOJKA a Martin LÍŠKA. Math Indexer and Searcher under the Hood: Fine-Tuning Query Expansion and Unification Strategies. In Proceedings of the 12th NTCIR Conference on Evaluation of Information Access Technologies. Tokyo: National Institute of Informatics, 2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430 Japan, 2016. 7 pp.

BibTeX

@inproceedings{RuzickaSojkaLiska16Math,
     author = "Michal R\r{u}\v{z}icka and Petr Sojka and Martin L{\' i}ska",
      title = "{Math Indexer and Searcher under the Hood: Fine-tuning Query
                Expansion and Unification Strategies.}",
  booktitle = "{Proceedings of the 12th NTCIR Conference on Evaluation of
                Information Access Technologies}",
     editor = "{Noriko Kando et al.}",
      pages = "331--337",
       year = 2016,
}

Versions

Version
1.3.1
1.3.0
1.2.0
1.1.0
1.0.0
0.1