Skip to main content

RDF4J 5.3.0 Milestone 2

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.

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