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="documentation.html">Documentation</a></li>
42 <li><a href="implementation.html">Implementation</a><br>
48 <li><a href="authors.html">The authors</a><br>
54 <li><a href="links.html">Links</a><br>
61 <div align="right"><b>Goals and features</b><br>
64 MathQL-1 is designed to achieve the following goals:<br>
66 <li>Exploitation of <a href="http://www.w3.org/RDF/">RDF</a> technology
67 to manage metadata and <b>compliance with the main requirements</b> for an
68 RDF query language. In particular:</li>
72 <li>MathQL-1 provides facilities for hierarchical constraints based
73 on <a href="http://www.w3.org/TR/rdf-schema/">RDF Schema</a> and for traversal
74 of compound values of properties.</li>
77 <li>MathQL-1 provides a full set of Boolean operators to compose
78 the query constraints and facilities for selecting URI's or literals by means
79 of regular expressions.</li>
82 <li>MathQL-1 allows to customize the query results specifying what
83 part of a solution should be preserved or discarded.</li>
86 <li>MathQL-1 has a well-conceived semantics defined in term of
87 an abstract metadata model, imposes that queries return exhaustive solutions
88 and includes a "select-from-where"-like construction.</li>
91 <li>MathQL-1 supports a machine-processable <a
92 href="http://www.w3.org/XML/">XML</a> syntax as well as a human-readable
93 textual syntax to achieve the best usability.<br>
98 <li>Careful <b>treatment of query results</b> that are as important
99 as the queries themselves. In particular:<br>
104 <li>MathQL-1 query results have a 4-dimensional geometry whereas
105 other languages assume that query results are returned in 1-dimensional structures
106 (ie lists of resources) or 2-dimensional structures (ie relational database
107 tables). This allows to get better outcomes from queries returning structured
112 <li>Besides the syntax for queries, MathQL-1 provides a syntax
113 for query results with its own rigorously defined semantics.<br>
118 <li>Exploitation of <b>constructions borrowed from programming languages</b>
119 to allow sophisticated queries that need computation over the queried data.
125 <li>MathQL-1 supports variables for storing intermediate query
126 results, provides iterators over these results, has a conditional operator
127 and includes logging facilities for debugging purposes.</li>