Release 5.2: πŸ₯Œ Robustness for SPARQL endpoint detection and various performance improvements

Tuesday, April 14, 2026


On this page

    In this minor release, we mainly focused on improving the robustness and performance of federated SPARQL queries over real-world data sources.

    πŸ₯Œ Increased robustness for identifying SPARQL endpoints

    When querying over real-world SPARQL endpoints, problems can appear that not always occur in testing environments. In this release, we focused on identifying SPARQL endpoints in a more robust manner.

    Concretely, we noticed that SPARQL service descriptions can sometimes take a very long time to respond, which can lead to overall performance issues. As such, we have added a (configurable) timeout of 3 seconds for SPARQL service description requests.

    Furthermore, we added a fallback detection mechanism for endpoints that do not expose SPARQL service descriptions. Besides checking for URL patterns which we already did, we will now also look at the Server header of the response, which often contains the name of the software running the endpoint (e.g., "Fuseki").

    πŸš€ Improved performance of federation of many RDF files

    When doing a federated query over several RDF files, we now have an optimization that will group these files into a combined in-memory index, which significantly improves the performance of queries that need to join data across these files.

    The optimization happens behind the scenes, and requires no configuration on the user side. Based on several internal tests over 5-12 RDF files, we have observed a performance improvement of 9-130x for queries of varying complexity.

    πŸ“Ί SPARQL endpoint HTML view

    comunica-sparql-http allows you serve a Comunica-based SPARQL endpoint. In this release, we added a simple (YASGUI-based) HTML view to this endpoint, which allows you to easily test your endpoint by running queries directly from the browser. This view is available at the root path of the endpoint, and provides a simple interface for entering SPARQL queries and viewing results.

    πŸš€ Optimization of DISTINCT queries

    When running queries with a DISTINCT modifier over RDF files, we have implemented some tweaks to better exploit our pre-existing indexes that already offer unique values. We see performance improvements of 2x for such queries.

    When you use your own RDF/JS source to Comunica, we recommend using rdf-stores, as it is the only one that exposes this capability.

    πŸš€ Optimization of property path queries with * and +

    Property path queries using * (zero-or-more) and + (one-or-more) require computing an internal Nodes operator, which could be computationally expensive. In this release, we added a new index when querying over RDF files that allows us to compute this Nodes operator more efficiently. Similar to before, when using your own RDF/JS source to Comunica, this optimization is only possible using rdf-stores.

    🀝 Contributors

    This release has been made possible thanks to the help of the following contributors (in no particular order):

    If you would like to contribute yourself, be sure to have a look at our contribution guide. We even have some new bounties that allow you to get paid for your contribution!

    Full changelog

    If you want to learn more about the other changes in Comunica 5.2, check out the full changelog.