In Jena4, jena-fuseki-fulljar is the WAR file code + Jetty.

Fuseki/main (jena-fuseki-server) is also already packaged with Jetty.

You may be thinking of changing jena-fuseki-fulljar (the standalone packaging of Fuseki+UI) to be constructed from Fuseki/main/Jetty + Admin code + UI.

That change is in theory transparent. It is unlikely to be in Jena 5.0.x

It may be better to take the opportunity to have variants like Fuseki+query (readonly, for publishing data), Fuseki+data workbench (query+update, but not create/delete databases) as well as the with the current UI.

    Andy

On 28/12/2023 11:18, Marco Neumann wrote:
Hi Andy,
I remember reading about a replacement of jetty as the default servlet
container for fuseki. Is that still the case going forward?

Marco

On Thu, Dec 28, 2023 at 10:41 AM Andy Seaborne <a...@apache.org> wrote:

Jena5 is the next planned release for Apache Jena.

** All issues for Jena5:

https://github.com/apache/jena/issues?q=is%3Aissue+label%3AJena5

** Java Requirement

Java 17 or later is required.
Artifacts are Java17 bytecode.
Java 17 language constructs now are used in the codebase.

** Term graphs

Graphs are now term graphs in the API or SPARQL. That is, they do not
match "same value" for some of the java mapped datatypes. The model API
already normalizes values written.

The default in-memory graphs become term graphs.

TDB1, TDB2 keep their value canonicalization during data loading.

A legacy value-graph implementation can be obtained from GraphMemFactory.

** Language tags

Language tags become are case-insensitive unique.

"abc"@EN and "abc"@en are the same RDF term.

Internally, language tags are formatted using the algorithm of RFC 5646.

Examples "@en", "@en-GB", "@en-Latn-GB".

SPARQL LANG(?literal) will return a formatted language tag.

Data stored in TDB using language tags must be reloaded.

** RRX - New RDF/XML parser

RRX is the default RDF/XML parser. It is a replacement for ARP.
RIOT uses RRX.

* daml:collection is not supported.
* Strict rdf:parseType
* Relative namespaces supported.

The ARP parser is still temporarily available for transition assistance.

** Remove support for JSON-LD 1.0

JSON-LD 1.1, using Titanium-JSON-LD, is the supported version of JSON-LD.

https://github.com/filip26/titanium-json-ld

** Turtle/Trig Output

"PREFIX" and "BASE" are output by default for Turtle and TriG output.


==== API Users

** Deprecation removal

There has been a general clearing out of deprecated functions, methods
and classes. This includes deprecations in Jena 4.10.0 added to show
code that is being removed in Jena5.

** QueryExecutionFactory

QueryExecutionFactory is simplified to cover commons cases only; it
becomes a way to call the general QueryExecution builders are full query
execution setup.

Local execution builder:
QueryExecution.create()...

Remote execution builder:
QueryExecution.service(URL)...

** QueryExecution variable substitution

Using "substitution", where the query is modified by replacing one or
more variables by RDF terms, is now preferred to using "initial
bindings", where query solutions include (var,value) pairs.

"substitution" is available for all queries, local and remote, not just
local executions.


==== Fuseki Users

Fuseki: Uses the jakarta namespace for servlets and Fuseki has been
upgraded to use Eclipse Jetty12.

Apache Tomcat10 or later, is required for running the WAR file.
Tomcat 9 or earlier will not work.



Reply via email to