|
Are there any established ways of representing mathematical formulas or expressions in RDF? A web search turned up a paper by Marchiori (2003) which provides an overview of relevant Semantic Web standards, and even contains an example of how a MathML fragment like this:
could be represented in RDF like this:
However, that was just an example, and I couldn't find anything which would describe a complete framework for something like that. Edit for clarification. I am looking for something which would allow to represent mathematical expressions which refer to other resources described in RDF as sub-expressions. Even perhaps something that would allow to construct mathematical expressions by some sort of rule language (like SPARQL CONSTRUCT queries). Therefore just using MathML (or OpenMath) markup in a XML Literal does not seem like a good solution. |
|
In terms of the direct question I don't know of an established way of doing this. What you want to achieve? If you want to convey some mathematical markup over RDF but that maths is not "executable" or doesn't need to interact with the RDF itself then the obvious approach would be to use MathML to encode the content and embed the MathML fragments as rdf:XMLLiterals. OTOH if you are trying to express some mathematics that will interact with the RDF data - for example integrity constraint checking or formulae for deriving computed values - then you might want to consider an RDF rule language. RIF Core can express some interesting maths and the semantics of RIF + RDF combinations is well defined, though there is not yet a standardized way of embedding RIF rules directly in RDF. SWRL, is another alternative, has been around for longer and has reasonable tool support. |
|
As Dave says, there is no established way. In section 3.4.1 and 3.4.2 of this survey – http://www.semantic-web-journal.net/content/new-submission-ontologies-and-languages-representing-mathematical-knowledge-semantic-web, page 16 –, I provide a review of all ways known to date:
|
|
I've presented an approach for the integration of mathematical expressions into RDF datasets for the purpose of mathematical reasoning on the OpenMath workshop 2012. The paper Mathematical Computations for Linked Data Applications with OpenMath covers an OpenMath content dictionary for RDF that allows to reference RDF resources and their properties from mathematical expressions. This is complemented by an OWL ontology for OpenMath objects (available at http://numerateweb.org/vocab/math) to enable the encoding of mathematical expressions in RDF for cross-referencing between mathematical expressions and RDF data. The simple example taken from our paper (in an extended Popcorn notation)
is based on the FOAF vocabulary and defines the properties An interesting point is that we can use an RDF graph for storing intermediate results
of computations. For example, the popcorn link seems to be broken... The java.symcomp.org server seems to be down from time to time. Our numerateweb.org server is also not very stable at the moment. |

