MathQL-1

A query language for RDF metadata

  • Implementation

Implementation
 
The MathQL-1 Suite for HELM is implemented in Caml and is currently available through the HELM CVS repository. The Suite provides the following  software components:
  1. The basic Caml package for MathQL-1 (mathql) provides a HELM independent Caml representation of queries and query results, plus some functions to convert this representation in text and XML and viceversa.
  1. The MathQL-1 interpreter (mathql_interpreter) is HELM dependent just in the implementation of the property operator, which still relies on the architecture of the relational database holding HELM metadata. The HELM team is planning to remove this drawback in the near future.
  1. The HELM query generator (mathql_generator) allows to build specific kinds of MathQL-1 queries, which are meaningful in the context of HELM, starting from a high-level description of the wanted results. These queries are descibed at an abstract level in the following paper:
  • F. Guidi and C. Sacerdoti Coen: Querying Distributed Digital Libraries of Mathematics.
  1. The testing software for the MathQL-1 Suite (mathql_test) providides three textual interfaces (one for the basic package, one for the interpreter and one for the query generator) with specific features meant for testing.
The current version of the Suite, realized entirely by F. Guidi, implements MathQL-1 version 3 (i.e. MathQL-1.3). The newly implemented features, which are not included in the ufficial documentation yet, are reported in the What's new section.

The latest HELM query engine (enter here if you are behind a restrictive firewall), powered by MathQL-1.3, allows to issue both user-defined queries and the specific queries produced by the HELM query generator.