# Upgrade Apache Jena to Version 5 series

**URL:** <https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253>\
**Category:** Design proposals\
**Created:** [April 17, 2025, 11:29pm UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253 "2025-04-17T23:29:22Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![AtesComp](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/atescomp/32/1100_2.png) [@AtesComp](https://forum.openrefine.org/u/AtesComp)\
**Post date:** [April 17, 2025, 11:29pm UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253/1 "2025-04-17T23:29:22Z")

</div>

We should update Jena to its version 5 series. The latest Jena 5 version offers a multitude of improvements. However, the Apache Jena site states, "Jena5 requires Java 17, or a later version of Java."

Currently, OpenRefine requires Java 11. Upgrading to Java 17 (or even 21) should not be an issue since later Java runtime envs are generally backward compatible with earlier ones. I think we are "over the hump" with Java version issues since we have been packaging a Java 11 runtime for the Windows and Mac OSs.

Blockers for this will be any dependencies that absolutely requires a lower Java version. I don't see that as an issue since Java 17 (or 21) should be able to run any existing, lower version bytecode.

Requirement include:

- Update Maven Jena version
- Update Java runtime packaging to the selected late model Java version (17 or 21?).

---

<div class="post-metadata">

**Author:** ![abbe98](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/abbe98/32/1299_2.png) [@abbe98](https://forum.openrefine.org/u/abbe98)\
**Post date:** [April 18, 2025, 3:42pm UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253/2 "2025-04-18T15:42:18Z")

</div>

I think we have a list somewhere(possibly here on the forum) with a collection of breaking changes we would like to do. This should probably go on that list.

---

<div class="post-metadata">

**Author:** ![Rory](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/rory/32/1517_2.png) [@Rory](https://forum.openrefine.org/u/Rory)\
**Post date:** [April 18, 2025, 4:37pm UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253/3 "2025-04-18T16:37:44Z")

</div>

@abbe98, is this the thread you're thinking of?

> [@Scheduling breaking changes we have on our radar](https://forum.openrefine.org/t/scheduling-breaking-changes-we-have-on-our-radar/1410):
>
> As a follow up to the discussion in [this thread](https://forum.openrefine.org/t/branch-structure-to-maintain-3-x-and-4-x-simultaneously/1398/13), let's start a discussion on how to schedule the various major changes we have on our radar. I see this discussion not as a substitute for establishing a proper roadmap, but rather concentrated on changes which are "breaking" in the sense that they require adaptations for extensions. For instance, new features such as adding support for Wikidata lexemes wouldn't need to be scheduled here, because if we want to implement them it should be possible …

I think this is a good candidate for that list. I realize there's no way of really knowing the extent to which bumping the minimum required version will break individual installations, but is there any data (even anecdotally) about which Java versions are still in use among OpenRefine users? I haven't seen any in the various user survey feedback blog posts and forum threads.

---

<div class="post-metadata">

**Author:** ![abbe98](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/abbe98/32/1299_2.png) [@abbe98](https://forum.openrefine.org/u/abbe98)\
**Post date:** [April 22, 2025, 10:44am UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253/4 "2025-04-22T10:44:39Z")

</div>

Maybe but I think there is more, I especially remembering cleaning up the API JSON response formats for various calls.

---

<div class="post-metadata">

**Author:** ![Rory](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/rory/32/1517_2.png) [@Rory](https://forum.openrefine.org/u/Rory)\
**Post date:** [May 1, 2025, 7:56pm UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253/5 "2025-05-01T19:56:54Z")

</div>

I created a ticket to track this (which mentions a blocking ticket to upgrade the minimum Java version): [Upgrade Apache Jena to 5.x · Issue #7282 · OpenRefine/OpenRefine · GitHub](https://github.com/OpenRefine/OpenRefine/issues/7282)

---

<div class="post-metadata">

**Author:** ![tfmorris](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/tfmorris/32/17_2.png) [@tfmorris](https://forum.openrefine.org/u/tfmorris)\
**Post date:** [May 20, 2025, 1:17am UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253/6 "2025-05-20T01:17:20Z")

</div>

> Maybe but I think there is more, I especially remembering cleaning up the API JSON response formats for various calls.

There's actually a comment from me on that thread about rationalizing response formats rather than just documenting the existing API:

[https://forum.openrefine.org/t/scheduling-breaking-changes-we-have-on-our-radar/1410/13](https://forum.openrefine.org/t/scheduling-breaking-changes-we-have-on-our-radar/1410/13)

Tom

---

<div class="post-metadata">

**Author:** ![abbe98](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/abbe98/32/1299_2.png) [@abbe98](https://forum.openrefine.org/u/abbe98)\
**Post date:** [May 20, 2025, 12:39pm UTC](https://forum.openrefine.org/t/upgrade-apache-jena-to-version-5-series/2253/7 "2025-05-20T12:39:07Z")

</div>

Thank you Tom, that might have been the comment I had in mind.
