From a8c8b4a032d7947b5f46271d10af2f9b648ac35a Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Wed, 5 Nov 2003 17:33:55 +0000 Subject: [PATCH] updated to version 4 --- helm/mathql/homepage/authors.html | 138 +++---- helm/mathql/homepage/documentation.html | 242 ++++++------- helm/mathql/homepage/features.html | 213 ++++++----- helm/mathql/homepage/implementation.html | 220 ++++++------ helm/mathql/homepage/index.html | 187 +++++----- helm/mathql/homepage/links.html | 134 +++---- helm/mathql/homepage/whatsnew.html | 437 +++++++++++++---------- 7 files changed, 809 insertions(+), 762 deletions(-) diff --git a/helm/mathql/homepage/authors.html b/helm/mathql/homepage/authors.html index 222216cdb..7ed38d33f 100644 --- a/helm/mathql/homepage/authors.html +++ b/helm/mathql/homepage/authors.html @@ -2,103 +2,103 @@ MathQL - + - + - + - +

MathQL-1

- +

A query language for RDF metadata

- + - - - + + - + - - - +
+ Contacts:fguidi@cs.unibo.it, + schena@cs.unibo.it.
+ + + +
- +
+ - + - + - + - + - +
    -
  • The authors
    -
  • - +
  • The authors
    +
  • + +
- + -
-
- +
+
+
The authors
-
-
- MathQL-1is developed by +
+ MathQL-1is developed by
Ferruccio Guidi and Irene Schena at the Department of Computer Science of the - University of Bologna since April - 2002.
-
- Ferruccio Guidi 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 HELM Working Group and -of the "Paulus Venetus" -Research Group in Logic.
-
- Irene Schena 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 - HELM Working Group and of the + href="http://www.cs.unibo.it/">Department of Computer Science of the + University of Bologna since April + 2002.
+
+ Ferruccio Guidi 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 HELM Working Group and of +the "Paulus Venetus" Research +Group in Logic.
+
+ Irene Schena 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 + HELM Working Group and of the W3C Math Working Group.
-
- Contacts: fguidi@cs.unibo.it, - schena@cs.unibo.it.
-
-
-
-
-
+
diff --git a/helm/mathql/homepage/documentation.html b/helm/mathql/homepage/documentation.html index 67bb704a4..ecdd963b7 100644 --- a/helm/mathql/homepage/documentation.html +++ b/helm/mathql/homepage/documentation.html @@ -1,170 +1,156 @@ - + - MathQL - - + + + - + - + + + + MathQL - -

MathQL-1

- -

A query language for RDF metadata

- - +

MathQL-1

+ + +
+

A query language for RDF metadata

+
+
+
- - - + + + + + - - - - + + + +
- +

+
+ - - + - - + - + - - + - - + - - + +
Documentation
+ +


+All available information about MathQL-1 can be found in the papers below +(listed in order of relevance).
+The newest features of MathQL-1, which are not included in this documentation, +are reported in the What's new section.

+

Papers concerning the developement version of MathQL-1:

-
-
- -
Documentation
-
-
- All available information about MathQL-1 can be found in the papers - below (listed in order of relevance).
- The newest features of MathQL-1, which are not included in this documentation, - are reported in the What's new section.
-
-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. -
- Papers concerning the latest version of MathQL-1:
- + Papers concerning the latest stable version of MathQL-1: - + - Papers concerning the earlier versions of MathQL-1:
- + Papers concerning the earlier versions of MathQL-1:
    -
  • F. Guidi and I. Schena: A Query Language for a Metadata - Framework about Mathematical Resources. In Proc. of the 2nd International - Conference on Mathematical Knowledge Management (MKM 2003). Bertinoro, -Italy, February 2003. LNCS 2594, pages 105-118, Springer. 2003.
  • - +
  • F. Guidi and I. Schena: A Query Language for a Metadata Framework +about Mathematical Resources. In Proc. of the 2nd International Conference +on Mathematical Knowledge Management (MKM 2003). Bertinoro, Italy, February +2003. LNCS 2594, pages 105-118, Springer. 2003.
  • +
- + - + - + - + -
-
-
-
-
-
-
-

-
diff --git a/helm/mathql/homepage/features.html b/helm/mathql/homepage/features.html index 46701166a..ae5333f29 100644 --- a/helm/mathql/homepage/features.html +++ b/helm/mathql/homepage/features.html @@ -2,165 +2,164 @@ MathQL - + - + - + - +

MathQL-1

- +

A query language for RDF metadata

- + - - - + + - + - - - + + + + +
- +
+ - +
    -
  • Features
  • - +
  • Features
  • +
- + - + - + - + - + -
-
+
+
+
Goals  and features
-
-
- MathQL-1 is designed to achieve the following goals:
- + +
+ MathQL-1 is designed to achieve the following goals:
+
    -
  1. Exploitation of RDF technology - to manage metadata and compliance with the main requirements for -an RDF query language. In particular:
  2. - +
  3. Exploitation of RDF technology + to manage metadata and compliance with the main requirements for an + RDF query language. In particular:
  4. +
- -
+ +
    -
  • MathQL-1 provides facilities for hierarchical constraints -based on RDF Schema and for -traversal of compound values of properties.
  • - +
  • MathQL-1 provides facilities for hierarchical constraints + based on RDF Schema and for + traversal of compound values of properties.
  • +
- +
    -
  • 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.
  • - +
  • 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.
  • +
- +
    -
  • MathQL-1 allows to customize the query results specifying -what part of a solution should be preserved or discarded.
  • - +
  • MathQL-1 allows to customize the query results specifying + what part of a solution should be preserved or discarded.
  • +
- +
    -
  • MathQL-1 has a well-conceived semantics defined in term of - an abstract metadata model, imposes that queries return exhaustive solutions +
  • 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.
  • - +
- +
    -
  • MathQL-1 supports a machine-processable XML syntax as well as a human-readable +
  • MathQL-1 supports a machine-processable XML syntax as well as a human-readable textual syntax to achieve the best usability.
    -
  • - + +
-
- +
+
    -
  1. Careful treatment of query results that are as important +
  2. Careful treatment of query results that are as important as the queries themselves. In particular:
    -
  3. - + +
- -
+ +
    -
  • 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.
    -
  • - +
  • 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.
    +
  • +
- +
    -
  • Besides the syntax for queries, MathQL-1 provides a syntax +
  • Besides the syntax for queries, MathQL-1 provides a syntax for query results with its own rigorously defined semantics.
    -
  • - + +
-
- +
+
    -
  1. Exploitation of constructions borrowed from programming -languages to allow sophisticated queries that need computation over -the queried data. In particular:
    -
  2. - +
  3. Exploitation of constructions borrowed from programming +languages to allow sophisticated queries that need computation over the +queried data. In particular:
    +
  4. +
- -
+ +
    -
  • MathQL-1 supports variables for storing intermediate query - results, provides iterators over these results, has a conditional operator +
  • 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.
  • - +
-
-
-
-
-
+
diff --git a/helm/mathql/homepage/implementation.html b/helm/mathql/homepage/implementation.html index 286a5dbbc..fa268005b 100644 --- a/helm/mathql/homepage/implementation.html +++ b/helm/mathql/homepage/implementation.html @@ -1,156 +1,144 @@ - + - MathQL - - + + + - + - + + + + MathQL - -

MathQL-1

- -

A query language for RDF metadata

- - +

MathQL-1

+ + +
+

A query language for RDF metadata

+
+
+ +
- - - + + + + - + - - - + 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.
+  

+ + + +
- +

+
- + - + - + - +
    -
  • Implementation
    -
  • - +
  • Implementation
  • +
- + - + -
-
- -
Implementation
-
-  
- The MathQL-1 Suite for HELM is implemented in Caml and is currently available through +
+
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:
- +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.
  2. - +
  3. The basic Caml package for MathQL-1 (mathql) + provides a HELM independent Caml +representation of queries and query results, plus some general purpose utilities.
  4. +
- +
    -
  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.
  2. - +
  3. The MathQL-1 interpreter (mathql_interpreter) +provides the proper search engine and is now HELM independent.
-
    -
  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 described at an abstract level in the following - paper:
  2. - +
  3. 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 described at an abstract level in the following + paper:
  4. +
- -
+ +
    -
  • F. Guidi and C. Sacerdoti Coen: Querying Distributed - Digital Libraries of Mathematics.
    -
  • - will appear as research report of Laboratoire D'Informatique de Paris 6 +
  • F. Guidi and C. Sacerdoti Coen: Querying Distributed Digital Libraries + of Mathematics. 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.
  • +
-
- +
+
    -
  1. The testing software for the MathQL-1 Suite (mathql_test) - 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.
    -
  2. - +
  3. The testing software for the MathQL-1 Suite (mathql_test) + 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.
  4. +
- 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 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.
-
-
-
-
-
-
-
-
-
-

-

diff --git a/helm/mathql/homepage/index.html b/helm/mathql/homepage/index.html index 93d7ec177..246e1734e 100644 --- a/helm/mathql/homepage/index.html +++ b/helm/mathql/homepage/index.html @@ -3,135 +3,148 @@ MathQL - + - + + - + + - +

MathQL-1

- +

A query language for RDF metadata

- + - - - + + - + + + + + +
+
- +
    -
  • Forward
    -
  • +
  • Forward
    +
  • - + +
- + - + - + - + - + - + -
-
- +
+
+ +
Forward
-
-
- The MathQL proposal rises in the context of the HELM project, 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 XML 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.
-
- 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, MathQL-1, is focused on querying an arbitrary - RDF database because RDF is -the W3C standard for describing + +
+ The MathQL proposal rises in the context of the HELM project, 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 XML 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.
+
+ 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, MathQL-1, is focused on querying an +arbitrary RDF database because +RDF is the W3C standard for describing Web resources at the general-purpose content level.
-
- 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.
+
+ 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.
+
+ 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.
+
+ 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).
+

- 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.

- 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).
- - - - - -
-
- +
This site is maintained by Ferruccio Guidi, last update: July -30, 2003.
-
-
-
-
-
-
+ href="mailto://fguidi@cs.unibo.it">Ferruccio Guidi, last update: November + 5, 2003.
+

+ +
Any Browswr +PNG used here +
+
+
+
diff --git a/helm/mathql/homepage/links.html b/helm/mathql/homepage/links.html index 878c68174..ec8c4f218 100644 --- a/helm/mathql/homepage/links.html +++ b/helm/mathql/homepage/links.html @@ -3,94 +3,99 @@ MathQL - + - + - + - +

MathQL-1

- +

A query language for RDF metadata

- + - - - + + - + - - - + + + + +
- +
+ - - + + - - + + - + - + + - + + - + +
    -
  • Links
    -
  • - +
  • Links
    +
  • + +
-
-
- +
+
+
Links
-
- + +
    -
  • HELM Project homepage, -   MOWGLI Project homepage
  • - +
  • HELM Project homepage, +   MOWGLI Project homepage
  • +
- +
    -
  • W3C XML resources,   - W3C RDF resources
  • - +
  • W3C XML resources,   + W3C RDF resources
  • +
- +
    -
  • Some RDF query languages having a homepage
  • - -
+
  • Some RDF query languages having a homepage
  • + +
    DAML+OIL   rdfDB   RDFPath   TRIPLE   SquishQL   XDD
    -
    - -
    The developers wishing to have their RDF query language +
    + +
    The developers wishing to have their RDF query language listed here may contact the authors.
    -
    -
    -
    -
    -
    -
    +
    diff --git a/helm/mathql/homepage/whatsnew.html b/helm/mathql/homepage/whatsnew.html index e00096b64..1a15631ba 100644 --- a/helm/mathql/homepage/whatsnew.html +++ b/helm/mathql/homepage/whatsnew.html @@ -3,267 +3,326 @@ MathQL - + - + - + - +

    MathQL-1

    - -

    A query language for RDF metadata

    +

    A query language for RDF metadata

    + - - - + + - + - - - + version of PostgreSQL database map for HELM.
    +
    + How does the interpreter use the map? 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 + property operation in the issued queries.When executing a property +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.
    + + + +
    - +
    + + - - + + - +
      -
    • What's new
      -
    • - - +
    • What's new
      +
    • + +
    - - -
    - +
    +
    +
    What's new
    -
    -
    - This page reports the newly implemented - features of MathQL-1 that are not included in the official + + This page reports the newly implemented + features of MathQL-1 that are not included in the official documentation yet.
    -
    -
    -
    -

    Changes and additions to MathQL-1 operators:

    -
    +
    +

    +

    New +  MathQL-1 version 4 now under development ...

    +We are now implementing the new unstable version of MathQL-1 (i.e. MathQL-1.4). +The main goals of this release are:
      -
    • The add operator now accepts a syntax extension allowing - to specify more than one explicit attribute group.
    • - +
    • A clear distinction between the core language and the auxiliary +functions, which should be part of an extensible library.
      +
    - +
      +
    • The elimination of the explicit casts between the <query> +and <value> types in queries.
      +
    • +
    + +
    +
    +

    Changes and additions to MathQL-1 operators:

    +
    + +
      +
    • The add operator now accepts a syntax extension allowing + to specify more than one explicit attribute group.
    • + +
    +
    The syntax now is:
    - +
    <query> := "add" [ "distr" ]? [ <groups> | <avar> ] "in" <query>
    - <groups> := <group> [ ";" <group> ]*
    - <group> := <attribute> [ "," <attribute> ]*
    - <attribute> := <value> "as" <path>
    -
    - Examples:
    - the query add "1" as "a", "2" as "b" in subj "A" gives the result - "A" attr {"a"="1"; "b"="2"} while
    - the query add "1" as "a"; "2" as "b" in subj "A" gives the result - "A" attr {"a"="1"}, {"b"="2"}.
    -
    - + <groups> := <group> [ ";" <group> ]*
    + <group> := <attribute> [ "," <attribute> ]*
    + <attribute> := <value> "as" <path>
    +
    + Examples:
    + the query add "1" as "a", "2" as "b" in subj "A" gives the result + "A" attr {"a"="1"; "b"="2"} while
    + the query add "1" as "a"; "2" as "b" in subj "A" gives the result + "A" attr {"a"="1"}, {"b"="2"}.
    + +
      -
    • The new align operator takes an integer i (represented - as a string), a multiple string value v and returns the same v - where each string with length n < i is prefixed with i - n - spaces. The syntax of the add operator is:
    • - +
    • The new align operator takes an integer i (represented + as a string), a multiple string value v and returns the same v + where each string with length n < i is prefixed with i - n + spaces. The syntax of the add operator is:
    • +
    - +
    <value> := "align" <string> "in" <value>
    -
    - This operators aligns strings containing numbers so that their alphabetic - order agrees with their numeric order.
    -
    - +
    + This operators aligns strings containing numbers so that their alphabetic + order agrees with their numeric order.
    + +
      -
    • The intersect 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.
    • - +
    • The intersect 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.
    • +
    - +
      -
    • The property operator now accepts more than one isfalse - 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 HELM query generator.
    • - +
    • The property operator now accepts more than one isfalse + 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 HELM query generator.
    • +
    -
    -
    -
    +
    + +
    +

    The PostgreSQL database map:

    -
    -The PostgreSQL database map 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:
    +
    + The PostgreSQL database map 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:
    +
      -
    • the database connection string to be used when the interpreter -opens a connection with the database;
    • +
    • the database connection string to be used when the interpreter + opens a connection with the database;
    • +
    +
      -
    • the map describing the correspondence between the metadata -access paths used by the property operator and the fields of the database -tables.
    • +
    • the map describing the correspondence between the metadata + access paths used by the property operator and the fields of the +database tables.
    • +
    -The format of the file is textual and line oriented, but a corresponding -XML syntax will be provided soon.
    -The first line must contain the database connection string and the subsequent -lines contain the map with the following syntax:
    + The format of the file is textual and line oriented, but a corresponding + XML syntax will be provided soon.
    + The first line must contain the database connection string and the subsequent + lines contain the map with the following syntax:
    +
      -
    • blank lines: ignored (used for separation);
    • +
    • blank lines: ignored (used for separation);
    • +
    +
      -
    • lines starting with a # followed by a space: ignored (used for -comments);
      -
    • +
    • lines starting with a # followed by a space: ignored (used +for comments);
      +
    • +
    +
      -
    • <table_name>  <field_name>  "<-"  -[  <path_component>  ]*
      -
    • +
    • <table_name>  <field_name>  "<-"  + [  <path_component>  ]*
      +
    • +
    +
    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:
    -
    -refobj  h_occurrence  <-  refObj  h:occurrence
    -
    -tells that the metadata denoted by the path /"refObj"/"h:occurrence" -is found in the field "h_occurrence" of the table "refobj" in the database, -while:
    -
    -refobj  source  <-
    -
    -tells that the metadata denoted by the path / is found in the field -"source" of the table "refobj" in the database;
    -
    +
    + refobj  h_occurrence  <-  refObj  h:occurrence
    +
    + tells that the metadata denoted by the path /"refObj"/"h:occurrence" + is found in the field "h_occurrence" of the table "refobj" in the database, + while:
    +
    + refobj  source  <-
    +
    + tells that the metadata denoted by the path / is found in the field + "source" of the table "refobj" in the database;
    + +
      -
    • <table_name>  <field_name>  "<+"  -[  <path_component>  ]*
      -
    • +
    • <table_name>  <field_name>  "<+"  + [  <path_component>  ]*
      +
    • +
    +
    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:
    -
    -objectname  source  <+
    -refobj           source  <-
    -refrel            source  <-
    -refsort          source  <-
    -
    -tells that the metadata denoted by the path / is found in the "source" -field of the "objectname", "refobj", "refrel" and "refsort" tables, and that -the first choice is preferred;
    -
    + 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:
    +
    + objectname  source  <+
    + refobj           source  <-
    + refrel            source  +<-
    + refsort          source  <-
    +
    + tells that the metadata denoted by the path / is found in the "source" + field of the "objectname", "refobj", "refrel" and "refsort" tables, and +that the first choice is preferred;
    + +
      -
    • <table_name>  "<-" [ <path_component>  ]*
    • +
    • <table_name>  "<-" [ <path_component>  ]*
    • +
    +
    the given path denotes a structured metadata whose components -are found in the fields of the given table. For example:
    -
    -refobj  <-  refObj
    -
    -tells that the path /"refObj" denotes a structured metadata whose -components are found in the fields of the table "refobj";
    -
    + are found in the fields of the given table. For example:
    +
    + refobj  <-  refObj
    +
    + tells that the path /"refObj" denotes a structured metadata whose + components are found in the fields of the table "refobj";
    + +
      -
    • <table_name>  "<+" [ <path_component>  ]*
    • +
    • <table_name>  "<+" [ <path_component>  ]*
    • +
    +
    same as the previous but tells that this is a default  correspondence; -
    -
    +
    + +
      -
    • <virtual_table_name>  "->" <concrete_table_name>
    • +
    • <virtual_table_name>  "->" <concrete_table_name>
    • +
    +
    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:
    -
    -refobj           source      -       <-
    -refobj           h_occurrence  <- - refObj           h:occurrence
    -backpointer  source           -  <-  backPointer  h:occurrence
    -backpointer  h_occurrence  <-
    -backpointer                   -       ->  refobj
    -
    + 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:
    +
    + refobj           source      +        <-
    + refobj           h_occurrence  <- +  refObj           h:occurrence
    + backpointer  source           +   <-  backPointer  h:occurrence
    + backpointer  h_occurrence  <-
    + backpointer                   +        ->  refobj
    + +
    which defines four path accessing two virtual tables ("refobj" -and "backpointer") and then maps these tables in a single concrete table;
    -
    + and "backpointer") and then maps these tables in a single concrete table;
    + +
      -
    • "->"
      -
    • +
    • "->"
      +
    • +
    +
    a line like this must end the map file. 
    -
    -Here you can find the + Here you can find the current -version of PostgreSQL database map for HELM.
    -
    - How does the interpreter use the map? 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 property -operation in the issued queries.When executing a property 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.
    -
    -
    +
    +
    -- 2.39.2