BaseX
Original author(s) | Christian Grün |
---|---|
Initial release | 2007 |
Stable release | 11.3
/ September 19, 2024 |
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-3-Clause[2] |
Website | basex |
BaseX is a native and light-weight XML database management system and XQuery processor, developed as a community project on GitHub.[3] It is specialized in storing, querying, and visualizing large XML documents and collections.[4] BaseX is platform-independent and distributed under the BSD-3-Clause license.[2]
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[5][6] 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;[7] 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.[8] Additionally, BaseX provides several types of indices to improve the performance of path operations, attribute lookups, text comparisons and full-text searches.[9]
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.[10][11]
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.[12] In particular, packages are available for Debian[13] and Ubuntu.[14]
Further reading
References
- ^ "Translations - BaseX Documentation".
- ^ a b "BaseX Open Source". Retrieved 2021-06-28.
- ^ 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". 25 April 2023.