Eclipse RDF4J 5.0.0 Release Review

End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.




RDF4J 5.0.0 is a major release of the Eclipse RDF4J framework. Some highlights:

  • Replacement of the custom Iteration interface with Java Iterable/Iterator
  • Replacement of old config vocabulary IRIS with new vocabulary
  • Improved SHACL validation with support for sh:closed and pairwise validation
  • Upgrade of MapDB
    • More queries with intermediary results are no longer limited by RAM/java heap but disk space available
  • Improve performance, query throughput and correctness in a transparent federation by refining various evaluation strategies (bind joins, property paths, limit pushing, ...)
  • JSON-LD 1.1 support
  • Implementation of merge join for future use in query evaluation
  • Stability and performance improvements to the LmdbStore
  • Improved spilling to disk for large transactions

For a complete overview, see all issues fixed in 5.0.0.

Upgrade notes

RDF4J 5.0.0 contains several backward incompatible changes, including removal of several deprecated modules and classes.

Configuration vocabulary upgrade

The repository configuration vocabulary has been refactored and simplified, using the,2023:config/ namespace (see GH-4401). All existing configurations with legacy vocabulary will remain readable, and when using LocalRepositoryManager to manage configurations they will be automatically converted to the new vocabulary. RDF4J Server, Workbench, and Console will also automatically convert all repository configurations to the new vocabulary.

If you are manually querying configuration data, you will need to update your queries to use the new vocabulary IRIs. The legacy IRI classes have all been annotated with references to relevant the replacement IRI, and a full overview of all new vocabulary can be found in the CONFIG javadoc.

If you wish to force RDF4J to stick to the legacy vocabulary for now, this is possible by setting the system property org.eclipse.rdf4j.model.vocabulary.useLegacyConfig to true.

API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Conforms To UI/UX Guidelines
Not verified