Database Reference
In-Depth Information
several previous languages and concepts, such as Perl, Lisp, Haskell, SQL, and
many more.
Easy to use
XQuery was designed to be simple to use and debug, meaning that nonprogram‐
mers (given an understanding of their documents) should be able to easily con‐
struct queries. Many eXist users work in the humanities and have no formal
computer science background, but are quite comfortable writing complex XQu‐
eries to query their documents.
Easy to optimize
The XQuery specification does not detail how an implementation should per‐
form query processing, and its developers have given great thought to ensuring
that any implementation can optimize processing of query operations. Likewise,
as a moderate user of XQuery, you can often easily understand why a particular
query is slow and what you may do to improve it.
Easy to index
Join operations in XQuery (e.g., predicates and where clauses) lend themselves
well to index optimization, which eXist exploits to speed up XQuery execution.
eXist provides multiple indexing schemes that the user may configure.
Turing complete
XQuery is more than just a query language: it is in a class of languages known as
Turing complete , which means that it is a complete programming language and
any program can be expressed in it. XQuery is also a functional programming
language, as opposed to a procedural one, meaning that it is generally easier to
construct programs that you can easily understand and that ultimately contain
fewer bugs. In eXist you can build entire applications in just XQuery!
Query first
While XQuery is a programming language, it is designed primarily as a query
language. Therefore, it is much easier to extract just a few elements from large
data collections with XQuery than, say, with XSLT.
More than you realize!
While XQuery is easy to get started with, its functional nature can make it tricky
to work with if you have only procedural programming experience. XQuery can
be incredibly elegant, and we are frequently surprised at how very complex prob‐
lems may be solved quite simply in XQuery when considered in a different light.
We should also perhaps mention that eXist is not just for XML documents. You can,
in fact, store any file into the database, and eXist can do some very clever things with
content extraction and metadata with non-XML documents to help you query and
manage those binary formats too.
Search WWH ::




Custom Search