EXist

From TEIWiki
Revision as of 11:58, 2 September 2011 by Adamretter (talk | contribs) (System requirements)
Jump to navigation Jump to search


Synopsis

eXist-db is an open source database management system built using XML technology. It stores XML data according to the XML data model and features efficient, index-based XQuery processing.

eXist-db supports many Web 2.0 technology standards, making it an excellent platform for developing web-based applications:

The 1.4 version adds a new full text index based on Apache Lucene, a lightweight URL rewriting and Model–view–controller framework, as well as support for XProc. With version 1.4, the XQuery engine has seen a major redesign, resulting in improved performance.

eXist-db is highly compliant with the XQuery standard (current XQuery Test Suite score is 99.4%).

The query engine is extensible and features a large collection of XQuery Function Modules.

eXist-db provides a powerful environment for the development of web applications based on XQuery and related standards. Entire web applications can be written in XQuery, using XSLT, XHTML, CSS and Javascript (for AJAX functionality).


Features

  • Persistent storing and indexing of the XML documents
  • Database administration functions (data management, backup, recoveries)
  • Management of the stored documents in collections
  • XQuery engine with extentions for full-text search
  • Support for XQuery, XSLT, XInclude and XPointer (partial), XUpdate
  • XMLDB Api
  • Use of network protocols (HTTP/REST, XML-RPC, SOAP, WebDAV)
  • Integration with ApacheCocoon

User commentary

Please sign all comments.

Can be very sensitive to placement of certain files, in particular collection.xconf. Silently ignores config files in the wrong place. Stuartyeates 18:15, 26 April 2011 (EDT)


System requirements

eXist is written in Java, and therefore requires a JDK > 1.4. Being a Java application it can be used on most operating systems, including Windows, Linux, Mac OS X, Solaris and FreeBSD and it can be deployed in several ways, as a standalone server application, as a web application inside a servlet container (such as Apache Tomcat or Jetty) or as a Java library in a larger application.

Source code and licensing

eXist is open-source, released under the GNU LGPL license.

Support for TEI

Joe Wicentowski has a step-by-step introduction with full example files on how to publish TEI texts with eXist, presented at the Digital.Humanities@Oxford Summer School in 2011; see the session description, slides, and sample materials.


A TEI module called Matumi is distributed as an eXist application. Matumi is still under development. It requires eXist version 1.5 and is installed from within eXist's Package Reposistory. After installation, it can be accessed from http://localhost:8080/exist/apps/encyclopedia/ on a default installation.

Matumi is not a full-blown TEI module yet, but it has some notable features, such as the ability to browse by filtering texts and core parts of the markup. It contains faceted search feeding off the markup, making possible "translingual" searches that utilise references added to name forms.

The app uses XQuery only.

Installation will store a number of basic TEI documents in the data directory. These files are excepts from encyclopaedias, whence the present orientation of the app.

If you access through browsing, you can arrange the data by four criteria - books, entry title, subjects and names.

If you access through search, in order to retrieve some sample results, select lemma and search for "nation", select term and search for "ars", select name and search for "marx", select text and search for "gouvernement", or select key and search for "http://dbpedia.org/page/French_Revolution".


There is a comprehensive discussion of optimising eXist/xQuery for TEI on the eXist-open mailing list

Language(s)

As wrote before, eXist is a Java application. Anyway, whole applications can be created without writing any line of programming code, but using only XQuery, XSLT, (X)HTML, CSS and Javascript. Using the available network interfaces is possible to query eXist not only with Java, and there are already available several modules for other languages (PHP, Perl) and frameworks (Spring, ColdFusion, Zope). The documentation is available only in english.

Documentation

http://exist-db.org/documentation.html

Tech support

Technical support is provived mainly throught the mailing list. Being eXist open-source all kind of support and help is made voluntarily and with no obligations. Anyway the support it is very efficient, and almost all the requests are answered in a complete and qualified way.

User community

The user community is very active and, as for the technical support, the main way of communication is the mailing list. Many participants of this list are also part of the TEI Community. There is also a wiki and an IRC channel: #existdb at irc.freenode.net.

In August 2011, a dedicated email list was created on using eXist with TEI resources. For information or to subscribe, go to the eXist-TEIXML information page.

Sample implementations


Current version number and date of release

Current stable release: eXist 1.4.0-rev10440 - 2009-11-11

How to download

Download the current stable version (version 1.4, April 2011) from the eXist Home Page; check out the current trunk version from "svn co https://exist.svn.sourceforge.net/svnroot/exist/trunk/eXist".

See also