BaseX is a native and light-weight
XML database management system and
XQuery processor, developed as a community project on GitHub.
[GitHub: BaseX](_blank)
/ref> It is specialized in storing, querying, and visualizing large XML documents and collections. BaseX is platform-independent and distributed under the BSD-3-Clause
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
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
XQuery API for Java (XQJ) refers to the common Java API for the W3C XQuery 1.0 specification.
The XQJ API enables Java programmers to execute XQuery against an XML data source (e.g. an XML database) while reducing or eliminating Vendor lock-i ...
; Java, C#, Perl, PHP, Python and others
* Supported data formats: XML, HTML, JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other ser ...
, CSV, Text, binary data
* GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
including several visualizations: Treemap, table view, tree view, scatter plot
A scatter plot (also called a scatterplot, scatter graph, scatter chart, scattergram, or scatter diagram) is a type of plot or mathematical diagram using Cartesian coordinates to display values for typically two variables for a set of data. ...
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
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
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
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
and Ubuntu.
Further reading
BaseX Talk at LinuxTag Berlin, 2011
References
External links
* {{Official website, http://basex.org
XML
Free database management systems
XML databases
XQuery processors
Free software programmed in Java (programming language)
Database-related software for Linux
Software using the BSD license