1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
6 <meta http-equiv="content-type"
7 content="text/html; charset=ISO-8859-1">
9 <meta name="author" content="Ferruccio Guidi">
11 <meta name="description" content="MathQL Home Page">
15 <h1 align="center">MathQL-1</h1>
17 <h2 align="center">A query language for RDF metadata</h2>
19 <table cellpadding="10" cellspacing="2" border="0" width="95%"
23 <td valign="top" align="left">
26 <li><a href="index.html">Forward</a><br>
37 <li><a href="whatsnew.html">What's new</a></li>
42 <li><a href="documentation.html">Documentation</a></li>
47 <li><a href="implementation.html">Implementation</a><br>
53 <li><a href="authors.html">The authors</a><br>
59 <li><a href="links.html">Links</a><br>
66 <div align="right"><b>Goals and features</b><br>
69 MathQL-1 is designed to achieve the following goals:<br>
72 <li>Exploitation of <a href="http://www.w3.org/RDF/">RDF</a> technology
73 to manage metadata and <b>compliance with the main requirements</b> for
74 an RDF query language. In particular:</li>
80 <li>MathQL-1 provides facilities for hierarchical constraints
81 based on <a href="http://www.w3.org/TR/rdf-schema/">RDF Schema</a> and for
82 traversal of compound values of properties.</li>
87 <li>MathQL-1 provides a full set of Boolean operators to compose
88 the query constraints and facilities for selecting URI's or literals by
89 means of regular expressions.</li>
94 <li>MathQL-1 allows to customize the query results specifying
95 what part of a solution should be preserved or discarded.</li>
100 <li>MathQL-1 has a well-conceived semantics defined in term of
101 an abstract metadata model, imposes that queries return exhaustive solutions
102 and includes a "select-from-where"-like construction.</li>
107 <li>MathQL-1 supports a machine-processable <a
108 href="http://www.w3.org/XML/">XML</a> syntax as well as a human-readable
109 textual syntax to achieve the best usability.<br>
116 <li>Careful <b>treatment of query results</b> that are as important
117 as the queries themselves. In particular:<br>
124 <li>MathQL-1 query results have a 4-dimensional geometry whereas
125 other languages assume that query results are returned in 1-dimensional
126 structures (i.e. lists of resources) or 2-dimensional structures (i.e. relational
127 database tables). This allows to get better outcomes from queries returning
128 structured results.<br>
134 <li>Besides the syntax for queries, MathQL-1 provides a syntax
135 for query results with its own rigorously defined semantics.<br>
142 <li>Exploitation of <b>constructions borrowed from programming
143 languages</b> to allow sophisticated queries that need computation over
144 the queried data. In particular:<br>
151 <li>MathQL-1 supports variables for storing intermediate query
152 results, provides iterators over these results, has a conditional operator
153 and includes logging facilities for debugging purposes.</li>