Send in your ideas. Deadline October 1, 2024
Theme fund: NGI0 Discovery
Start: 2021-02
End: 2022-10
More projects like this
Software engineering


Performant (Erlang) implementation of W3C XQuery and XML database

The xqerl project is an open-source XQuery 3.1 implementation. It attempts to combine the simplicity of the W3C XQuery 3.1 language for querying and building XML and JSON, with the powers of the Erlang language for building massively concurrent, fault-tolerant, distributed applications. Many optional language features have already been added to xqerl, including the RESTXQ specification for building REST endpoints directly from code annotations. To further enhance user experience and the feature-set of xqerl, the "Schema Aware" and "Typed Data Features" will be added. These features will allow for XML Schema documents to be directly referenced from queries and the query statically analyzed at compile time using the schema to either build better query plans or return errors back to the user before running time consuming queries.

Why does this actually matter to end users?

One of the reasons the internet has grown to be the backbone of current society and economy, is because it is based on open source technology and open standards. This way the technology that runs on routers and computers everywhere, is not governed by commercial, but public interests. Open standards play an important role in this, as they provide a way for software and hardware developers and organizations to converge on one (or multiple) ways to go about things, which improves interoperability.

A recurring problem of establishing open standards is that to prove their real-life value, you need stable and updated implementations that demonstrate their capabilities. This project will provide a modern implementation of the so-called XQuery-standard, which was established through the World Wide Web Consortium (W3C), combined with the fault-tolerant powers of the Erlang programming language.

The XQuery-language can query and transform both structured (also known as semantic or linked data) as well as unstructured data. Erlang can be used to build concurrent, distributed and fault-tolerant applications. Combined, this project will deliver developers to build massively parallel and concurrent systems for reading, writing, aggregating, and analyzing semi-structured data from all over the web

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.

This project is archived. Due to circumstances, the project as planned did not take place. This page is left as a placeholder, for transparency reasons and to perhaps inspire others to take up this work.