BaseX

BaseX is a native and light-weight XML database management system and XQuery processor, developed as a community project on GitHub. It is specialized in storing, querying, and visualizing large XML documents and collections. BaseX is platform-independent and distributed under the BSD-3-Clause license.

In contrast to other document-oriented databases, XML databases provide support for standardized query languages such as XPath and XQuery. BaseX is highly conformant to World Wide Web Consortium (W3C) specifications and the official Update and Full Text extensions. The included GUI enables users to interactively search, explore and analyze their data, and evaluate XPath/XQuery expressions in realtime (i.e., while the user types).

Technologies

 * XPath query language
 * XQuery 3.1
 * XQuery Update (W3C)
 * XQuery Full Text (W3C)
 * Support for most EXPath/EXQuery modules and packaging system
 * Client-Server architecture with user and transaction management and logging facilities
 * APIs: RESTXQ, RESTful API, WebDAV, XML:DB, XQJ; Java, C#, Perl, PHP, Python and others
 * Supported data formats: XML, HTML, JSON, CSV, Text, binary data
 * GUI including several visualizations: Treemap, table view, tree view, scatter plot

Database layout
BaseX uses a tabular representation of XML tree structures to store XML documents. The database acts as a container for a single document or a collection of documents. The XPath Accelerator encoding scheme and Staircase Join Operator have been taken as inspiration for speeding up XPath location steps. Additionally, BaseX provides several types of indices to improve the performance of path operations, attribute lookups, text comparisons and full-text searches.

History
BaseX was started by Christian Grün at the University of Konstanz in 2005. In 2007, BaseX went open source and has been under the BSD-3-Clause license since then.

Supported systems
The BaseX server is a pure Java 1.8 application and thus runs on any system that provides a suitable Java implementation. It has been tested on Windows, Mac OS X, Linux and OpenBSD. In particular, packages are available for Debian and Ubuntu.