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>
67 <div align="right"><b>Goals and features</b><br>
70 MathQL-1 is designed to achieve the following goals:<br>
73 <li>Exploitation of <a href="http://www.w3.org/RDF/">RDF</a> technology
74 to manage metadata and <b>compliance with the main requirements</b> for an
75 RDF query language. In particular:</li>
81 <li>MathQL-1 provides facilities for hierarchical constraints
82 based on <a href="http://www.w3.org/TR/rdf-schema/">RDF Schema</a> and for
83 traversal of compound values of properties.</li>
88 <li>MathQL-1 provides a full set of Boolean operators to compose
89 the query constraints and facilities for selecting URI's or literals by means
90 of regular expressions.</li>
95 <li>MathQL-1 allows to customize the query results specifying
96 what part of a solution should be preserved or discarded.</li>
101 <li>MathQL-1 has a well-conceived semantics defined in term
102 of an abstract metadata model, imposes that queries return exhaustive solutions
103 and includes a "select-from-where"-like construction.</li>
108 <li>MathQL-1 supports a machine-processable <a
109 href="http://www.w3.org/XML/">XML</a> syntax as well as a human-readable
110 textual syntax to achieve the best usability.<br>
117 <li>Careful <b>treatment of query results</b> that are as important
118 as the queries themselves. In particular:<br>
125 <li>MathQL-1 query results have a 4-dimensional geometry whereas
126 other languages assume that query results are returned in 1-dimensional structures
127 (i.e. lists of resources) or 2-dimensional structures (i.e. relational database
128 tables). This allows to get better outcomes from queries returning structured
135 <li>Besides the syntax for queries, MathQL-1 provides a syntax
136 for query results with its own rigorously defined semantics.<br>
143 <li>Exploitation of <b>constructions borrowed from programming
144 languages</b> to allow sophisticated queries that need computation over the
145 queried data. In particular:<br>
152 <li>MathQL-1 supports variables for storing intermediate query
153 results, provides iterators over these results, has a conditional operator
154 and includes logging facilities for debugging purposes.</li>