|
| 1 | +--- |
| 2 | +title: "RDF4J 6.0.0 Milestone 2" |
| 3 | +date: 2026-06-05T01:03:37+0200 |
| 4 | +layout: "single" |
| 5 | +categories: ["news"] |
| 6 | +--- |
| 7 | +Milestone number 2 of the upcoming 6.0.0 release of RDF4J is now available for download. |
| 8 | + |
| 9 | +RDF4J 6.0.0 is a major release of the RDF4J framework. This second milestone continues the work from |
| 10 | +Milestone 1 with RDF 1.2 and SPARQL 1.2 support, new safeguards for long-running queries, query-planning |
| 11 | +improvements, FedX optimizations, and deployment updates. |
| 12 | + |
| 13 | +Please note that RDF4J 6.0.0-M2 requires Java 25. |
| 14 | + |
| 15 | +Some of the highlights covered in this second milestone: |
| 16 | + |
| 17 | +- RDF 1.2 and SPARQL 1.2 support in parsers, writers, the model API, and query evaluation |
| 18 | +- Query circuit breakers that protect server and workbench query execution under unsafe JVM memory pressure |
| 19 | +- Configurable slow-query logging for Sail-backed repositories, focused on time to first result |
| 20 | +- FedX grouped source selection, reducing remote source-selection requests for larger federations |
| 21 | +- Query optimizer work including sketch-based join planning, cascade-style planners, LMDB cardinality-estimation |
| 22 | + improvements, and plan-comparison tooling |
| 23 | +- Updated Docker images for Jetty 12 and Tomcat 11 on Java 25, plus Docker run documentation updates |
| 24 | +- New vocabulary modules for EU, annotation, and bibliographic vocabularies, plus additional PROV-O inverse properties |
| 25 | + |
| 26 | +This milestone build is not yet feature-complete, but we are putting it out to receive early feedback on all the |
| 27 | +improvements we have put in. |
| 28 | + |
| 29 | +<!--more--> |
| 30 | + |
| 31 | + - [issues fixed in 6.0.0 Milestone 2](https://github.com/eclipse-rdf4j/rdf4j/issues?q=is%3Aissue+label%3AM2+is%3Aclosed+milestone%3A6.0.0) |
| 32 | + - [issues planned for 6.0.0](https://github.com/eclipse-rdf4j/rdf4j/milestone/128) |
| 33 | + |
| 34 | +## Upgrade notes |
| 35 | + |
| 36 | +### RDF 1.2 and SPARQL 1.2 |
| 37 | + |
| 38 | +RDF4J 6.0.0-M2 adds broad support for RDF 1.2 and SPARQL 1.2 |
| 39 | +([GH-5327](https://github.com/eclipse-rdf4j/rdf4j/issues/5327)). |
| 40 | +This includes RDF 1.2 parser and writer updates for Turtle, TriG, N-Triples, N-Quads, and RDF/XML, SPARQL 1.2 grammar |
| 41 | +and evaluation changes, and conformance-test coverage for the new syntax and behavior. |
| 42 | + |
| 43 | +The model API now uses RDF 1.2 triple-term terminology. Legacy RDF-star parser/writer formats and names have been |
| 44 | +replaced by the corresponding triple-term APIs and formats. Triple terms are supported in object position, matching |
| 45 | +RDF 1.2 semantics. |
| 46 | + |
| 47 | +Support is not yet complete for every store. The SPARQL 1.2 conformance suite is enabled for MemoryStore, while |
| 48 | +NativeStore and LMDBStore still have known gaps for triple-term and base-direction support. |
| 49 | + |
| 50 | +### Query execution safeguards |
| 51 | + |
| 52 | +RDF4J now includes query circuit breakers for server and workbench query execution |
| 53 | +([GH-5809](https://github.com/eclipse-rdf4j/rdf4j/issues/5809)). These monitor JVM memory pressure, reject or abort |
| 54 | +query work when pressure becomes unsafe, release in-flight query resources, and expose breaker status for operators. |
| 55 | + |
| 56 | +Sail-backed repositories can also be configured to log slow queries |
| 57 | +([GH-5819](https://github.com/eclipse-rdf4j/rdf4j/issues/5819)). The implementation tracks query context through |
| 58 | +Sail evaluation and logs queries that exceed a configured threshold before producing their first result. |
| 59 | + |
| 60 | +### Query planning and LMDB |
| 61 | + |
| 62 | +The query optimizer has received new sketch-based, unified, and cascade-style planning work |
| 63 | +([GH-5720](https://github.com/eclipse-rdf4j/rdf4j/issues/5720), |
| 64 | +[PR-5785](https://github.com/eclipse-rdf4j/rdf4j/pull/5785), |
| 65 | +[PR-5796](https://github.com/eclipse-rdf4j/rdf4j/pull/5796)), including runtime telemetry and plan-comparison |
| 66 | +tooling. LMDB cardinality estimation has also been improved with a page-walking estimator that reads LMDB data files |
| 67 | +directly ([GH-5686](https://github.com/eclipse-rdf4j/rdf4j/issues/5686)). |
| 68 | + |
| 69 | +### FedX |
| 70 | + |
| 71 | +FedX source selection can now group remote source checks per endpoint |
| 72 | +([GH-5813](https://github.com/eclipse-rdf4j/rdf4j/issues/5813)). For larger federations, this reduces source-selection |
| 73 | +round trips from one ASK query per statement-pattern/endpoint pair to grouped SELECT queries using |
| 74 | +`BIND(EXISTS { ... })`. |
| 75 | +The optimization is enabled by default and can be disabled through `FedXConfig#withEnableGroupedSourceSelection(false)`. |
| 76 | + |
| 77 | +The FedX module also received cleanup for deprecated and unwired 6.0-era code paths |
| 78 | +([GH-5828](https://github.com/eclipse-rdf4j/rdf4j/issues/5828)). |
| 79 | + |
| 80 | +### Docker and deployment |
| 81 | + |
| 82 | +The Docker setup now targets Java 25 application-server images: Jetty 12 with EE11 modules and Tomcat 11 |
| 83 | +([GH-5801](https://github.com/eclipse-rdf4j/rdf4j/issues/5801)). The developer testing guide and Server/Workbench |
| 84 | +deployment guide now document the `docker/run.sh` workflow and Docker Compose usage. |
| 85 | + |
| 86 | +### Vocabularies |
| 87 | + |
| 88 | +RDF4J now ships additional vocabulary modules for EU data-portal and dataspace vocabularies, annotation vocabularies, |
| 89 | +and bibliographic vocabularies ([GH-5709](https://github.com/eclipse-rdf4j/rdf4j/issues/5709)). The PROV-O vocabulary |
| 90 | +also includes the suggested inverse properties listed by PROV-O |
| 91 | +([GH-5706](https://github.com/eclipse-rdf4j/rdf4j/issues/5706)). |
| 92 | + |
| 93 | +### Links |
| 94 | + |
| 95 | +- [Download RDF4J](/download/) |
0 commit comments