|
Goals and features
MathQL-1 is designed to achieve the following goals:
- Exploitation of RDF technology
to manage metadata and compliance with the main requirements for an
RDF query language. In particular:
- 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 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
and includes a "select-from-where"-like construction.
- MathQL-1 supports a machine-processable XML syntax as well as a human-readable
textual syntax to achieve the best usability.
- Careful treatment of query results that are as important
as the queries themselves. In particular:
- 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
for query results with its own rigorously defined semantics.
- Exploitation of constructions borrowed from programming
languages to allow sophisticated queries that need computation over the
queried data. In particular:
- 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.
|