Skip to main content

5.0.0

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 openrdf.org config vocabulary IRIS with new rdf4j.org 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 tag:rdf4j.org,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.

Back to the top