# Render math markup in query serviceClosed, ResolvedPublicActions

Assigned To
 • Jonas
Authored By
 Physikerwelt Jun 14 2016, 9:25 AM2016-06-14 09:25:46 (UTC+0)
Referenced Files
 F4292308: math rendered.JPG Jul 20 2016, 6:51 PM2016-07-20 18:51:57 (UTC+0)

# Description

The query result should render math rather than displaying the data source
http://tinyurl.com/jrh2ldx

# Related Objects

### Event Timeline

Restricted Application added a project: Wikidata. Jun 14 2016, 9:25 AM
Restricted Application added subscribers: Zppix, Aklapper.

I used the rest interface to get closer to the origin of the problem:
Formulae are returned as

</binding>
<binding name='formula'>
<literal datatype='http://www.w3.org/1998/Math/MathML'>>&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="block"&gt;

which does not seem reasonable.
Where does the literal, and with the datatype attribute come from?
Is there a chance to fix that within the math extension?

Maybe the relevant code is https://github.com/wikimedia/mediawiki-extensions-Math/blob/master/MathMLRdfBuilder.php#L33

		$writer->say($propertyValueNamespace, $propertyValueLName ) ->value($mml, 'http://www.w3.org/1998/Math/MathML' );

Is there a vagrant role that creates an Wikidata Query Service for testing?

Can it be that the title is misleading?
You want the math to be rendered in the table and other?

This is the place where you could change the rendering:
https://github.com/wikimedia/wikidata-query-gui/blob/master/wikibase/queryService/ui/resultBrowser/helper/FormatterHelper.js#L69

@Jonas thank you. After your comment, that was very helpful for me, it turns out that the title is misleading;-)

And yes. Math should be rendered in that table.

For the implementation I would add

var DATATYPE_MATHML = 'http://www.w3.org/1998/Math/MathML';

extend the case statement with

case DATATYPE_MATHML:
html = data;
break;

Is it really that simple?

Yes, this should work :)

Doesn't html need to be a JQuery object? data is only string.

@Jonas do you have an idea how to test this change?
I have set up a vagrant test instance at wmflabs
http://wikidata-math-de.wmflabs.org/wiki/Q15
But the information at https://github.com/wikimedia/wikidata-query-gui is quite brief;-)

Just checkout the repo and open index.html that's it.

Jonas renamed this task from Wikidata label service should render math to Render math markup in query service.Jul 20 2016, 4:21 PM
Jonas updated the task description. (Show Details)

Display MathML in the table view

https://gerrit.wikimedia.org/r/300055

Change 300055 merged by jenkins-bot:
Display MathML in the table view

https://gerrit.wikimedia.org/r/300055

We have a test instance at wdqs-test.wikidata.org, where we could test things. It runs on Wikidata data so should be good for testing.

There's also role::wdqs role which allows to deploy in labs, but there are a bunch of manual steps - you have to check out WDQS deploy repo manually (scap doesn't work that well in labs IIRC) and then manually load data. Ping me if you need help with that, it's not hard but needs some manual steps now.

Smalyshev triaged this task as Medium priority.

Ah, it works for me now - meaning it displays something like:

{\displaystyle x:y:z\longrightarrow x^{-1}:y^{-1}:z^{-1}}

Is this how it's supposed to work?