Skip to main content

RDF4J 3.5.0 Released

Wed, Dec 9, 2020

We are pleased to announce that RDF4J 3.5.0 is now available. This is a minor release with about 29 improvements and bug fixes.

For full details, have a look at the release notes. Below, we briefly point out some of the bigger new things.

Easier creation of IRIs and Literals

We’ve introduced new static factory methods to make your Java code shorter and easier to read. For example, instead of:

ValueFactory valueFactory = SimpleValueFactory.getInstance();

IRI uncleBob = valueFactory.createIRI("http://example.org/bob");
IRI lastName = valueFactory.createIRI("http://example.org/name");
Literal example = valueFactory.createLiteral("Example");

model.add(uncleBob, lastName, example);

you can now use Values to do this:

import static org.eclipse.rdf4j.model.util.Values.*;

model.add(iri("http://example.org/bob"), iri("http://example.org/name"), literal("Example"));

See the RDF Model documentation for more details.

Custom character encoding

All RDFWriter and QueryResultWriter implementations for character-based syntax formats now allow the use of a custom writer, with a user-defined custom encoding. Useful if you must produce a CSV file with Windows-encoding instead of the default UTF-8!

Creation of Literals with java.time values

The new (well, new’ish) java.time API is a replacement for the older and clunkier java.util.Date and java.util.Calendar classes. The RDF4J ValueFactory (as well as the new Values static factory methods) now supports creation of Literal objects directly from java.time values, automatically applying the correct XML Schema datatype.

Peformance improvements

We’ve made some major improvements in performance of SPARQL querying. Allowing direct result passthrough when querying a remote SPARQL endpoint can result in a reduction of result processing time up to 80-100%. Another area performance has been improved is in the algorithms for ordering and comparing datatyped literals.

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