Jena 5.3.0 has changes in the structure of the Fuseki server, a new IRI provider, together with a lot of clearup and simplification of Jena's use of Apache Xerces. RDF 1.2 is ready but not merged.

Please provide feedback about Fuseki.

All issues in the release:
  https://s.apache.org/jena-5.3.0-issues

Jena 5.2.0 was 2024-10-15

==== Contributions

@Ostrzyciel has contributed several test cases for initialization in

  Datatypes:
  https://github.com/apache/jena/issues/2797

  JenaSystem.init deadlock
  https://github.com/apache/jena/issues/2787

  TypeMapper.getSafeTypeByName race condition
  https://github.com/apache/jena/issues/2795

and also cleaning up of Jena's use of Apache Xerces-derived code for RDF datatypes:

 https://github.com/apache/jena/issues/2828
 PRs:
    GH-2828: Remove unused code in ext.xerces
      https://github.com/apache/jena/pulls/2906
    GH-2828: Remove validation for XML-only datatypes
      https://github.com/apache/jena/pulls/2846
    GH-2797: Lazy init for ValidationState hash maps
      https://github.com/apache/jena/pulls/2798

@OyvindLGjesdal
  Improve jena-text build (java21->)
  https://github.com/apache/jena/pull/2782

@Aklakan
  Support for Timeouts on Updates
  https://github.com/apache/jena/issues/2821

Committers with PRs: rvesse, sszuev, kinow, arne-bdt, afs

and not forgetting @dependabot


==== Fuseki

The artifact jena-fuseki-main, which was the UI-less embedded simple server, now has equivalent functionality, including UI, to the Fuseki/webapp packaging.

The artifact jena-fuseki-server packages jena-fuseki-main with dependencies and UI files into a single jar.

Please provide feedback!

It should be a drop-in replacement.

You can get the combined jar file jena-fuseki-server or use jena-fuseki-main as a maven dependency.

The development download apache-jena-fuseki now packages this setup.

https://repository.apache.org/content/repositories/snapshots/org/apache/jena/jena-fuseki-server/5.3.0-SNAPSHOT/

https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena-fuseki/5.3.0-SNAPSHOT/

build 41 or later - at the bottom of the list
(Thu Jan 02 15:18:41 UTC 2025)

There is no functionality added or removed; it is a better base for future development.

Fuseki/webapp packaging for the WAR file which will continue to be produced but may not get all future Fuseki development features.

==== IRI3986

Issue: https://github.com/apache/jena/issues/2800
New maven artifact and jar: jena-iri3986.

This adds a new IRI parser and checker. It is the long term replacement jena-iri.

"Bad syntax", that is, not passing the grammar of RFC 3986 is treated as a parse error. Violations of scheme-specific rules are warnings.

This is the same as principle as Jena has had, but the parser/checker is up-to-date with RFCs, and addressed some corner cases fixed. URNs are better handled.

jena-iri3986 supports URI scheme-specific rules for the latest RFCs for:
   http:, https:, did:, file:,
   urn:, (including urn:uuid:, urn:oid:),
   example:
and non-standard schemes
   uuid: and oid:

This new IRI implementation is not active by default.

It is activated by setting the environment variable
   JENA_IRIPROVIDER=IRI3986

(the existing jena-iri provider is called IRI0).

This can also be set via a system property when starting the JVM
-Djena.iriprovider=IRI3986, or set in code and calling SystemIRIx.reset() (any existing IRIx are not affected).

On the command line, try it out with

    env JENA_IRIPROVIDER=IRI3986 riot MyInterestingData.ttl

Please provide feedback. The intention is to make this the default IRI provider at a convenient moment.

==== RDF 1.2

The standardization of RDF 1.2 has not finished yet.
The WG will likely be making further changes.

A PR is ready, the Turtle output is complete and valid for RDF 1.2 but it is missing pretty printing using some of the new Turtle syntactic sugar.

There is an implementation of the current syntax additions and SPARQL execution.

Jena 5.x as release currently has some support for the RDF-star CG but this is changing for RDF 1.2.

Everything RDF 1.1 and SPARQL 1.1 continues to work.

If there is sufficient interest, we might consider including it with a label of "experimental" - that is, subject to change - so users can try out RDF 1.2.

It should have no impact to RDF-1.1 data or usage.

Reply via email to