Skip to main content

What's new

Wed, Feb 11, 2026

Milestone number 2 of the upcoming 5.3.0 release of RDF4J is now available for download.

RDF4J 5.3.0 is a minor release focusing on stability and getting the code ready for the next major release.

Notable changes in 5.3.0 M2

  • SHACL validation can now be configured more precisely for inferred data (GH-5676). If a shape (or global SHACL setting) disables inferred statements, underlying sails must emit inferred-aware callbacks by implementing statementAdded(Statement, boolean inferred) and statementRemoved(Statement, boolean inferred) in SailConnectionListener.
  • Query builder fix: FILTER NOT EXISTS is now preserved when adding GraphPatterns.filterNotExists(...) to an empty GraphPatterns.and() (GH-5561).
  • Parser extension note: if you subclass TupleExprBuilder and override createAnonVar(), consider also overriding newer specialized methods used during parsing: createAnonCollectionVar(), createAnonBnodeVar(), createAnonHavingVar(), and createAnonPathVar(boolean).
  • Var remains extensible through SPI (as introduced in M1): use Var.of(...) factories, provide a custom Var.Provider (newVar(...) and optionally cloneVar(...)), and register via META-INF/services/org.eclipse.rdf4j.query.algebra.Var$Provider or the org.eclipse.rdf4j.query.algebra.Var.provider system property.
  • Additional end-user fixes include support for refining JSON-LD @context (GH-5573) and major LuceneSail transaction performance improvements (GH-5291).

Deprecations since 5.2.0

  • Legacy compare methods in org.eclipse.rdf4j.query.algebra.evaluation.util.QueryEvaluationUtil:
    • compare(Value, Value, CompareOp)
    • compare(Value, Value, CompareOp, boolean)
    • compareLiterals(Literal, Literal, CompareOp)
    • compareLiterals(Literal, Literal, CompareOp, boolean)
  • Constructors in org.eclipse.rdf4j.query.algebra.Var are now deprecated (for removal), use Var.of(...) factories instead:
    • Var(String, Value, boolean, boolean)
    • Var(String)
    • Var(String, boolean)
    • Var(String, Value)
    • Var(String, Value, boolean)
  • Elasticsearch integration APIs deprecated for removal (preparation for Elasticsearch client upgrade):
    • org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStore
    • org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStoreConnection
    • org.eclipse.rdf4j.sail.elasticsearchstore.SingletonClientProvider
    • org.eclipse.rdf4j.sail.elasticsearchstore.UserProvidedClientProvider
    • org.eclipse.rdf4j.sail.elasticsearchstore.config.ElasticsearchStoreConfig
    • org.eclipse.rdf4j.sail.elasticsearchstore.config.ElasticsearchStoreFactory
    • org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchBulkUpdater
    • org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocument
    • org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentDistance
    • org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentResult
    • org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentScore
    • org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchIndex
    • org.eclipse.rdf4j.sail.elasticsearch.config.ElasticsearchSailConfig
    • org.eclipse.rdf4j.sail.elasticsearch.config.ElasticsearchSailFactory
  • Solr integration APIs deprecated for removal:
    • org.eclipse.rdf4j.sail.solr.SolrBulkUpdater
    • org.eclipse.rdf4j.sail.solr.SolrClientFactory
    • org.eclipse.rdf4j.sail.solr.SolrDocumentDistance
    • org.eclipse.rdf4j.sail.solr.SolrDocumentResult
    • org.eclipse.rdf4j.sail.solr.SolrDocumentScore
    • org.eclipse.rdf4j.sail.solr.SolrIndex
    • org.eclipse.rdf4j.sail.solr.SolrSearchDocument
    • org.eclipse.rdf4j.sail.solr.SolrSearchQuery
    • org.eclipse.rdf4j.sail.solr.SolrUtil
    • org.eclipse.rdf4j.sail.solr.client.cloud.Factory
    • org.eclipse.rdf4j.sail.solr.client.embedded.Factory
    • org.eclipse.rdf4j.sail.solr.client.http.Factory
    • org.eclipse.rdf4j.sail.solr.config.SolrSailConfig
    • org.eclipse.rdf4j.sail.solr.config.SolrSailFactory

This milestone build is not yet feature-complete, but we are putting it out to receive early feedback on all the improvements we have put in.



Sun, Dec 21, 2025

Milestone number 1 of the upcoming 5.3.0 release of RDF4J is now available for download.

RDF4J 5.3.0 is a minor release focusing on stability and getting the code ready for the next major release.

Notable changes in 5.3.0 M1

  • The Var implementation used in the query engine now supports custom implementations through the Java Service Provider Interface (SPI). See: Var.java
  • The Solr Sail has been deprecated and will be removed in the next major release.

This milestone build is not yet feature-complete, but we are putting it out to receive early feedback on the deprecation.



Mon, Dec 15, 2025

RDF4J 5.2.2 is now available. This is a patch release fixing 3 bugs.

For more details, have a look at the release notes.



About

Eclipse RDF4J™ is a powerful Java framework for processing and handling RDF data. This includes creating, parsing, scalable storage, reasoning and querying with RDF and Linked Data. It offers an easy-to-use API that can be connected to all leading RDF database solutions. It allows you to connect with SPARQL endpoints and create applications that leverage the power of linked data and Semantic Web.


RDF4J Architecture

Back to the top