BaseX
BaseX is a native and light-weight XML database management system and XQuery processor, developed as a community project on GitHub.[2] It is specialized in storing, querying, and visualizing large XML documents and collections.[3] BaseX is platform-independent and distributed under a permissive free software license.
BaseX GUI showing an XML document in various visualizations | |
Original author(s) | Christian Grün |
---|---|
Initial release | 2007 |
Stable release | 9.4.6
/ January 7, 2021 |
Repository | |
Written in | Java |
Platform | Java SE |
Available in | English, Dutch, French, German, Hungarian, Indonesian, Italian, Japanese, Mongolian, Romanian, Russian, Spanish[1] |
Type | XML database |
License | BSD |
Website | basex |
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[4][5] 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;[6] 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.[7] Additionally, BaseX provides several types of indices to improve the performance of path operations, attribute lookups, text comparisons and full-text searches.[8]
History
BaseX was started by Christian Grün at the University of Konstanz in 2005. In 2007, BaseX went open source and has been BSD-licensed since then.[9][10]
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.[11] In particular, packages are available for Debian[12] and Ubuntu.[13]
Further reading
References
- http://docs.basex.org/wiki/Translations
- GitHub: BaseX
- "Overview on database instances created with BaseX". Retrieved 30 June 2011.
- "W3C: XQuery Test Suite Result Summary". World Wide Web Consortium. Retrieved 30 June 2011.
- "W3C: XPath and XQuery Full Text 1.0 Test Suite Result Summary". World Wide Web Consortium. Retrieved 30 June 2011.
- BaseX XQJ API
- Christian Grün; Marc Kramis; Alexander Holupirek; Marc H. Scholl; Marcel Waldvogel (30 June 2006). "Pushing XPath accelerator to its limits" (PDF). Universität Konstanz. Archived from the original (PDF) on 27 September 2011. Retrieved 30 June 2011.
- "Storing and Querying Large XML Instances" (PDF). Universität Konstanz. Archived from the original (PDF) on 9 October 2011. Retrieved 30 June 2011.
- "BaseX 5.0: XML Database with Visual Frontend". Linux Magazine. Retrieved 30 June 2011.
- "Open Source Kompetenzzentrum of the german Bundesverwaltungsamt" (in German). Archived from the original on 3 November 2011. Retrieved 30 June 2011.
- "Startup - BaseX Documentation".
- "Debian -- Package search results -- basex".
- "basex package: Ubuntu".