Zorba (XQuery processor)
In-game article clicks load inline without leaving the challenge.
Zorba is an open source query processor written in C++, implementing
Zorba is distributed under Apache License, Version 2.0. The project is mainly supported by the , Oracle, and .
Zorba isn't under active development any more. The GitHub repo's last commit is from 2017 while the last release 3.1 is from June 2015; the latest version 2.9.1 on SourceForge dates from May 2013.
Specifications
Zorba provides the implementation of the following W3C specifications:
Zorba also provides implementations of:
- JSONiq
- Scripting Extension
- Data Definition Facility
Scripting
2014-02-21 at the Wayback Machine is an open specification that provides semantic for side-effects in XQuery or JSONiq programs. It also provides a user-friendly syntax for imperative programming within such programs. The following code snippet is an example of the Scripting syntax. It computes a sequence containing all the Fibonacci numbers that are less than 100.
The following is an example of CRUD operations using Scripting, XQuery, and XQuery Update.
Data Definition Facility
2014-02-21 at the Wayback Machine provides a semantic for persistent artifacts such as collections and indexes in XQuery or JSONiq programs. For instance, the following code snippets declares a collection named entries and an index on that collection named entry.
Storage
Zorba provides a pluggable store so it can be used on different kind of environments: disk, database, browser. By default, Zorba is built with a main memory store. implements a store on top of MongoDB. The project has built a browser plugin for Zorba and leverages the DOM as its store.
APIs
Zorba is usable through 2014-02-21 at the Wayback Machine: C++, C, XQJ / Java, PHP, Python, C#, Ruby, and even 2014-02-21 at the Wayback Machine.
Zorba is also available as a 2014-02-21 at the Wayback Machine.
is an XQuery plugin for the Eclipse (IDE). It fully supports Zorba API and syntax.
Modules
Zorba provides more than 70 XQuery modules for building applications. Some of these modules are:
- File system, Email, HTTP client, OAuth client
- XQuery and JSONiq Data Model Processing: typing, atomic items, and nodes.
- Full-text: tokenizer, stemmer, thesaurus lookup.
- Data Cleaning: phonetic similarities, set similarities, conversions.
- Data Conversion: Base64, CSV, HTML, JSON, XML
- Data Formatting: XSL-FO
- Introspection and Reflection
- Cryptography
- Image processing
External links
- 2013-07-09 at the Wayback Machine
- 2014-02-03 at the Wayback Machine
- 2014-02-21 at the Wayback Machine
- on GitHub