<html>
<head>
<title>MathQL</title>
-
+
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
-
+
<meta name="author" content="Ferruccio Guidi">
-
+
<meta name="description" content="MathQL Home Page">
</head>
<body>
-
+
<h1 align="center">MathQL-1</h1>
-
+
<h2 align="center">A query language for RDF metadata</h2>
-
+
<table cellpadding="10" cellspacing="2" border="0" width="95%"
bgcolor="#ffffff">
- <tbody>
- <tr>
- <td valign="top" align="left">
-
+ <tbody>
+ <tr>
+ <td valign="top" align="left">
+
<ul>
- <li><a href="index.html">Forward</a><br>
- </li>
-
+ <li><a href="index.html">Forward</a><br>
+ </li>
+
+
</ul>
-
+
<ul>
- <li><a href="features.html">Features</a></li>
-
+ <li><a href="features.html">Features</a></li>
+
</ul>
-
+
<ul>
- <li><a href="whatsnew.html">What's new</a><br>
- </li>
-
+ <li><a href="whatsnew.html">What's new</a><br>
+ </li>
+
</ul>
-
+
<ul>
- <li><a href="documentation.html">Documentation</a></li>
-
+ <li><a href="documentation.html">Documentation</a></li>
+
+
</ul>
-
+
<ul>
- <li><a href="implementation.html">Implementation</a><br>
- </li>
-
+ <li><a href="implementation.html">Implementation</a><br>
+ </li>
+
</ul>
-
+
<ul>
- <li>The authors<br>
- </li>
-
+ <li>The authors<br>
+ </li>
+
+
</ul>
-
+
<ul>
- <li><a href="links.html">Links</a><br>
- </li>
-
+ <li><a href="links.html">Links</a><br>
+ </li>
+
</ul>
- <br>
- </td>
- <td valign="top">
-
+ <br>
+ </td>
+ <td valign="top">
+
<div align="right"><b>The authors</b><br>
- </div>
- <br>
- MathQL-1is developed by <a
+ </div>
+ <br>
+ MathQL-1is developed by <a
href="http://www.cs.unibo.it/%7Efguidi/">Ferruccio Guidi</a> and <a
href="http://www.cs.unibo.it/%7Eschena/">Irene Schena</a> at the <a
- href="http://www.cs.unibo.it/">Department of Computer Science</a> of the
- <a href="http://www.unibo.it/">University of Bologna</a> since April
- 2002.<br>
- <br>
- <b>Ferruccio Guidi</b> obtained a Master degree in Mathematics
-at the University of Padova and a PhD in Computer Science at the University
- of Bologna. His research interests include computer-assisted proof development,
- Martin-Löf type theory and substructural logic. He is a member of
-the <a href="http://helm.cs.unibo.it/">HELM Working Group</a> and
-of the <a href="http://www.math.unipd.it/%7Elogic/">"Paulus Venetus"
-Research Group in Logic</a>.<br>
- <br>
- <b>Irene Schena</b> obtained a Master Degree in Computer Science
-and a Ph.D. in Computer Science at the University of Bologna. Her research
-interests include Linear Logic and Web Technologies. She is a member of the
- <a href="http://helm.cs.unibo.it/">HELM Working Group</a> and of the
+ href="http://www.cs.unibo.it/">Department of Computer Science</a> of the
+ <a href="http://www.unibo.it/">University of Bologna</a> since April
+ 2002.<br>
+ <br>
+ <b>Ferruccio Guidi</b> obtained a Master degree in Mathematics
+at the University of Padova and a PhD in Computer Science at the University
+ of Bologna. His research interests include computer-assisted proof development,
+ Martin-Löf type theory and substructural logic. He is a member of
+the <a href="http://helm.cs.unibo.it/">HELM Working Group</a> and of
+the <a href="http://www.math.unipd.it/%7Elogic/">"Paulus Venetus" Research
+Group in Logic</a>.<br>
+ <br>
+ <b>Irene Schena</b> obtained a Master Degree in Computer Science
+and a Ph.D. in Computer Science at the University of Bologna. Her research
+interests include Linear Logic and Web Technologies. She is a member of the
+ <a href="http://helm.cs.unibo.it/">HELM Working Group</a> and of the
<a href="http://www.w3c.org/Math">W3C Math Working Group</a>.<br>
- <br>
- <b>Contacts:</b> <a href="mailto://fguidi@cs.unibo.it">fguidi@cs.unibo.it</a>,
- <a href="mailto://schena@cs.unibo.it">schena@cs.unibo.it</a>.<br>
- </td>
- </tr>
-
- </tbody>
+ <br>
+ <b>Contacts:</b> <a href="mailto://fguidi@cs.unibo.it">fguidi@cs.unibo.it</a>,
+ <a href="mailto://schena@cs.unibo.it">schena@cs.unibo.it</a>.<br>
+ </td>
+ </tr>
+
+ </tbody>
</table>
- <small></small> <br>
- <br>
- <br>
- <br>
+ <br>
</body>
</html>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
- <title>MathQL</title>
-
-
+
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
-
+
<meta name="author" content="Ferruccio Guidi">
-
+
<meta name="description" content="MathQL Home Page">
+
+ <meta name="GENERATOR"
+ content="Mozilla/4.77 [en] (X11; U; Linux 2.4.20-cs-p3 i686) [Netscape]">
+ <title>MathQL</title>
</head>
<body>
-
-<h1 align="center">MathQL-1</h1>
-
-<h2 align="center">A query language for RDF metadata</h2>
-
-<table cellpadding="10" cellspacing="2" border="0" width="95%"
+
+<center>
+<h1> MathQL-1</h1>
+</center>
+
+<center>
+<h2> A query language for RDF metadata</h2>
+</center>
+ <br>
+<table border="0" cellspacing="2" cellpadding="10" width="95%"
bgcolor="#ffffff">
- <tbody>
- <tr>
- <td valign="top" align="left">
-
+ <caption><br>
+ </caption><tbody>
+
+ </tbody> <tbody>
+ <tr>
+ <td align="left" valign="top">
+ <ul>
+ <li> <a href="index.html">Forward</a></li>
+
+ </ul>
<ul>
- <li><a href="index.html">Forward</a><br>
- </li>
-
-
+ <li> <a href="features.html">Features</a></li>
+
</ul>
-
-
+
<ul>
- <li><a href="features.html">Features</a></li>
-
-
+ <li> <a href="whatsnew.html">What's new</a></li>
+
</ul>
-
-
+
<ul>
- <li><a href="whatsnew.html">What's new</a></li>
-
+ <li> Documentation</li>
+
</ul>
-
+
<ul>
- <li>Documentation</li>
-
-
+ <li> <a href="implementation.html">Implementation</a></li>
+
</ul>
-
-
+
<ul>
- <li><a href="implementation.html">Implementation</a><br>
- </li>
-
-
+ <li> <a href="authors.html">The authors</a></li>
+
</ul>
-
-
+
<ul>
- <li><a href="authors.html">The authors</a><br>
- </li>
-
-
+ <li> <a href="links.html">Links</a></li>
+
</ul>
-
-
+ </td>
+ <td valign="top">
+ <div align="right"><b>Documentation</b></div>
+
+ <p><br>
+All available information about MathQL-1 can be found in the papers below
+(listed in order of relevance). <br>
+The newest features of MathQL-1, which are not included in this documentation,
+are reported in the <a href="whatsnew.html">What's new</a> section. </p>
+ <p><b>Papers concerning the developement version of MathQL-1:</b> </p>
<ul>
- <li><a href="links.html">Links</a><br>
- </li>
-
-
+ <li> F. Guidi: <a
+ href="http://www.cs.unibo.it/%7Efguidi/download/aql2_s.ps"><i>Reperimento
+delle Informazioni nelle Librerie Digitali Distribuite di Conoscenza Matematica
+Formale</i></a>. Presentation at McTAAP Meeting November 2003. Bologna. Italy.
+ <u>Italian version.</u></li>
+
+ <p>The English version will be available soon.</p>
</ul>
- <br>
- </td>
- <td valign="top">
-
- <div align="right"><b>Documentation</b><br>
- </div>
- <br>
- All available information about MathQL-1 can be found in the papers
- below (listed in order of relevance).<br>
- The newest features of MathQL-1, which are not included in this documentation,
- are reported in the <a href="whatsnew.html">What's new</a> section.<br>
- <br>
-F. Guidi, C. Sacerdoti Coen:
-\emph{Querying Distributed Digital Libraries of Mathematics}.
-Negli Atti di 11th Symposium on the Integration of Symbolic Computation and
-Mechanized Reasoning (Calculemus 2003). Aracne (settembre 2003), pp. 17-30.
- <br>
- <b>Papers concerning the latest version of MathQL-1:</b><br>
-
+ <b>Papers concerning the latest stable version of MathQL-1:</b>
<ul>
- <li>F. Guidi: <a
- href="ftp://ftp.cs.unibo.it/pub/techreports/2003-06.ps.gz"><i>Searching and
-Retrieving in Content-based Repositories of Formal Mathematical Knowledge</i></a>.
- Ph.D. Thesis in Computer Science, University of Bologna, March 2003. Technical
- report UBLCS 2003-06.</li>
-
+ <li> F. Guidi: <i><a
+ href="ftp://ftp.cs.unibo.it/pub/techreports/2003-06.ps.gz">Searching and
+Retrieving in Content-based Repositories of Formal Mathematical Knowledge</a></i>.
+Ph.D. Thesis in Computer Science, University of Bologna, March 2003. Technical
+report UBLCS 2003-06.</li>
+
</ul>
-
+
<ul>
- <li>F. Guidi and I. Schena: <a
- href="http://monet.nag.co.uk/mkm/bertinoro03/guidi.pdf"><i>A Query Language
- for a Metadata Framework about Mathematical Resources</i></a>. Presentation
- at the 2nd International Conference on Mathematical Knowledge Management
- (MKM 2003). Bertinoro, Italy, February 2003.<br>
- </li>
-
+ <li> F. Guidi and I. Schena: <i><a
+ href="http://monet.nag.co.uk/mkm/bertinoro03/guidi.pdf">A Query Language
+for a Metadata Framework about Mathematical Resources</a></i>. Presentation
+at the 2nd International Conference on Mathematical Knowledge Management
+(MKM 2003). Bertinoro, Italy, February 2003.</li>
+
</ul>
- <b>Papers concerning the earlier versions of MathQL-1:</b><br>
-
+ <b>Papers concerning the earlier versions of MathQL-1:</b>
<ul>
- <li>F. Guidi and I. Schena: <i>A Query Language for a Metadata
- Framework about Mathematical Resources</i>. In Proc. of the 2nd International
- Conference on Mathematical Knowledge Management (MKM 2003). Bertinoro,
-Italy, February 2003. LNCS 2594, pages 105-118, Springer. 2003.</li>
-
+ <li> F. Guidi and I. Schena: <i>A Query Language for a Metadata Framework
+about Mathematical Resources</i>. In Proc. of the 2nd International Conference
+on Mathematical Knowledge Management (MKM 2003). Bertinoro, Italy, February
+2003. LNCS 2594, pages 105-118, Springer. 2003.</li>
+
</ul>
-
+
<ul>
- <li>F. Guidi and I. Schena: <a
- href="http://www.cs.unibo.it/%7Efguidi/download/aql_s.ps"><i>Advancement
-on a Query Language for Metadata</i></a>. Presentation at MOWGLI Meeting
- July 2002. Eindhoven, the Netherlands.</li>
-
+ <li> F. Guidi and I. Schena: <i><a
+ href="http://www.cs.unibo.it/%7Efguidi/download/aql_s.ps">Advancement on
+a Query Language for Metadata</a></i>. Presentation at MOWGLI Meeting July
+2002. Eindhoven, the Netherlands.</li>
+
</ul>
-
+
<ul>
- <li>L. Natile: <a
- href="http://www.cs.unibo.it/%7Efguidi/download/tesi-natile.ps"><i>Tecnologie
-per l'Interrogazione di Basi Documentarie in Formato XML</i></a>. Master
-Thesis in Computer Science, University of Bologna, 2002.</li>
-
+ <li> L. Natile: <i><a
+ href="http://www.cs.unibo.it/%7Efguidi/download/tesi-natile.ps">Tecnologie
+per l'Interrogazione di Basi Documentarie in Formato XML</a></i>. Master Thesis
+in Computer Science, University of Bologna, 2002.</li>
+
</ul>
-
+
<ul>
- <li>A. Nediani: <a
- href="http://www.cs.unibo.it/%7Efguidi/download/tesi-nediani.zip"><i>Disegno
-e Implementazione di un'Interfaccia Web di Supporto ad Interrogazioni
-su Basi di Dati Documentarie</i></a>. Master Thesis in Computer Science,
-University of Bologna, 2003.</li>
-
+ <li> A. Nediani: <i><a
+ href="http://www.cs.unibo.it/%7Efguidi/download/tesi-nediani.zip">Disegno
+e Implementazione di un'Interfaccia Web di Supporto ad Interrogazioni su Basi
+di Dati Documentarie</a></i>. Master Thesis in Computer Science, University
+of Bologna, 2003.</li>
+
</ul>
-
+
<ul>
- <li>D. Lordi: <a
- href="http://www.cs.unibo.it/%7Efguidi/download/tesi-lordi.pdf"><i>Sperimentazione
-e Sviluppo di Strumenti per la gestione di metadati</i></a>. Master Thesis
-in Computer Science, University of Bologna, 2002.</li>
-
+ <li> D. Lordi: <i><a
+ href="http://www.cs.unibo.it/%7Efguidi/download/tesi-lordi.pdf">Sperimentazione
+e Sviluppo di Strumenti per la gestione di metadati</a></i>. Master Thesis
+in Computer Science, University of Bologna, 2002.</li>
+
</ul>
- <br>
- </td>
- </tr>
-
- </tbody>
+ </td>
+ </tr>
+
+ </tbody>
</table>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
<br>
- <br>
</body>
</html>
<html>
<head>
<title>MathQL</title>
-
+
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
-
+
<meta name="author" content="Ferruccio Guidi">
-
+
<meta name="description" content="MathQL Home Page">
</head>
<body>
-
+
<h1 align="center">MathQL-1</h1>
-
+
<h2 align="center">A query language for RDF metadata</h2>
-
+
<table cellpadding="10" cellspacing="2" border="0" width="95%"
bgcolor="#ffffff">
- <tbody>
- <tr>
- <td valign="top" align="left">
-
+ <tbody>
+ <tr>
+ <td valign="top" align="left">
+
<ul>
- <li><a href="index.html">Forward</a><br>
- </li>
-
+ <li><a href="index.html">Forward</a><br>
+ </li>
+
</ul>
-
+
<ul>
- <li>Features</li>
-
+ <li>Features</li>
+
</ul>
-
+
<ul>
- <li><a href="whatsnew.html">What's new</a></li>
-
+ <li><a href="whatsnew.html">What's new</a></li>
+
</ul>
-
+
<ul>
- <li><a href="documentation.html">Documentation</a></li>
-
+ <li><a href="documentation.html">Documentation</a></li>
+
</ul>
-
+
<ul>
- <li><a href="implementation.html">Implementation</a><br>
- </li>
-
+ <li><a href="implementation.html">Implementation</a><br>
+ </li>
+
</ul>
-
+
<ul>
- <li><a href="authors.html">The authors</a><br>
- </li>
-
+ <li><a href="authors.html">The authors</a><br>
+ </li>
+
</ul>
-
+
<ul>
- <li><a href="links.html">Links</a><br>
- </li>
-
+ <li><a href="links.html">Links</a><br>
+ </li>
+
</ul>
- <br>
- </td>
- <td valign="top">
+ <br>
+ </td>
+ <td valign="top">
+
<div align="right"><b>Goals and features</b><br>
- </div>
- <br>
- MathQL-1 is designed to achieve the following goals:<br>
-
+ </div>
+ <br>
+ MathQL-1 is designed to achieve the following goals:<br>
+
<ol>
- <li>Exploitation of <a href="http://www.w3.org/RDF/">RDF</a> technology
- to manage metadata and <b>compliance with the main requirements</b> for
-an RDF query language. In particular:</li>
-
+ <li>Exploitation of <a href="http://www.w3.org/RDF/">RDF</a> technology
+ to manage metadata and <b>compliance with the main requirements</b> for an
+ RDF query language. In particular:</li>
+
</ol>
-
- <blockquote>
+
+ <blockquote>
<ul>
- <li>MathQL-1 provides facilities for hierarchical constraints
-based on <a href="http://www.w3.org/TR/rdf-schema/">RDF Schema</a> and for
-traversal of compound values of properties.</li>
-
+ <li>MathQL-1 provides facilities for hierarchical constraints
+ based on <a href="http://www.w3.org/TR/rdf-schema/">RDF Schema</a> and for
+ traversal of compound values of properties.</li>
+
</ul>
-
+
<ul>
- <li>MathQL-1 provides a full set of Boolean operators to compose
- the query constraints and facilities for selecting URI's or literals by
-means of regular expressions.</li>
-
+ <li>MathQL-1 provides a full set of Boolean operators to compose
+ the query constraints and facilities for selecting URI's or literals by means
+ of regular expressions.</li>
+
</ul>
-
+
<ul>
- <li>MathQL-1 allows to customize the query results specifying
-what part of a solution should be preserved or discarded.</li>
-
+ <li>MathQL-1 allows to customize the query results specifying
+ what part of a solution should be preserved or discarded.</li>
+
</ul>
-
+
<ul>
- <li>MathQL-1 has a well-conceived semantics defined in term of
- an abstract metadata model, imposes that queries return exhaustive solutions
+ <li>MathQL-1 has a well-conceived semantics defined in term
+of an abstract metadata model, imposes that queries return exhaustive solutions
and includes a "select-from-where"-like construction.</li>
-
+
</ul>
-
+
<ul>
- <li>MathQL-1 supports a machine-processable <a
- href="http://www.w3.org/XML/">XML</a> syntax as well as a human-readable
+ <li>MathQL-1 supports a machine-processable <a
+ href="http://www.w3.org/XML/">XML</a> syntax as well as a human-readable
textual syntax to achieve the best usability.<br>
- </li>
-
+ </li>
+
</ul>
- </blockquote>
-
+ </blockquote>
+
<ol start="2">
- <li>Careful <b>treatment of query results</b> that are as important
+ <li>Careful <b>treatment of query results</b> that are as important
as the queries themselves. In particular:<br>
- </li>
-
+ </li>
+
</ol>
-
- <blockquote>
+
+ <blockquote>
<ul>
- <li>MathQL-1 query results have a 4-dimensional geometry whereas
- other languages assume that query results are returned in 1-dimensional
-structures (i.e. lists of resources) or 2-dimensional structures (i.e. relational
-database tables). This allows to get better outcomes from queries returning
-structured results.<br>
- </li>
-
+ <li>MathQL-1 query results have a 4-dimensional geometry whereas
+ other languages assume that query results are returned in 1-dimensional structures
+ (i.e. lists of resources) or 2-dimensional structures (i.e. relational database
+ tables). This allows to get better outcomes from queries returning structured
+ results.<br>
+ </li>
+
</ul>
-
+
<ul>
- <li>Besides the syntax for queries, MathQL-1 provides a syntax
+ <li>Besides the syntax for queries, MathQL-1 provides a syntax
for query results with its own rigorously defined semantics.<br>
- </li>
-
+ </li>
+
</ul>
- </blockquote>
-
+ </blockquote>
+
<ol start="3">
- <li>Exploitation of <b>constructions borrowed from programming
-languages</b> to allow sophisticated queries that need computation over
-the queried data. In particular:<br>
- </li>
-
+ <li>Exploitation of <b>constructions borrowed from programming
+languages</b> to allow sophisticated queries that need computation over the
+queried data. In particular:<br>
+ </li>
+
</ol>
-
- <blockquote>
+
+ <blockquote>
<ul>
- <li>MathQL-1 supports variables for storing intermediate query
- results, provides iterators over these results, has a conditional operator
+ <li>MathQL-1 supports variables for storing intermediate query
+ results, provides iterators over these results, has a conditional operator
and includes logging facilities for debugging purposes.</li>
-
+
</ul>
- </blockquote>
- </td>
- </tr>
-
- </tbody>
+ </blockquote>
+ </td>
+ </tr>
+
+ </tbody>
</table>
- <br>
- <br>
- <br>
+ <br>
</body>
</html>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
- <title>MathQL</title>
-
-
+
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
-
+
<meta name="author" content="Ferruccio Guidi">
-
+
<meta name="description" content="MathQL Home Page">
+
+ <meta name="GENERATOR"
+ content="Mozilla/4.77 [en] (X11; U; Linux 2.4.20-cs-p3 i686) [Netscape]">
+ <title>MathQL</title>
</head>
<body>
-
-<h1 align="center">MathQL-1</h1>
-
-<h2 align="center">A query language for RDF metadata</h2>
-
-<table cellpadding="10" cellspacing="2" border="0" width="95%"
+
+<center>
+<h1> MathQL-1</h1>
+ </center>
+
+<center>
+<h2> A query language for RDF metadata</h2>
+ </center>
+ <br>
+
+<table border="0" cellspacing="2" cellpadding="10" width="95%"
bgcolor="#ffffff">
- <tbody>
- <tr>
- <td valign="top" align="left">
-
+ <caption><br>
+ </caption><tbody>
+
+ </tbody> <tbody>
+ <tr>
+ <td align="left" valign="top">
<ul>
- <li><a href="index.html">Forward</a><br>
- </li>
-
-
+ <li> <a href="index.html">Forward</a></li>
+
</ul>
-
+
<ul>
- <li><a href="features.html">Features</a></li>
-
+ <li> <a href="features.html">Features</a></li>
+
</ul>
-
+
<ul>
- <li><a href="whatsnew.html">What's new</a></li>
-
+ <li> <a href="whatsnew.html">What's new</a></li>
+
</ul>
-
+
<ul>
- <li><a href="documentation.html">Documentation</a></li>
-
-
+ <li> <a href="documentation.html">Documentation</a></li>
+
</ul>
-
+
<ul>
- <li>Implementation<br>
- </li>
-
+ <li> Implementation</li>
+
</ul>
-
+
<ul>
- <li><a href="authors.html">The authors</a><br>
- </li>
-
-
+ <li> <a href="authors.html">The authors</a></li>
+
</ul>
-
+
<ul>
- <li><a href="links.html">Links</a><br>
- </li>
-
+ <li> <a href="links.html">Links</a></li>
+
</ul>
- <br>
- </td>
- <td valign="top">
-
- <div align="right"><b>Implementation</b><br>
- </div>
- <br>
- The <b>MathQL-1 Suite for HELM</b> is implemented in <a
- href="http://caml.inria.fr/">Caml</a> and is currently available through
+ </td>
+ <td valign="top">
+ <div align="right"><b>Implementation</b></div>
+
+ <p><br>
+ The <b>MathQL-1 Suite for HELM</b> is implemented in <a
+ href="http://caml.inria.fr/">Caml</a> and is currently available through
the <a href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/">HELM CVS repository</a>.
- The Suite provides the following software components: <br>
-
+The Suite provides the following software components: </p>
+
<ol>
- <li>The basic Caml package for MathQL-1 (<a
- href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/ocaml/mathql/">mathql</a>)
- provides a <a href="http://helm.cs.unibo.it/">HELM</a> independent Caml
-representation of queries and query results, plus some functions to convert
-this representation in text and XML and viceversa.</li>
-
+ <li> The basic Caml package for MathQL-1 (<a
+ href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/ocaml/mathql/">mathql</a>)
+ provides a <a href="http://helm.cs.unibo.it/">HELM</a> independent Caml
+representation of queries and query results, plus some general purpose utilities.</li>
+
</ol>
-
+
<ol start="2">
- <li>The MathQL-1 interpreter (<a
- href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/ocaml/mathql_interpreter/">mathql_interpreter</a>)
- is HELM dependent just in the implementation of the <i>property</i> 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.</li>
-
+ <li> The MathQL-1 interpreter (<a
+ href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/ocaml/mathql_interpreter/">mathql_interpreter</a>)
+provides the proper search engine and is now HELM independent.</li>
</ol>
-
<ol start="3">
- <li>The HELM query generator (<a
- href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/ocaml/mathql_generator/">mathql_generator</a>)
- 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 described at an abstract level in the following
- paper:</li>
-
+ <li>The HELM query generator (<a
+ href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/ocaml/mathql_generator/">mathql_generator</a>)
+ 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 described at an abstract level in the following
+ paper:</li>
+
</ol>
-
- <blockquote>
+
+ <blockquote>
<ul>
- <li>F. Guidi and C. Sacerdoti Coen: <i>Querying Distributed
- Digital Libraries of Mathematics</i>.<br>
- </li>
- will appear as research report of Laboratoire D'Informatique de Paris 6
+ <li> F. Guidi and C. Sacerdoti Coen: <i>Querying Distributed Digital Libraries
+ of Mathematics</i>. In Proc. of the 11th Symposium on the Integration of
+Symbolic Computation and Mechanized Reasoning (Calculemus 2003). Rome, Italy,
+September 2003. pages 17-30, Aracne. 2003.</li>
+
</ul>
- </blockquote>
-
+ </blockquote>
+
<ol start="4">
- <li>The testing software for the MathQL-1 Suite (<a
- href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/mathql_test/">mathql_test</a>)
- provides three textual interfaces (one for the basic package, one for
-the interpreter and one for the query generator) with specific features meant
- for testing.<br>
- </li>
-
+ <li> The testing software for the MathQL-1 Suite (<a
+ href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/mathql_test/">mathql_test</a>)
+ provides three textual interfaces (one for the basic package, one for the
+ interpreter and one for the query generator) with specific features meant
+ for testing.</li>
+
</ol>
- 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
+ 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 official <a href="documentation.html">documentation</a>
- yet, are reported in the <a href="whatsnew.html">What's new</a> section.<br>
- <br>
- The latest <a
- href="http://mowgli.cs.unibo.it:58085/getpage?url=index.html&preprocess=true&param.processorURL=http%3A//mowgli.cs.unibo.it%3A58080/&param.getterURL=http%3A//mowgli.cs.unibo.it%3A58081/&param.proofcheckerURL=http%3A//mowgli.cs.unibo.it%3A58084/&param.draw_graphURL=http%3A//mowgli.cs.unibo.it%3A58083/&param.uri_set_queueURL=http%3A//mowgli.cs.unibo.it%3A58082/&param.UNICODEvsSYMBOL=unicode&param.keys=d_c%2CC1%2CHC2%2CL&param.thkeys=T1%2CT2%2CL%2CE&param.embedkeys=d_c%2CTC1%2CHC2%2CL&param.doctype-public=-//W3C//DTD%20XHTML%201.0%20Transitional//EN&param.encoding=iso-8859-1&param.thencoding=iso-8859-1&param.media-type=text/html&param.thmedia-type=text/html&param.interfaceURL=http%3A//helm.cs.unibo.it/helm/html/cic/index.html&param.thinterfaceURL=http%3A//helm.cs.unibo.it/helm/html/theory/index.html&param.CICURI=dummy:query_result&param.naturalLanguage=yes&param.annotations=no&param.topurl=http://helm.cs.unibo.it/helm">HELM
- query engine</a> (enter <a
- href="http://mowgli.cs.unibo.it/forward/58085/getpage?url=index.html&preprocess=true&param.processorURL=http%3A//mowgli.cs.unibo.it/forward/58080/&param.getterURL=http%3A//mowgli.cs.unibo.it/forward/58081/&param.proofcheckerURL=http%3A//mowgli.cs.unibo.it/forward/58084/&param.draw_graphURL=http%3A//mowgli.cs.unibo.it/forward/58083/&param.uri_set_queueURL=http%3A//mowgli.cs.unibo.it/forward/58082/&param.UNICODEvsSYMBOL=unicode&param.keys=d_c%2CC1%2CHC2%2CL&param.thkeys=T1%2CT2%2CL%2CE&param.embedkeys=d_c%2CTC1%2CHC2%2CL&param.doctype-public=-//W3C//DTD%20XHTML%201.0%20Transitional//EN&param.encoding=iso-8859-1&param.thencoding=iso-8859-1&param.media-type=text/html&param.thmedia-type=text/html&param.interfaceURL=http%3A//helm.cs.unibo.it/helm/html/cic/index.html&param.thinterfaceURL=http%3A//helm.cs.unibo.it/helm/html/theory/index.html&param.CICURI=dummy:query_result&param.naturalLanguage=yes&param.annotations=no&param.topurl=http://helm.cs.unibo.it/helm">here</a>
-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.<br>
- <br>
- </td>
- </tr>
-
- </tbody>
+ yet, are reported in the <a href="whatsnew.html">What's new</a> section.
+
+ <p>The latest <a
+ href="http://mowgli.cs.unibo.it:58085/getpage?url=index.html&preprocess=true&param.processorURL=http%3A//mowgli.cs.unibo.it%3A58080/&param.getterURL=http%3A//mowgli.cs.unibo.it%3A58081/&param.proofcheckerURL=http%3A//mowgli.cs.unibo.it%3A58084/&param.draw_graphURL=http%3A//mowgli.cs.unibo.it%3A58083/&param.uri_set_queueURL=http%3A//mowgli.cs.unibo.it%3A58082/&param.UNICODEvsSYMBOL=unicode&param.keys=d_c%2CC1%2CHC2%2CL&param.thkeys=T1%2CT2%2CL%2CE&param.embedkeys=d_c%2CTC1%2CHC2%2CL&param.doctype-public=-//W3C//DTD%20XHTML%201.0%20Transitional//EN&param.encoding=iso-8859-1&param.thencoding=iso-8859-1&param.media-type=text/html&param.thmedia-type=text/html&param.interfaceURL=http%3A//helm.cs.unibo.it/helm/html/cic/index.html&param.thinterfaceURL=http%3A//helm.cs.unibo.it/helm/html/theory/index.html&param.CICURI=dummy:query_result&param.naturalLanguage=yes&param.annotations=no&param.topurl=http://helm.cs.unibo.it/helm">HELM
+ query engine</a> (enter <a
+ href="http://mowgli.cs.unibo.it/forward/58085/getpage?url=index.html&preprocess=true&param.processorURL=http%3A//mowgli.cs.unibo.it/forward/58080/&param.getterURL=http%3A//mowgli.cs.unibo.it/forward/58081/&param.proofcheckerURL=http%3A//mowgli.cs.unibo.it/forward/58084/&param.draw_graphURL=http%3A//mowgli.cs.unibo.it/forward/58083/&param.uri_set_queueURL=http%3A//mowgli.cs.unibo.it/forward/58082/&param.UNICODEvsSYMBOL=unicode&param.keys=d_c%2CC1%2CHC2%2CL&param.thkeys=T1%2CT2%2CL%2CE&param.embedkeys=d_c%2CTC1%2CHC2%2CL&param.doctype-public=-//W3C//DTD%20XHTML%201.0%20Transitional//EN&param.encoding=iso-8859-1&param.thencoding=iso-8859-1&param.media-type=text/html&param.thmedia-type=text/html&param.interfaceURL=http%3A//helm.cs.unibo.it/helm/html/cic/index.html&param.thinterfaceURL=http%3A//helm.cs.unibo.it/helm/html/theory/index.html&param.CICURI=dummy:query_result&param.naturalLanguage=yes&param.annotations=no&param.topurl=http://helm.cs.unibo.it/helm">here</a>
+ 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. <br>
+ </p>
+ </td>
+ </tr>
+
+ </tbody>
</table>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
<br>
- <br>
<br>
</body>
</html>
<head>
<title>MathQL</title>
-
+
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
-
+
+
<meta name="author" content="Ferruccio Guidi">
-
+
+
<meta name="description" content="MathQL Home Page">
</head>
<body>
-
+
<h1 align="center">MathQL-1</h1>
-
+
<h2 align="center">A query language for RDF metadata</h2>
-
+
<table cellpadding="10" cellspacing="2" border="0" width="95%"
bgcolor="#ffffff">
- <tbody>
- <tr>
- <td valign="top" align="left">
+ <tbody>
+ <tr>
+ <td valign="top" align="left">
-
+
<ul>
- <li>Forward<br>
- </li>
+ <li>Forward<br>
+ </li>
-
+
+
</ul>
-
+
<ul>
- <li><a href="features.html">Features</a></li>
+ <li><a href="features.html">Features</a></li>
-
+
</ul>
-
+
<ul>
- <li><a href="whatsnew.html">What's new</a></li>
-
+ <li><a href="whatsnew.html">What's new</a></li>
+
</ul>
-
+
<ul>
- <li><a href="documentation.html">Documentation</a></li>
+ <li><a href="documentation.html">Documentation</a></li>
-
+
+
</ul>
-
+
<ul>
- <li><a href="implementation.html">Implementation</a><br>
- </li>
+ <li><a href="implementation.html">Implementation</a><br>
+ </li>
-
+
</ul>
-
+
<ul>
- <li><a href="authors.html">The authors</a><br>
- </li>
+ <li><a href="authors.html">The authors</a><br>
+ </li>
-
+
+
</ul>
-
+
<ul>
- <li><a href="links.html">Links</a><br>
- </li>
+ <li><a href="links.html">Links</a><br>
+ </li>
-
+
</ul>
- <br>
- </td>
- <td valign="top">
-
+ <br>
+ </td>
+ <td valign="top">
+
+
<div align="right"><b>Forward</b><br>
- </div>
- <br>
- The MathQL proposal rises in the context of the <a
- href="http://helm.cs.unibo.it/">HELM project</a>, which aims at the development
-of a suitable technology for the creation and maintenance of a virtual,
-distributed, hypertextual library of structured mathematical knowledge
-based on <a href="http://www.w3.org/XML/">XML</a> technology, through the
- integration of the current proof assistants and logical frameworks with
-the most recent technologies for the development of Web applications and
-electronic publishing.<br>
- <br>
- The objective of the MathQL proposal is the development of a
-set of query languages enabling the retrieval of formalized mathematical
-Web resources on the basis of content-aware requests. The first of these
- languages, <b>MathQL-1</b>, is focused on querying an arbitrary
- <a href="http://www.w3.org/RDF/">RDF</a> database because RDF is
-the <a href="http://www.w3.org/">W3C</a> standard for describing
+ </div>
+ <br>
+ The MathQL proposal rises in the context of the <a
+ href="http://helm.cs.unibo.it/">HELM project</a>, which aims at the
+development of a suitable technology for the creation and maintenance
+of a virtual, distributed, hypertextual library of structured mathematical
+ knowledge based on <a href="http://www.w3.org/XML/">XML</a> technology,
+through the integration of the current proof assistants and logical frameworks
+with the most recent technologies for the development of Web applications
+and electronic publishing.<br>
+ <br>
+ The objective of the MathQL proposal is the development of
+ a set of query languages enabling the retrieval of formalized mathematical
+ Web resources on the basis of content-aware requests. The first of
+these languages, <b>MathQL-1</b>, is focused on querying an
+arbitrary <a href="http://www.w3.org/RDF/">RDF</a> database because
+RDF is the <a href="http://www.w3.org/">W3C</a> standard for describing
Web resources at the general-purpose content level.<br>
- <br>
- As an RDF query language, MathQL-1 provides the main features
- required by the RDF community while complying with the needs of HELM.
- The peculiar aspects of this language concern the query results, which
- are highly structured and possess their own syntax, formally explained
- by a rigorous semantics.<br>
+ <br>
+ As an RDF query language, MathQL-1 provides the main features
+ required by the RDF community while complying with the needs of HELM.
+ The peculiar aspects of this language concern the query results, which
+ are highly structured and possess their own syntax, formally explained
+ by a rigorous semantics.<br>
+ <br>
+ MathQL-1 is particularly helpful in distributed systems
+where query engines are implemented as stand-alone units, because
+in this situation the query results are exchanged between the system
+components as well as the queries, and thus both the queries and the
+query results need to be encoded in a clearly defined format.<br>
+ <br>
+ Other languages to be developed in the context of the MathQL proposal
+ will be suitable for queries about the semantic structure of mathematical
+ data: this will include content-based pattern-matching (MathQL-2) and
+possibly other forms of formal matching involving for instance isomorphism,
+unification and definitions expansion (MathQL-3).<br>
+ </td>
+ </tr>
+
+
+ </tbody>
+</table>
<br>
- MathQL-1 is particularly helpful in distributed systems where
- query engines are implemented as stand-alone units, because in this
-situation the query results are exchanged between the system components
-as well as the queries, and thus both the queries and the query results
-need to be encoded in a clearly defined format.<br>
<br>
- Other languages to be developed in the context of the MathQL proposal
- will be suitable for queries about the semantic structure of mathematical
- data: this will include content-based pattern-matching (MathQL-2) and possibly
- other forms of formal matching involving for instance isomorphism, unification
- and definitions expansion (MathQL-3).<br>
- </td>
- </tr>
-
- </tbody>
-</table>
- <br>
- <br>
-
+
<div align="center">This site is maintained by <a
- href="mailto://fguidi@cs.unibo.it">Ferruccio Guidi</a>, last update: July
-30, 2003.<br>
- <br>
- </div>
- <br>
- <br>
- <br>
- <br>
+ href="mailto://fguidi@cs.unibo.it">Ferruccio Guidi</a>, last update: November
+ 5, 2003.<br>
+ </div>
<br>
<br>
+
+<div align="center"><a href="http://www.anybrowser.org/campaign"><img
+ src="http://www.cs.unibo.it/%7Efguidi/download/globe-trans.png"
+ alt="Any Browswr" width="147" height="42" border="0">
+</a><a href="http://burnallgifs.org/"><img
+ src="http://www.cs.unibo.it/%7Efguidi/download/PNGnow2.png"
+ alt="PNG used here" width="119" height="42" border="0">
+</a><br>
+ <br>
+ </div>
+ <br>
</body>
</html>
<head>
<title>MathQL</title>
-
+
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
-
+
<meta name="author" content="Ferruccio Guidi">
-
+
<meta name="description" content="MathQL Home Page">
</head>
<body>
-
+
<h1 align="center">MathQL-1</h1>
-
+
<h2 align="center">A query language for RDF metadata</h2>
-
+
<table cellpadding="10" cellspacing="2" border="0" width="95%"
bgcolor="#ffffff">
- <tbody>
- <tr>
- <td valign="top" align="left">
-
+ <tbody>
+ <tr>
+ <td valign="top" align="left">
+
<ul>
- <li><a href="index.html">Forward</a><br>
- </li>
+ <li><a href="index.html">Forward</a><br>
+ </li>
-
+
</ul>
-
-
+
+
<ul>
- <li><a href="features.html">Features</a></li>
-
-
+ <li><a href="features.html">Features</a></li>
+
+
</ul>
-
-
+
+
<ul>
- <li><a href="whatsnew.html">What's new</a></li>
-
+ <li><a href="whatsnew.html">What's new</a></li>
+
</ul>
-
+
<ul>
- <li><a href="documentation.html">Documentation</a></li>
+ <li><a href="documentation.html">Documentation</a></li>
-
+
</ul>
-
+
+
<ul>
- <li><a href="implementation.html">Implementation</a><br>
- </li>
-
+ <li><a href="implementation.html">Implementation</a><br>
+ </li>
+
+
</ul>
-
+
+
<ul>
- <li><a href="authors.html">The authors</a><br>
- </li>
+ <li><a href="authors.html">The authors</a><br>
+ </li>
-
+
</ul>
-
+
+
<ul>
- <li>Links<br>
- </li>
-
+ <li>Links<br>
+ </li>
+
+
</ul>
- <br>
- </td>
- <td valign="top">
-
+ <br>
+ </td>
+ <td valign="top">
+
<div align="right"><b>Links</b><br>
- </div>
-
+ </div>
+
<ul>
- <li><a href="http://helm.cs.unibo.it/">HELM</a> Project homepage,
- <a href="http://mowgli.cs.unibo.it/">MOWGLI</a> Project homepage</li>
-
+ <li><a href="http://helm.cs.unibo.it/">HELM</a> Project homepage,
+ <a href="http://mowgli.cs.unibo.it/">MOWGLI</a> Project homepage</li>
+
</ul>
-
+
<ul>
- <li>W3C <a href="http://www.w3.org/XML/">XML</a> resources,
- W3C <a href="http://www.w3c.org/RDF/">RDF</a> resources</li>
-
+ <li>W3C <a href="http://www.w3.org/XML/">XML</a> resources,
+ W3C <a href="http://www.w3c.org/RDF/">RDF</a> resources</li>
+
</ul>
-
+
<ul>
- <li>Some RDF query languages having a homepage</li>
-
- </ul>
+ <li>Some RDF query languages having a homepage</li>
+ </ul>
+
<blockquote><a href="http://www.daml.org/">DAML+OIL</a> <a
href="http://guha.com/rdfdb/">rdfDB</a> <a
href="http://logicerror.com/RDFPath">RDFPath</a> <a
href="http://triple.semanticweb.org/">TRIPLE</a> <a
href="http://swordfish.rdfweb.org/rdfquery/">SquishQL</a> <a
href="http://kr.cs.ait.ac.th/XDD/">XDD</a><br>
- </blockquote>
-
- <blockquote>The developers wishing to have their RDF query language
+ </blockquote>
+
+ <blockquote>The developers wishing to have their RDF query language
listed here may contact the <a href="authors.html">authors</a>.<br>
- </blockquote>
- </td>
- </tr>
-
- </tbody>
+ </blockquote>
+ </td>
+ </tr>
+
+ </tbody>
</table>
- <br>
- <br>
- <br>
- <br>
+ <br>
</body>
</html>
<head>
<title>MathQL</title>
-
+
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
-
+
<meta name="author" content="Ferruccio Guidi">
-
+
<meta name="description" content="MathQL Home Page">
</head>
<body>
-
+
<h1 align="center">MathQL-1</h1>
-
-<h2 align="center">A query language for RDF metadata</h2>
+<h2 align="center">A query language for RDF metadata</h2>
+
<table cellpadding="10" cellspacing="2" border="0" width="95%"
bgcolor="#ffffff">
- <tbody>
- <tr>
- <td valign="top" align="left">
-
+ <tbody>
+ <tr>
+ <td valign="top" align="left">
+
+
<ul>
- <li><a href="index.html">Forward</a><br>
- </li>
+ <li><a href="index.html">Forward</a><br>
+ </li>
-
+
</ul>
-
-
+
+
<ul>
- <li><a href="features.html">Features</a></li>
-
+ <li><a href="features.html">Features</a></li>
+
</ul>
-
+
<ul>
- <li>What's new<br>
- </li>
-
-
+ <li>What's new<br>
+ </li>
+
+
</ul>
-
-
- <ul>
- <li><a href="documentation.html">Documentation</a></li>
+ <ul>
+ <li><a href="documentation.html">Documentation</a></li>
+
+
</ul>
-
+
+
<ul>
- <li><a href="implementation.html">Implementation</a><br>
- </li>
-
+ <li><a href="implementation.html">Implementation</a><br>
+ </li>
+
+
</ul>
-
+
+
<ul>
- <li><a href="authors.html">The authors</a><br>
- </li>
+ <li><a href="authors.html">The authors</a><br>
+ </li>
-
+
</ul>
-
+
+
<ul>
- <li><a href="links.html">Links</a><br>
- </li>
-
+ <li><a href="links.html">Links</a><br>
+ </li>
+
+
</ul>
- <br>
- </td>
- <td valign="top">
-
+ <br>
+ </td>
+ <td valign="top">
+
<div align="right"><b>What's new</b><br>
- <br>
- </div>
- This page reports the newly <a href="implementation.html">implemented</a>
- features of MathQL-1 that are not included in the official <a
+ <br>
+ </div>
+ This page reports the newly <a href="implementation.html">implemented</a>
+ features of MathQL-1 that are not included in the official <a
href="documentation.html">documentation</a> yet.<br>
- <br>
- <hr width="100%" size="2">
- <div align="center">
- <h3> Changes and additions to MathQL-1 operators:</h3>
- </div>
+ <br>
+ <hr width="100%" size="2"><br>
+ <h3 align="center"><img
+ src="http://www.cs.unibo.it/%7Efguidi/download/bbb11.png" alt="New"
+ width="38" height="37" align="top">
+ MathQL-1 version 4 now under development ...</h3>
+We are now implementing the new unstable version of MathQL-1 (i.e. MathQL-1.4).
+The main goals of this release are:<br>
<ul>
- <li>The <b>add</b> operator now accepts a syntax extension allowing
- to specify more than one explicit attribute group.</li>
-
+ <li>A clear distinction between the core language and the auxiliary
+functions, which should be part of an extensible library.<br>
+ </li>
</ul>
-
+ <ul>
+ <li>The elimination of the explicit casts between the <query>
+and <value> types in queries.<br>
+ </li>
+ </ul>
+ <ul>
+ <li>A tight connection with a query generator (i.e <a
+ href="implementation.html">HELM query generator</a>).<br>
+ </li>
+ </ul>
+ <hr width="100%" size="2">
+ <div align="center">
+ <h3>Changes and additions to MathQL-1 operators:</h3>
+ </div>
+
+ <ul>
+ <li>The <b>add</b> operator now accepts a syntax extension allowing
+ to specify more than one explicit attribute group.</li>
+
+ </ul>
+
<blockquote>The syntax now is:</blockquote>
-
+
<blockquote><query> := "add" [ "distr" ]? [ <groups> |
<avar> ] "in" <query><br>
- <groups> := <group> [ ";" <group> ]*<br>
- <group> := <attribute> [ "," <attribute> ]*<br>
- <attribute> := <value> "as" <path><br>
- <br>
- Examples:<br>
- the query <b>add "1" as "a", "2" as "b" in subj "A"</b> gives the result
- <b>"A" attr {"a"="1"; "b"="2"}</b> while<br>
- the query <b>add "1" as "a"; "2" as "b" in subj "A"</b> gives the result
- <b>"A" attr {"a"="1"}, {"b"="2"}</b>.<br>
- </blockquote>
-
+ <groups> := <group> [ ";" <group> ]*<br>
+ <group> := <attribute> [ "," <attribute> ]*<br>
+ <attribute> := <value> "as" <path><br>
+ <br>
+ Examples:<br>
+ the query <b>add "1" as "a", "2" as "b" in subj "A"</b> gives the result
+ <b>"A" attr {"a"="1"; "b"="2"}</b> while<br>
+ the query <b>add "1" as "a"; "2" as "b" in subj "A"</b> gives the result
+ <b>"A" attr {"a"="1"}, {"b"="2"}</b>.<br>
+ </blockquote>
+
<ul>
- <li>The new <b>align</b> operator takes an integer <i>i</i> (represented
- as a string), a multiple string value <i>v</i> and returns the same <i>v</i>
- where each string with length <i>n < i</i> is prefixed with <i>i - n</i>
- spaces. The syntax of the add operator is:</li>
-
+ <li>The new <b>align</b> operator takes an integer <i>i</i> (represented
+ as a string), a multiple string value <i>v</i> and returns the same <i>v</i>
+ where each string with length <i>n < i</i> is prefixed with <i>i - n</i>
+ spaces. The syntax of the add operator is:</li>
+
</ul>
-
+
<blockquote><value> := "align" <string> "in" <value><br>
- <br>
- This operators aligns strings containing numbers so that their alphabetic
- order agrees with their numeric order.<br>
- </blockquote>
-
+ <br>
+ This operators aligns strings containing numbers so that their alphabetic
+ order agrees with their numeric order.<br>
+ </blockquote>
+
<ul>
- <li>The <b>intersect</b> operator now intersects the attribute
-groups of the matching subject strings set-theoretically rather than making
-their "Cartesian product". This semantics reduces the computational costs
-and makes intersection the dual of union.</li>
-
+ <li>The <b>intersect</b> operator now intersects the attribute
+ groups of the matching subject strings set-theoretically rather than making
+ their "Cartesian product". This semantics reduces the computational costs
+ and makes intersection the dual of union.</li>
+
</ul>
-
+
<ul>
- <li>The <b>property</b> operator now accepts more than one <b>isfalse</b>
- clause to increase the complexity of the constraint condition used to filter
- the raw query results. This feature is exploited in the queries produced
-by the <a href="implementation.html">HELM query generator</a>.</li>
-
+ <li>The <b>property</b> operator now accepts more than one <b>isfalse</b>
+ clause to increase the complexity of the constraint condition used to filter
+ the raw query results. This feature is exploited in the queries produced
+ by the <a href="implementation.html">HELM query generator</a>.</li>
+
</ul>
- <br>
- <hr width="100%" size="2">
- <div align="center">
+ <br>
+
+ <hr width="100%" size="2">
+ <div align="center">
<h3>The PostgreSQL database map:</h3>
- </div>
-The <b>PostgreSQL database map</b> is a file describing how the MathQL-1
-interpreter must interact with the underlying PostgreSQL database, when it
-is run in Postgres mode. Currently this file contains the following information:<br>
+ </div>
+ The <b>PostgreSQL database map</b> is a file describing how the MathQL-1
+ interpreter must interact with the underlying PostgreSQL database, when
+it is run in Postgres mode. Currently this file contains the following information:<br>
+
<ul>
- <li>the <i>database connection string</i> to be used when the interpreter
-opens a connection with the database;</li>
+ <li>the <i>database connection string</i> to be used when the interpreter
+ opens a connection with the database;</li>
+
</ul>
+
<ul>
- <li>the <i>map</i> describing the correspondence between the metadata
-access paths used by the <i>property</i> operator and the fields of the database
-tables.</li>
+ <li>the <i>map</i> describing the correspondence between the metadata
+ access paths used by the <i>property</i> operator and the fields of the
+database tables.</li>
+
</ul>
-The format of the file is textual and line oriented, but a corresponding
-XML syntax will be provided soon.<br>
-The first line must contain the database connection string and the subsequent
-lines contain the map with the following syntax:<br>
+ The format of the file is textual and line oriented, but a corresponding
+ XML syntax will be provided soon.<br>
+ The first line must contain the database connection string and the subsequent
+ lines contain the map with the following syntax:<br>
+
<ul>
- <li>blank lines: ignored (used for separation);</li>
+ <li>blank lines: ignored (used for separation);</li>
+
</ul>
+
<ul>
- <li>lines starting with a # followed by a space: ignored (used for
-comments);<br>
- </li>
+ <li>lines starting with a # followed by a space: ignored (used
+for comments);<br>
+ </li>
+
</ul>
+
<ul>
- <li><table_name> <field_name> "<-"
-[ <path_component> ]*<br>
- </li>
+ <li><table_name> <field_name> "<-"
+ [ <path_component> ]*<br>
+ </li>
+
</ul>
+
<blockquote>the information about the metadata denoted by the given
-path is found in the given field of the given table in the database. For
+ path is found in the given field of the given table in the database. For
example the line:<br>
- <br>
-refobj h_occurrence <- refObj h:occurrence<br>
- <br>
-tells that the metadata denoted by the path <b>/"refObj"/"h:occurrence"</b>
-is found in the field "h_occurrence" of the table "refobj" in the database,
-while:<br>
- <br>
-refobj source <-<br>
- <br>
-tells that the metadata denoted by the path <b>/</b> is found in the field
-"source" of the table "refobj" in the database;<br>
- </blockquote>
+ <br>
+ refobj h_occurrence <- refObj h:occurrence<br>
+ <br>
+ tells that the metadata denoted by the path <b>/"refObj"/"h:occurrence"</b>
+ is found in the field "h_occurrence" of the table "refobj" in the database,
+ while:<br>
+ <br>
+ refobj source <-<br>
+ <br>
+ tells that the metadata denoted by the path <b>/</b> is found in the field
+ "source" of the table "refobj" in the database;<br>
+ </blockquote>
+
<ul>
- <li><table_name> <field_name> "<+"
-[ <path_component> ]*<br>
- </li>
+ <li><table_name> <field_name> "<+"
+ [ <path_component> ]*<br>
+ </li>
+
</ul>
+
<blockquote>same as the previous but defines a default table and field
-for the given path. This is used to force the interpreter to query a particular
-table when the information denoted by a path can be found in more than one
-table and field. For example:<br>
- <br>
-objectname source <+<br>
-refobj source <-<br>
-refrel source <-<br>
-refsort source <-<br>
- <br>
-tells that the metadata denoted by the path <b>/</b> is found in the "source"
-field of the "objectname", "refobj", "refrel" and "refsort" tables, and that
-the first choice is preferred;<br>
- </blockquote>
+ for the given path. This is used to force the interpreter to query a particular
+ table when the information denoted by a path can be found in more than one
+ table and field. For example:<br>
+ <br>
+ objectname source <+<br>
+ refobj source <-<br>
+ refrel source
+<-<br>
+ refsort source <-<br>
+ <br>
+ tells that the metadata denoted by the path <b>/</b> is found in the "source"
+ field of the "objectname", "refobj", "refrel" and "refsort" tables, and
+that the first choice is preferred;<br>
+ </blockquote>
+
<ul>
- <li><table_name> "<-" [ <path_component> ]*</li>
+ <li><table_name> "<-" [ <path_component> ]*</li>
+
</ul>
+
<blockquote>the given path denotes a structured metadata whose components
-are found in the fields of the given table. For example:<br>
- <br>
-refobj <- refObj<br>
- <br>
-tells that the path <b>/"refObj"</b> denotes a structured metadata whose
-components are found in the fields of the table "refobj"; <br>
- </blockquote>
+ are found in the fields of the given table. For example:<br>
+ <br>
+ refobj <- refObj<br>
+ <br>
+ tells that the path <b>/"refObj"</b> denotes a structured metadata whose
+ components are found in the fields of the table "refobj"; <br>
+ </blockquote>
+
<ul>
- <li><table_name> "<+" [ <path_component> ]*</li>
+ <li><table_name> "<+" [ <path_component> ]*</li>
+
</ul>
+
<blockquote>same as the previous but tells that this is a default correspondence;
- <br>
- </blockquote>
+ <br>
+ </blockquote>
+
<ul>
- <li><virtual_table_name> "->" <concrete_table_name></li>
+ <li><virtual_table_name> "->" <concrete_table_name></li>
+
</ul>
+
<blockquote>defines a correspondence between a virtual table name an
-a concrete table name. All the <table_name> entries represent virtual
-table names that are mapped to concrete table names using the identity function
-unless a particular mapping is defined for them using the above construction.
-This mechanism allows to define several set of metadata on the same database
-table as in:<br>
- <br>
-refobj source
- <-<br>
-refobj h_occurrence <-
- refObj h:occurrence<br>
-backpointer source
- <- backPointer h:occurrence<br>
-backpointer h_occurrence <-<br>
-backpointer
- -> refobj<br>
- </blockquote>
+ a concrete table name. All the <table_name> entries represent virtual
+ table names that are mapped to concrete table names using the identity function
+ unless a particular mapping is defined for them using the above construction.
+ This mechanism allows to define several set of metadata on the same database
+ table as in:<br>
+ <br>
+ refobj source
+ <-<br>
+ refobj h_occurrence <-
+ refObj h:occurrence<br>
+ backpointer source
+ <- backPointer h:occurrence<br>
+ backpointer h_occurrence <-<br>
+ backpointer
+ -> refobj<br>
+ </blockquote>
+
<blockquote>which defines four path accessing two virtual tables ("refobj"
-and "backpointer") and then maps these tables in a single concrete table;<br>
- </blockquote>
+ and "backpointer") and then maps these tables in a single concrete table;<br>
+ </blockquote>
+
<ul>
- <li>"->" <br>
- </li>
+ <li>"->" <br>
+ </li>
+
</ul>
+
<blockquote>a line like this must end the map file. <br>
- </blockquote>
-Here you can find the <a
+ </blockquote>
+ Here you can find the <a
href="http://www.cs.unibo.it/cgi-bin/cvsweb/helm/mathql_db_map.txt">current
-version of PostgreSQL database map for HELM</a>.<br>
- <br>
- <b>How does the interpreter use the map?</b> The map file is read during
-the interpreter initialization process from the file pointed by the MATHQL_DB_MAP
-environment variable and is used during the execution of each <i>property</i>
-operation in the issued queries.When executing a <i>property</i> operation,
-the interpreter uses the map to find the smallest set of database tables
-containing the information required by the given access paths and then queries
-these tables to obtain the wanted information. <br>
- </td>
- </tr>
-
- </tbody>
+ version of PostgreSQL database map for HELM</a>.<br>
+ <br>
+ <b>How does the interpreter use the map?</b> The map file is read
+during the interpreter initialization process from the file pointed by the
+MATHQL_DB_MAP environment variable and is used during the execution of each
+ <i>property</i> operation in the issued queries.When executing a <i>property</i>
+operation, the interpreter uses the map to find the smallest set of database
+tables containing the information required by the given access paths and then
+queries these tables to obtain the wanted information. <br>
+ </td>
+ </tr>
+
+ </tbody>
</table>
- <br>
+ <br>
+ <br>
</body>
</html>