Zorba is a virtual machine for query processing. Two different syntaxes - XQuery and JSONiq - are featured by the same query compiler and query runtime. XQuery and JSONiq share the same type system, the same operations on atomic types, the same semantics of core expressions such that if-then-else expressions, FLWOR expressions, and the same abstract navigation mechanism for both XML (XPath) and JSON (object and array lookup).
The Zorba virtual machine can be used to process JSON using JSONiq or XML using XQuery. Those two languages have syntaxes that are tailored to aesthetic preferences of the corresponding community. More than that, Zorba can even be used to combine processing of JSON and XML. Both languages have been designed from the ground up to process semi-structured data for which SQL is not well adapted.
Zorba users have immediate access to advanced, out of the box, data processing libraries. Built-in functions empower queries to use advanced math processing, string matching, data cleaning, or full-text features. Beyond that, conversion (e.g. CSV, PDF, HTML, ZIP), communication (e.g. HTTP, SMTP, IMAP), and connector (e.g. SQLite, JDBC, CouchBase) libraries allow the user to productively process the Web's data.
Zorba allows for plug-in alternative store implementations under the hood of the query processor. This enables users to seamlessly process data stored in different places: main memory, browser, disk, or cloud stores.
The source code is released under the Apache License, Version 2.0. The best ways to contribute are by finding and reporting bugs, writing tests for bugs, and improving the documentation.
Bug reports are incredibly helpful. Please take the time to report bugs and request features in our ticket tracker. We're always grateful for patches.