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.
statementAdded(Statement, boolean inferred) and statementRemoved(Statement, boolean inferred) in SailConnectionListener.FILTER NOT EXISTS is now preserved when adding GraphPatterns.filterNotExists(...) to an empty GraphPatterns.and() (GH-5561).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.@context (GH-5573) and major LuceneSail transaction performance improvements (GH-5291).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)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)org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStoreorg.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStoreConnectionorg.eclipse.rdf4j.sail.elasticsearchstore.SingletonClientProviderorg.eclipse.rdf4j.sail.elasticsearchstore.UserProvidedClientProviderorg.eclipse.rdf4j.sail.elasticsearchstore.config.ElasticsearchStoreConfigorg.eclipse.rdf4j.sail.elasticsearchstore.config.ElasticsearchStoreFactoryorg.eclipse.rdf4j.sail.elasticsearch.ElasticsearchBulkUpdaterorg.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentorg.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentDistanceorg.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentResultorg.eclipse.rdf4j.sail.elasticsearch.ElasticsearchDocumentScoreorg.eclipse.rdf4j.sail.elasticsearch.ElasticsearchIndexorg.eclipse.rdf4j.sail.elasticsearch.config.ElasticsearchSailConfigorg.eclipse.rdf4j.sail.elasticsearch.config.ElasticsearchSailFactoryorg.eclipse.rdf4j.sail.solr.SolrBulkUpdaterorg.eclipse.rdf4j.sail.solr.SolrClientFactoryorg.eclipse.rdf4j.sail.solr.SolrDocumentDistanceorg.eclipse.rdf4j.sail.solr.SolrDocumentResultorg.eclipse.rdf4j.sail.solr.SolrDocumentScoreorg.eclipse.rdf4j.sail.solr.SolrIndexorg.eclipse.rdf4j.sail.solr.SolrSearchDocumentorg.eclipse.rdf4j.sail.solr.SolrSearchQueryorg.eclipse.rdf4j.sail.solr.SolrUtilorg.eclipse.rdf4j.sail.solr.client.cloud.Factoryorg.eclipse.rdf4j.sail.solr.client.embedded.Factoryorg.eclipse.rdf4j.sail.solr.client.http.Factoryorg.eclipse.rdf4j.sail.solr.config.SolrSailConfigorg.eclipse.rdf4j.sail.solr.config.SolrSailFactoryThis 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.
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.