You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by gi...@apache.org on 2023/06/07 18:47:12 UTC

[jena-site] branch asf-staging updated: Staged site from fuseki-modules (8842c7fb7f32f7fba5f28057ae3a3afe7bb4d246)

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/jena-site.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new 0586d002d Staged site from fuseki-modules (8842c7fb7f32f7fba5f28057ae3a3afe7bb4d246)
0586d002d is described below

commit 0586d002d95fe049924da5451a5068aee066e234
Author: jenkins <bu...@apache.org>
AuthorDate: Wed Jun 7 18:47:08 2023 +0000

    Staged site from fuseki-modules (8842c7fb7f32f7fba5f28057ae3a3afe7bb4d246)
---
 content/documentation/fuseki2/fuseki-modules.html | 128 ++++++++++++++++------
 content/documentation/index.xml                   |   6 +-
 content/index.json                                |   2 +-
 content/index.xml                                 |   6 +-
 content/sitemap.xml                               |   4 +-
 5 files changed, 102 insertions(+), 44 deletions(-)

diff --git a/content/documentation/fuseki2/fuseki-modules.html b/content/documentation/fuseki2/fuseki-modules.html
index 505cc5f8e..2722084ff 100644
--- a/content/documentation/fuseki2/fuseki-modules.html
+++ b/content/documentation/fuseki2/fuseki-modules.html
@@ -181,49 +181,82 @@
   
   <aside class="text-muted align-self-start mb-3 p-0 d-xl-none d-block">
     <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
-    <nav id="TableOfContents"></nav>
+    <nav id="TableOfContents">
+  <ul>
+    <li>
+      <ul>
+        <li><a href="#automatically-loaded">Automatically loaded</a></li>
+        <li><a href="#programmaticaly-configuring-a-server">Programmaticaly configuring a server</a></li>
+        <li><a href="#fuseki-module-operations">Fuseki Module operations</a></li>
+        <li><a href="#fusekimodule-interface"><code>FusekiModule</code> interface</a></li>
+      </ul>
+    </li>
+  </ul>
+</nav>
   </aside>
   <article class="flex-column me-lg-4">
     <p><em>Fuseki modules</em> are a mechanism to include extension code into a Fuseki
 server. Modules are invoked during the process of building a <a href="./fuseki-main.html">Fuseki
-Main</a> server. The module can modify the server
+Main</a> server. A module can modify the server
 configuration, add new functionality, or react to a server being built and
 started.</p>
-<p>This feature was added in Jena version 4.3.0. They are an expeirmental feature
+<p>This feature was added in Jena version 4.3.0. It is an expeirmental feature
 that will evolve based on experineace and use cases.</p>
-<p>Fuseki Modules are loaded use the JDK
-<a href="https://www.baeldung.com/java-spi">ServiceLoader</a> by being placing a jar file on the classpath,
+<p>FusekiModules can be provided in two ways:</p>
+<ul>
+<li>Loaded from additional jars on the classpath</li>
+<li>Programmatically controlling the setup of the <code>FusekiServer</code> server.</li>
+</ul>
+<h3 id="automatically-loaded">Automatically loaded</h3>
+<p>Fuseki Modules can be loaded use the JDK
+<a href="https://www.baeldung.com/java-spi">ServiceLoader</a> by being placing
+a jar file on the classpath,
 together with any additional dependencies. The service loader looks for files
 <code>META-INF/services/org.apache.jena.fuseki.main.sys.FusekiModule</code> in the jar
-file.
-This is often done by placing the file in the development code in
+file.</p>
+<p>This is often done by placing the file in the development code in
 <code>src/main/resources/META-INF/services/</code>).
 The file containing a line with the implementation full class name. If
 <a href="../notes/jena-repack.html">repacking</a> Fuseki with the maven-shade-plugin, make
 sure the <code>ServicesResourceTransformer</code> is used. The module must have a no
 argument constructor.</p>
-<p>If using Fuseki as an <a href="./fuseki-embedded.html">embedded server</a>, the module is
-added in code as:</p>
-<pre tabindex="0"><code>    FusekiModule module = new MyModule();
-    FusekiModules.add(module);
-</code></pre><p>The method <code>start</code> is called when the module is loaded. Custom operations can
+<p>The method <code>start</code> is called when the module is loaded. Custom operations can
 be globally registered at this point (see the <a href="https://github.com/apache/jena/tree/main/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/examples">Fuseki
 examples</a> directory).</p>
+<h3 id="programmaticaly-configuring-a-server">Programmaticaly configuring a server</h3>
+<p>If using Fuseki as an <a href="./fuseki-embedded.html">embedded server</a>, the module is
+added in code as:</p>
+<pre tabindex="0"><code>    FusekiModule myModule = new MyModule();
+    FusekiModules fmods = FusekiModules.create(myModule);
+    FusekiServer server = FusekiServer.create()
+        ...
+        .fusekiModules(fmods)
+        ...
+        .build();  
+</code></pre><p><code>FusekiModule.start()</code> is not automatically called.</p>
+<h3 id="fuseki-module-operations">Fuseki Module operations</h3>
 <p>The module lifecycle during creating a Fuseki server is:</p>
 <ul>
-<li><code>configuration</code> - access and modify the setup.
-This is called after the server has been configured, just before the server is built.</li>
-<li><code>server</code> - access the built server</li>
-<li><code>serverBeforeStarting</code> - about to call &ldquo;server.start()&rdquo;</li>
-<li><code>serverAfterStarting</code> - just after calling &ldquo;server.start()&rdquo;</li>
-<li><code>serverStopped</code> - called as the server stop
+<li><code>prepare</code> - called at the start of the server
+build steps before setting up the datasets.</li>
+<li><code>configured</code> - access and modify the setup.
+This is called after the server has been configured, before the server is built.
+It defaults to calls to <code>configDataAccessPoint</code> for dataset being hosted by the server.</li>
+<li><code>server</code> - called after the built, beforee the return of <code>FusekiServerBuilder.build()</code></li>
+</ul>
+<p>and the Fuseki start up sequence is:</p>
+<ul>
+<li><code>serverBeforeStarting</code> - called at the start of <code>server.start()</code></li>
+<li><code>serverAfterStarting</code> - called at the end of <code>server.start()</code></li>
+<li><code>serverStopped</code> - called as just after the server
+has stopped in the <code>server.stop()</code> call.
 (note, this is not always called because a server can simply exit the JVM).</li>
 </ul>
-<p>A Fuseki module does not need to implement all these steps, the default for all
+<p>A Fuseki module does not need to implement all these steps. The default for all
 of them is &ldquo;do nothing&rdquo;. Usually, an extension will only be interested in
 certain stpes, like the configuration and registry information of
 <code>configuration</code>.</p>
-<p>During the configuration step, the Fuskei configuration file for the server is
+<p>During the configuration step, the Fuseki configuration file for the server is
 available. If the server is built programmatically without a configuration file,
 this is null.</p>
 <p>The configuration file can contain RDF information to build resources (e.g.
@@ -231,7 +264,7 @@ contains assembler descriptions not directly linked to the server).</p>
 <p>There is an <a href="https://github.com/apache/jena/blob/main/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/examples/ExFusekiMain_3_FusekiModule.java">example Fuseki
 Module</a>
 in the Fuseki examples directory.</p>
-<p><code>FusekiModule</code> interface:</p>
+<h3 id="fusekimodule-interface"><code>FusekiModule</code> interface</h3>
 <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic"> * Module interface for Fuseki.
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic"> * &lt;p&gt;
@@ -240,37 +273,51 @@ in the Fuseki examples directory.</p>
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic"> */</span>
 </span></span><span style="display:flex;"><span><span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">interface</span> <span style="color:#00f">FusekiModule</span> <span style="color:#a2f;font-weight:bold">extends</span> SubsystemLifecycle <span style="color:#666">{</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/**
-</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * Unique (within this server) name to identify this module.
-</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * The default is to generate an UUID.
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * Display name to identify this module.
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     */</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> String <span style="color:#00a000">name</span><span style="color:#666">();</span>
 </span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/** Module loaded */</span>
+</span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/** Module loaded by the JVM service loader */</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#a2f">@Override</span>
-</span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">start</span><span style="color:#666">()</span> <span style="color:#666">{}</span>
+</span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">start</span><span style="color:#666">()</span> <span style="color:#666">{</span> <span style="color:#666">}</span>
 </span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">// ---- Build cycle
+</span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">// -- Build cycle.
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic"></span>
 </span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * Called at the start of &#34;build&#34; step. The builder has been set according to the
-</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * configuration. The &#34;configModel&#34; parameter is set if a configuration file was
-</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * used otherwise it is null.
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * configuration of API calls and parsing configuration files. No build actions have been carried out yet.
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * The module can make further FusekiServer.{@link Builder} calls.
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * The &#34;configModel&#34; parameter is set if a configuration file was used otherwise it is null.
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     */</span>
-</span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">configuration</span><span style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span style="color:#b44">Builder</span> builder<span style="color:#666">,</span> DataAccessPointRegistry dapRegistry<span style="color:#666">,</spa [...]
-</span></span><span style="display:flex;"><span>        dapRegistry<span style="color:#666">.</span><span style="color:#b44">accessPoints</span><span style="color:#666">().</span><span style="color:#b44">forEach</span><span style="color:#666">(</span>accessPoint<span style="color:#666">-&gt;</span>configDataAccessPoint<span style="color:#666">(</span>builder<span style="color:#666">,</span> accessPoint<span style="color:#666">,</span> configModel<span style="color:#666">));</span>
+</span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">prepare</span><span style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span style="color:#b44">Builder</span> serverBuilder<span style="color:#666">,</span> Set<span style="color:#666">&lt;</span>String<span style="color:#6 [...]
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>     <span style="color:#080;font-style:italic">/**
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      * Called after the DataAccessPointRegistry has been built.
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      * &lt;p&gt;
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      * The default implementation is to call {@link #configDataAccessPoint(DataAccessPoint, Model)}
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      * for each {@link DataAccessPoint}.
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      * &lt;pre&gt;
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      *    dapRegistry.accessPoints().forEach(accessPoint{@literal -&gt;}configDataAccessPoint(accessPoint, configModel));
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      * &lt;/pre&gt;
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">      */</span>
+</span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">configured</span><span style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span style="color:#b44">Builder</span> serverBuilder<span style="color:#666">,</span> DataAccessPointRegistry dapRegistry<span style="color:#666">,</ [...]
+</span></span><span style="display:flex;"><span>        dapRegistry<span style="color:#666">.</span><span style="color:#b44">accessPoints</span><span style="color:#666">().</span><span style="color:#b44">forEach</span><span style="color:#666">(</span>accessPoint<span style="color:#666">-&gt;</span>configDataAccessPoint<span style="color:#666">(</span>accessPoint<span style="color:#666">,</span> configModel<span style="color:#666">));</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#666">}</span>
 </span></span><span style="display:flex;"><span>
 </span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/**
-</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * This method is called for each {@link DataAccessPoint}
-</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * by the default implementation of {@link #configuration}.
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * This method is called for each {@link DataAccessPoint} by the default
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * implementation of {@link #configured} after the new servers
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * DataAccessPointRegistry has been built.
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     */</span>
-</span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">configDataAccessPoint</span><span style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span style="color:#b44">Builder</span> builder<span style="color:#666">,</span> DataAccessPoint dap<span style="color:#666">,</span> Model [...]
+</span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">configDataAccessPoint</span><span style="color:#666">(</span>DataAccessPoint dap<span style="color:#666">,</span> Model configModel<span style="color:#666">)</span> <span style="color:#666">{}</span>
 </span></span><span style="display:flex;"><span>
 </span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * Built, not started, about to be returned to the builder caller.
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     */</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">server</span><span style="color:#666">(</span>FusekiServer server<span style="color:#666">)</span> <span style="color:#666">{</span> <span style="color:#666">}</span>
 </span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">// -- Server start up
+</span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic"></span>
 </span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     * Server starting - called just before server.start happens.
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     */</span>
@@ -289,7 +336,7 @@ in the Fuseki examples directory.</p>
 </span></span></span><span style="display:flex;"><span><span style="color:#080;font-style:italic">     */</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">serverStopped</span><span style="color:#666">(</span>FusekiServer server<span style="color:#666">)</span> <span style="color:#666">{</span> <span style="color:#666">}</span>
 </span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/** Module unloaded */</span>
+</span></span><span style="display:flex;"><span>    <span style="color:#080;font-style:italic">/** Module unloaded : do not rely on this happening. */</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#a2f">@Override</span>
 </span></span><span style="display:flex;"><span>    <span style="color:#a2f;font-weight:bold">public</span> <span style="color:#a2f;font-weight:bold">default</span> <span style="color:#0b0;font-weight:bold">void</span> <span style="color:#00a000">stop</span><span style="color:#666">()</span> <span style="color:#666">{}</span>
 </span></span><span style="display:flex;"><span><span style="color:#666">}</span>
@@ -298,7 +345,18 @@ in the Fuseki examples directory.</p>
   
   <aside class="text-muted align-self-start mb-3 mb-xl-5 p-0 d-none d-xl-flex flex-column sticky-top">
     <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
-    <nav id="TableOfContents"></nav>
+    <nav id="TableOfContents">
+  <ul>
+    <li>
+      <ul>
+        <li><a href="#automatically-loaded">Automatically loaded</a></li>
+        <li><a href="#programmaticaly-configuring-a-server">Programmaticaly configuring a server</a></li>
+        <li><a href="#fuseki-module-operations">Fuseki Module operations</a></li>
+        <li><a href="#fusekimodule-interface"><code>FusekiModule</code> interface</a></li>
+      </ul>
+    </li>
+  </ul>
+</nav>
   </aside>
 </main>
 
diff --git a/content/documentation/index.xml b/content/documentation/index.xml
index 8067c2142..a0f5f2496 100644
--- a/content/documentation/index.xml
+++ b/content/documentation/index.xml
@@ -810,9 +810,9 @@ Many web log analysers can process this format.</description>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://jena.apache.org/documentation/fuseki2/fuseki-modules.html</guid>
-      <description>Fuseki modules are a mechanism to include extension code into a Fuseki server. Modules are invoked during the process of building a Fuseki Main server. The module can modify the server configuration, add new functionality, or react to a server being built and started.
-This feature was added in Jena version 4.3.0. They are an expeirmental feature that will evolve based on experineace and use cases.
-Fuseki Modules are loaded use the JDK ServiceLoader by being placing a jar file on the classpath, together with any additional dependencies.</description>
+      <description>Fuseki modules are a mechanism to include extension code into a Fuseki server. Modules are invoked during the process of building a Fuseki Main server. A module can modify the server configuration, add new functionality, or react to a server being built and started.
+This feature was added in Jena version 4.3.0. It is an expeirmental feature that will evolve based on experineace and use cases.
+FusekiModules can be provided in two ways:</description>
     </item>
     
     <item>
diff --git a/content/index.json b/content/index.json
index 2225c7766..f5709af50 100644
--- a/content/index.json
+++ b/content/index.json
@@ -1 +1 @@
-[{"categories":null,"contents":"This page is historical \u0026ldquo;for information only\u0026rdquo; - there is no Apache release of Eyeball and the code has not been updated for Jena3.\nThe original source code is available. So you\u0026rsquo;ve got Eyeball installed and you\u0026rsquo;ve run it on one of your files, and Eyeball doesn\u0026rsquo;t like it. You\u0026rsquo;re not sure why, or what to do about it. Here\u0026rsquo;s what\u0026rsquo;s going on.\nEyeball inspects your model a [...]
\ No newline at end of file
+[{"categories":null,"contents":"This page is historical \u0026ldquo;for information only\u0026rdquo; - there is no Apache release of Eyeball and the code has not been updated for Jena3.\nThe original source code is available. So you\u0026rsquo;ve got Eyeball installed and you\u0026rsquo;ve run it on one of your files, and Eyeball doesn\u0026rsquo;t like it. You\u0026rsquo;re not sure why, or what to do about it. Here\u0026rsquo;s what\u0026rsquo;s going on.\nEyeball inspects your model a [...]
\ No newline at end of file
diff --git a/content/index.xml b/content/index.xml
index b25200c0a..4df856345 100644
--- a/content/index.xml
+++ b/content/index.xml
@@ -872,9 +872,9 @@ Many web log analysers can process this format.</description>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://jena.apache.org/documentation/fuseki2/fuseki-modules.html</guid>
-      <description>Fuseki modules are a mechanism to include extension code into a Fuseki server. Modules are invoked during the process of building a Fuseki Main server. The module can modify the server configuration, add new functionality, or react to a server being built and started.
-This feature was added in Jena version 4.3.0. They are an expeirmental feature that will evolve based on experineace and use cases.
-Fuseki Modules are loaded use the JDK ServiceLoader by being placing a jar file on the classpath, together with any additional dependencies.</description>
+      <description>Fuseki modules are a mechanism to include extension code into a Fuseki server. Modules are invoked during the process of building a Fuseki Main server. A module can modify the server configuration, add new functionality, or react to a server being built and started.
+This feature was added in Jena version 4.3.0. It is an expeirmental feature that will evolve based on experineace and use cases.
+FusekiModules can be provided in two ways:</description>
     </item>
     
     <item>
diff --git a/content/sitemap.xml b/content/sitemap.xml
index 3c6df8739..2e1fd6c2c 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -201,7 +201,7 @@
     <lastmod>2023-04-09T15:11:22+02:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation.html</loc>
-    <lastmod>2023-06-06T21:08:29+02:00</lastmod>
+    <lastmod>2023-06-07T19:01:10+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/download.html</loc>
     <lastmod>2023-04-16T17:26:15+01:00</lastmod>
@@ -249,7 +249,7 @@
     <lastmod>2022-09-18T09:08:25+02:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation/fuseki2/fuseki-modules.html</loc>
-    <lastmod>2022-02-01T20:25:33+00:00</lastmod>
+    <lastmod>2023-06-07T19:01:10+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation/fuseki2/fuseki-quick-start.html</loc>
     <lastmod>2021-09-16T13:13:09+02:00</lastmod>