This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/jena-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 4b608ec07 Updated site from main
(0ae4f2d82c2d820890ceb549292e98004eaf5c27)
4b608ec07 is described below
commit 4b608ec070c4a13ba856d268a5ef98cc87c77d41
Author: jenkins <[email protected]>
AuthorDate: Sat Feb 21 08:18:06 2026 +0000
Updated site from main (0ae4f2d82c2d820890ceb549292e98004eaf5c27)
---
content/documentation/fuseki2/index.html | 5 +
...ql-assembler.html => fuseki-mod-geosparql.html} | 168 +++++++++++----------
.../geosparql/geosparql-assembler.html | 13 +-
content/documentation/geosparql/index.html | 12 +-
content/documentation/index.xml | 13 +-
content/documentation/query/service_enhancer.html | 38 +++--
content/index.json | 2 +-
content/index.xml | 13 +-
content/sitemap.xml | 13 +-
9 files changed, 164 insertions(+), 113 deletions(-)
diff --git a/content/documentation/fuseki2/index.html
b/content/documentation/fuseki2/index.html
index 8f0217e99..7e14ff422 100644
--- a/content/documentation/fuseki2/index.html
+++ b/content/documentation/fuseki2/index.html
@@ -235,6 +235,11 @@ transactional, persistent storage layer. Fuseki also
incorporates
</ul>
</li>
<li>Extending Fuseki with <a href="fuseki-modules.html">Fuseki Modules</a></li>
+<li>Included Fuseki Modules
+<ul>
+<li><a href="../geosparql/fuseki-mod-geosparql.html">GeoSPARQL Fuseki
Module</a></li>
+</ul>
+</li>
<li><a href="rdf-sparql-standards.html">Links to Standards</a></li>
</ul>
<p>The Jena users mailing is the place to get help with Fuseki.</p>
diff --git a/content/documentation/geosparql/geosparql-assembler.html
b/content/documentation/geosparql/fuseki-mod-geosparql.html
similarity index 50%
copy from content/documentation/geosparql/geosparql-assembler.html
copy to content/documentation/geosparql/fuseki-mod-geosparql.html
index e8a7437c2..b8a39eeb3 100644
--- a/content/documentation/geosparql/geosparql-assembler.html
+++ b/content/documentation/geosparql/fuseki-mod-geosparql.html
@@ -3,7 +3,7 @@
<head>
- <title>Apache Jena - GeoSPARQL Assembler</title>
+ <title>Apache Jena - GeoSPARQL Fuseki Module</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -126,7 +126,7 @@
- <li class="nav-item" id="edit"><a class="nav-link"
href="https://github.com/apache/jena-site/edit/main/source/documentation/geosparql/geosparql-assembler.md"
title="Edit this page on GitHub"><span class="bi-pencil-square"></span><span
class="text-body d-none d-xxl-inline"> Edit this page</span></a></li>
+ <li class="nav-item" id="edit"><a class="nav-link"
href="https://github.com/apache/jena-site/edit/main/source/documentation/geosparql/fuseki-mod-geosparql.md"
title="Edit this page on GitHub"><span class="bi-pencil-square"></span><span
class="text-body d-none d-xxl-inline"> Edit this page</span></a></li>
</ul>
</div>
</div>
@@ -165,7 +165,7 @@
- <li class="breadcrumb-item active">GEOSPARQL ASSEMBLER</li>
+ <li class="breadcrumb-item active">FUSEKI MOD GEOSPARQL</li>
@@ -176,95 +176,107 @@
</div>
- <h1 class="title">GeoSPARQL Assembler</h1>
+ <h1 class="title">GeoSPARQL Fuseki Module</h1>
<main class="d-flex flex-xl-row flex-column">
<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><a href="#spatial-indexer-endpoint-configuration">Spatial Indexer
Endpoint Configuration</a></li>
+ <li><a href="#spatial-indexer-web-api">Spatial Indexer Web API</a></li>
+ </ul>
+</nav>
</aside>
<article class="flex-column me-lg-4">
- <p>Details of the GeoSPARQL support are provided on the <a
href="index">GeoSPARQL page</a>.</p>
-<p>The assembler for GeoSPARQL support is part of the
<code>jena-geosparql</code> artifact and
-must be on the Fuseki server classpath, along with its dependencies.</p>
-<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#008000;font-weight:bold"><dependency></span>
-</span></span><span style="display:flex;"><span> <span
style="color:#008000;font-weight:bold"><groupId></span>org.apache.jena<span
style="color:#008000;font-weight:bold"></groupId></span>
-</span></span><span style="display:flex;"><span> <span
style="color:#008000;font-weight:bold"><artifactId></span>jena-geosparql<span
style="color:#008000;font-weight:bold"></artifactId></span>
-</span></span><span style="display:flex;"><span> <span
style="color:#008000;font-weight:bold"><version></span>...<span
style="color:#008000;font-weight:bold"></version></span>
-</span></span><span style="display:flex;"><span><span
style="color:#008000;font-weight:bold"></dependency></span>
-</span></span></code></pre></div><p>or download the binary from the
-<a href="https://repo1.maven.org/maven2/org/apache/jena/jena-geosparql/">Maven
central repository org/apache/jena/jena-geosparql</a></p>
-<p>The GeoSPARQL assembler can be used in a Fuseki configuration file.</p>
-<p>This example is of a read-only:</p>
-<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-sparql" data-lang="sparql"><span
style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">fuseki</span>: <span
style="color:#a0a000"><http://jena.apache.org/fuseki#></span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">rdf</span>: <span
style="color:#a0a000"><http://www.w3.org/1999/02/22-rdf-syntax-ns#></span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">rdfs</span>: <span
style="color:#a0a000"><http://www.w3.org/2000/01/rdf-schema#></span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">tdb2</span>: <span
style="color:#a0a000"><http://jena.apache.org/2016/tdb#></span>
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">ja</span>: <span
style="color:#a0a000"><http://jena.hpl.hp.com/2005/11/Assembler#></span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">geosparql</span>: <span
style="color:#a0a000"><http://jena.apache.org/geosparql#></span>
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#service></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">Service</span>;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">name</span> <span
style="color:#b44">"geo"</span>;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">endpoint</span> [ <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">operation</span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">query</span>; ] ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">dataset</span> <span
style="color:#a0a000"><#geo_ds></span> .
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#geo_ds></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">geosparqlDataset</span> ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">spatialIndexFile</span> <span
style="color:#b44">"DB/spatial.index"</span>;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">dataset</span> <span
style="color:#a0a000"><#baseDataset></span> ;
-</span></span><span style="display:flex;"><span> .
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#baseDataset></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">tdb2</span>:<span
style="color:#008000;font-weight:bold">DatasetTDB2</span> ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">tdb2</span>:<span
style="color:#008000;font-weight:bold">location</span> <span
style="color:#b44">"DB/"</span> ;
-</span></span><span style="display:flex;"><span> .
-</span></span></code></pre></div><p>It is possible to run with a data file
loaded into memory and
-a spatial in-memory index:</p>
-<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-sparql" data-lang="sparql"><span
style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">fuseki</span>: <span
style="color:#a0a000"><http://jena.apache.org/fuseki#></span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">rdf</span>: <span
style="color:#a0a000"><http://www.w3.org/1999/02/22-rdf-syntax-ns#></span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">rdfs</span>: <span
style="color:#a0a000"><http://www.w3.org/2000/01/rdf-schema#></span>
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">ja</span>: <span
style="color:#a0a000"><http://jena.hpl.hp.com/2005/11/Assembler#></span>
-</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">geosparql</span>: <span
style="color:#a0a000"><http://jena.apache.org/geosparql#></span>
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#service></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">Service</span>;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">name</span> <span
style="color:#b44">"ds"</span>;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">endpoint</span> [ <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">operation</span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">query</span>; ] ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">dataset</span> <span
style="color:#a0a000"><#geo_ds></span> .
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># In-memory data and index.</span>
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#geo_ds></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">geosparqlDataset</span> ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">dataset</span> <span
style="color:#a0a000"><#baseDataset></span> .
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#baseDataset></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">ja</span>:<span
style="color:#008000;font-weight:bold">MemoryDataset</span> ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">ja</span>:<span
style="color:#008000;font-weight:bold">data</span> <span
style="color:#a0a000"><file:geosparql_data.ttl></span> ;
-</span></span><span style="display:flex;"><span> .
-</span></span></code></pre></div><p>The full assembler properties with the
default settings is:</p>
-<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-turtle" data-lang="turtle"><span
style="display:flex;"><span><span
style="color:#b8860b"><#geo_ds></span><span style="color:#bbb">
</span><span style="color:#00f;font-weight:bold">rdf:</span><span
style="color:#008000;font-weight:bold">type</span><span style="color:#bbb">
</span><span style="color:#00f;font-weight:bold">geosparql:</span><span sty
[...]
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic">#
Build in-memory is absent.</span><span style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">spatialIndexFile</span><span
style="color:#bbb"> </span><span
style="color:#b44">"spatial.index"</span>;<span style="color:#bbb">
+ <p>The GeoSPARQL Fuseki Module features an endpoint to manage a
dataset’s spatial index. The endpoint comes with an HTML view and a
corresponding API.
+Spatial indexes need to be manually updated after modifications to the
underlying RDF data.
+The spatial indexer endpoint allows one to reindex specific graphs or all
graphs of an underlying dataset.
+Spatial datasets are generally configured using the <a
href="geosparql-assembler.html">GeoSPARQL Assembler</a>.</p>
+<p>The architecture is as follows: The Fuseki2 server in the Java module
<code>jena-fuseki-server</code> ships with the GeoSPARQL Fuseki Module in
<code>jena-fuseki-mod-geosparql</code>. The latter depends on
<code>jena-geosparql</code> for GeoSPARQL support.</p>
+<h2 id="spatial-indexer-endpoint-configuration">Spatial Indexer Endpoint
Configuration</h2>
+<p>The following snippet summarizes how to declare a spatial indexer endpoint
in a Fuseki configuration.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-turtle" data-lang="turtle"><span
style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span><span style="color:#bbb">
</span><span style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#bbb"> </span><span
style="color:#b8860b"><http://jena.apache.org/fuseki#></span><span
style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"></span><span
style="color:#b8860b"><#ep-spatial-indexer></span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">name</span><span style="color:#bbb">
</span><span style="color:#b44">"spatial-indexer"</span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">operation</span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">spatial-indexer</span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">allowedUsers</span><span
style="color:#bbb"> </span><span style="color:#b44">"anne"</span><span
style="color:#bbb"> </span>.<span style="color:#bbb"> </span><span
style="color:#080;font-style:italic"># Optional access control.</span><span
style="color:#bbb">
+</span></span></span></code></pre></div><p>The spatial indexer endpoint needs
to be registered with a service. The following shows an example where the
spatial indexer endpoint is registered next to a usual query and update
endpoint. Make sure to see Fuseki’s documentation about <a
href="../fuseki2/fuseki-data-access-control.html#acl">Access Control Lists</a>
for securing your endpoints.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-turtle" data-lang="turtle"><span
style="display:flex;"><span><span
style="color:#b8860b"><#service></span><span style="color:#bbb">
</span><span style="color:#0b0;font-weight:bold">a</span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">Service</span><span style [...]
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">name</span><span style="color:#bbb">
</span><span style="color:#b44">"ds"</span><span style="color:#bbb">
</span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">endpoint</span><span style="color:#bbb">
</span>[<span style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">operation</span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span style="c [...]
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">endpoint</span><span style="color:#bbb">
</span>[<span style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">name</span><span style="color:#bbb">
</span><span style="color:#b44">"update"</span><span
style="color:#bbb"> < [...]
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic"># This
is the configuration for the spatial indexer endpoint:</span><span
style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">endpoint</span><span style="color:#bbb">
</span>[<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">name</span><span style="color:#bbb">
</span><span style="color:#b44">"spatial-indexer"</span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">operation</span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">spatial-indexer</span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">allowedUsers</span><span
style="color:#bbb"> </span><span style="color:#b44">"anne"</span><span
style="color:#bbb"> </span>.<span style="color:#bbb"> </span><span
style="color:#080;font-style:italic"># Optional access control.</span><span
style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span>]<span style="color:#bbb"> </span>;<span
style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic">##
Default settings. See documentation for meanings.</span><span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">inference</span><span
style="color:#bbb"> </span>true<span style="color:#bbb">
</span>;<span style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">queryRewrite</span><span
style="color:#bbb"> </span>true<span style="color:#bbb"> </span>;<span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">indexEnabled</span><span
style="color:#bbb"> </span>true<span style="color:#bbb"> </span>;<span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">applyDefaultGeometry</span><span
style="color:#bbb"> </span>false<span style="color:#bbb"> </span>;<span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic"># 3
item lists: [Geometry Literal, Geometry Transform, Query Rewrite]</span><span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">indexSizes</span><span
style="color:#bbb"> </span><span
style="color:#b44">"-1,-1,-1"</span><span style="color:#bbb">
</span>;<span style="color:#bbb"> </span><span
style="color:#080;font-style:italic"># Default - unlimited.</span><span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">indexExpires</span><span
style="color:#bbb"> </span><span
style="color:#b44">"5000,5000,5000"</span><span style="color:#bbb">
</span>;<span style="color:#bbb"> </span><span
style="color:#080;font-style:italic"># Default - time in
milliseconds.</span><span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic"># ...
further configuration ...</span><span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">fuseki:</span><span
style="color:#008000;font-weight:bold">dataset</span><span style="color:#bbb">
</span><span style="color:#b8860b"><#your-spatial-dataset></span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span>.<span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic">##
Required setting - data over which GeoSPARQL is applied.</span><span
style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">dataset</span><span style="color:#bbb">
</span><span style="color:#b8860b"><#baseDataset></span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span>.<span style="color:#bbb">
-</span></span></span></code></pre></div>
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"></span><span style="color:#080;font-style:italic"># The
dataset referenced by fuseki:dataset should be of type
"geosparql:GeosparqlDataset":</span><span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"></span><span style="color:#080;font-style:italic">#
<#your-spatial-dataset> a geosparql:GeosparqlDataset ;</span><span
style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"></span><span style="color:#080;font-style:italic">#
...</span><span style="color:#bbb">
+</span></span></span></code></pre></div><h2
id="spatial-indexer-web-api">Spatial Indexer Web API</h2>
+<ul>
+<li>
+<p>Access the spatial indexer web page.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
http://localhost:3030/ds/spatial-indexer
+</span></span></code></pre></div></li>
+<li>
+<p>Note, if access control is enabled, then curl’s <code>-u</code>
option (short for <code>--user</code>) can be used to supply the
credentials:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
http://localhost:3030/ds/spatial-indexer -u <span
style="color:#b44">'user:password'</span>
+</span></span></code></pre></div></li>
+<li>
+<p>List available graphs. This API is used by the spatial indexer HTML view to
render the list of available graphs. The <code>keyword</code>,
<code>limit</code>, and <code>offset</code> parameters are optional. The
<code>keyword</code> parameter performs a case-insensitive substring match over
graph URIs. The default graph and union graph constants are members of this set
and can also be passed to the <code>graph</code> option of the
<code>index</code> command. The union graph constant i [...]
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
-X POST <span
style="color:#b44">'http://localhost:3030/ds/spatial-indexer?command=graphs&offset=1&limit=10&keyword=graph'</span>
+</span></span></code></pre></div><div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-json" data-lang="json"><span
style="display:flex;"><span>[<span
style="color:#b44">"urn:x-arq:DefaultGraph"</span>,<span
style="color:#b44">"urn:x-arq:UnionGraph"</span>,<span
style="color:#b44">"https://example.org/graph"</span>]
+</span></span></code></pre></div></li>
+<li>
+<p>Retrieve status information. Only a single indexing task can be active per
dataset.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
-X POST <span
style="color:#b44">'http://localhost:3030/ds/spatial-indexer?command=status'</span>
+</span></span></code></pre></div><div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-json" data-lang="json"><span
style="display:flex;"><span>{<span
style="color:#008000;font-weight:bold">"isIndexing"</span>:<span
style="color:#a2f;font-weight:bold">true</span>,<span
style="color:#008000;font-weight:bold">"isAborting"</span>:<span
style="color:#a2f;font-weight:bold">false</span>,<span st [...]
+</span></span></code></pre></div></li>
+<li>
+<p>Start a cleanup task. This removes dangling graph entries from the spatial
index. These are entries in the spatial index for which there is no longer a
corresponding graph in the dataset.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
-X POST <span
style="color:#b44">'http://localhost:3030/ds/spatial-indexer?command=clean'</span>
+</span></span></code></pre></div></li>
+<li>
+<p>Start an indexing task. This request does not wait for indexing to
complete.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
-X POST <span
style="color:#b44">'http://localhost:3030/ds/spatial-indexer?command=index'</span>
+</span></span></code></pre></div></li>
+<li>
+<p>Index specific graphs using the <code>graphs</code> option. The value must
be a JSON array of strings with graph names.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
-X POST <span
style="color:#b44">'http://localhost:3030/ds/spatial-indexer?command=index'</span>
<span style="color:#b62;font-weight:bold">\
+</span></span></span><span style="display:flex;"><span><span
style="color:#b62;font-weight:bold"></span> --data-urlencode <span
style="color:#b44">'graphs=["urn:x-arq:DefaultGraph","http://your.named/graph"]'</span>
+</span></span></code></pre></div></li>
+<li>
+<p>Cancel a running indexing or clean task.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
-X POST <span
style="color:#b44">'http://localhost:3030/ds/spatial-indexer?command=cancel'</span>
+</span></span></code></pre></div></li>
+<li>
+<p>If an index task failed, such as due to cancellation, then the
<code>error</code> field will contain a stack trace with information.</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl
-X POST <span
style="color:#b44">'http://localhost:3030/ds/spatial-indexer?command=status'</span>
+</span></span></code></pre></div><div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-json" data-lang="json"><span
style="display:flex;"><span>{<span
style="color:#008000;font-weight:bold">"isIndexing"</span>:<span
style="color:#a2f;font-weight:bold">false</span>,<span
style="color:#008000;font-weight:bold">"error"</span>:<span
style="color:#b44">"java.lang.InterruptedException\n(stac [...]
+</span></span></code></pre></div></li>
+</ul>
+
</article>
<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><a href="#spatial-indexer-endpoint-configuration">Spatial Indexer
Endpoint Configuration</a></li>
+ <li><a href="#spatial-indexer-web-api">Spatial Indexer Web API</a></li>
+ </ul>
+</nav>
</aside>
</main>
diff --git a/content/documentation/geosparql/geosparql-assembler.html
b/content/documentation/geosparql/geosparql-assembler.html
index e8a7437c2..b0ae78319 100644
--- a/content/documentation/geosparql/geosparql-assembler.html
+++ b/content/documentation/geosparql/geosparql-assembler.html
@@ -212,14 +212,17 @@ must be on the Fuseki server classpath, along with its
dependencies.</p>
</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">fuseki</span>:<span
style="color:#008000;font-weight:bold">dataset</span> <span
style="color:#a0a000"><#geo_ds></span> .
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#geo_ds></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">geosparqlDataset</span> ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">spatialIndexFile</span> <span
style="color:#b44">"DB/spatial.index"</span>;
+</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">spatialIndexFile</span> <span
style="color:#b44">"run/databases/tdb2/mydb/spatial.index"</span>;
</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">dataset</span> <span
style="color:#a0a000"><#baseDataset></span> ;
+</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">geosparql</span>:<span
style="color:#008000;font-weight:bold">srsUri</span> <span
style="color:#a0a000"><http://www.opengis.net/def/crs/OGC/1.3/CRS84></span>
; <span style="color:#080;font-style:italic"># See note below.</span>
</span></span><span style="display:flex;"><span> .
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span
style="color:#a0a000"><#baseDataset></span> <span
style="color:#00f;font-weight:bold">rdf</span>:<span
style="color:#008000;font-weight:bold">type</span> <span
style="color:#00f;font-weight:bold">tdb2</span>:<span
style="color:#008000;font-weight:bold">DatasetTDB2</span> ;
-</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">tdb2</span>:<span
style="color:#008000;font-weight:bold">location</span> <span
style="color:#b44">"DB/"</span> ;
+</span></span><span style="display:flex;"><span> <span
style="color:#00f;font-weight:bold">tdb2</span>:<span
style="color:#008000;font-weight:bold">location</span> <span
style="color:#b44">"run/databases/tdb2/mydb"</span> ;
</span></span><span style="display:flex;"><span> .
-</span></span></code></pre></div><p>It is possible to run with a data file
loaded into memory and
+</span></span></code></pre></div><p>It is strongly advised to explicitly
define a value for <code>geosparql:srsUri</code>. The spatial reference system
(SRS) URI is needed during the initial construction of a spatial index. The SRS
associated with an <em>existing</em> index takes precedence over the assembler
option. In order for a modified SRS assembler configuration to take effect, the
the existing persistent index file (pointed to by
<code>geosparql:spatialIndexFile</code>) needs to b [...]
+If <code>geosparql:srsUri</code> is absent, then a value will be automatically
computed by scanning all available geometric data and randomly selecting from
the most prevalent SRS URIs. Scanning may take a while for large datasets.</p>
+<p>It is possible to run with a data file loaded into memory and
a spatial in-memory index:</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-sparql" data-lang="sparql"><span
style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">fuseki</span>: <span
style="color:#a0a000"><http://jena.apache.org/fuseki#></span>
</span></span><span style="display:flex;"><span><span
style="color:#a2f;font-weight:bold">PREFIX</span> <span
style="color:#00f;font-weight:bold">rdf</span>: <span
style="color:#a0a000"><http://www.w3.org/1999/02/22-rdf-syntax-ns#></span>
@@ -244,7 +247,9 @@ a spatial in-memory index:</p>
</span></span></code></pre></div><p>The full assembler properties with the
default settings is:</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-turtle" data-lang="turtle"><span
style="display:flex;"><span><span
style="color:#b8860b"><#geo_ds></span><span style="color:#bbb">
</span><span style="color:#00f;font-weight:bold">rdf:</span><span
style="color:#008000;font-weight:bold">type</span><span style="color:#bbb">
</span><span style="color:#00f;font-weight:bold">geosparql:</span><span sty
[...]
</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic">#
Build in-memory is absent.</span><span style="color:#bbb">
-</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">spatialIndexFile</span><span
style="color:#bbb"> </span><span
style="color:#b44">"spatial.index"</span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">spatialIndexFile</span><span
style="color:#bbb"> </span><span
style="color:#b44">"run/databases/tdb2/mydb/spatial.index"</span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb">
+</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">srsUri</span><span style="color:#bbb">
</span><span
style="color:#b8860b"><http://www.opengis.net/def/crs/OGC/1.3/CRS84></span><span
style="color:#bbb"> </span>;<span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span
style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span style="color:#080;font-style:italic">##
Default settings. See documentation for meanings.</span><span
style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span
style="color:#bbb"> </span><span
style="color:#00f;font-weight:bold">geosparql:</span><span
style="color:#008000;font-weight:bold">inference</span><span
style="color:#bbb"> </span>true<span style="color:#bbb">
</span>;<span style="color:#bbb">
diff --git a/content/documentation/geosparql/index.html
b/content/documentation/geosparql/index.html
index 5646d5cdb..77f8a8759 100644
--- a/content/documentation/geosparql/index.html
+++ b/content/documentation/geosparql/index.html
@@ -224,11 +224,13 @@
</nav>
</aside>
<article class="flex-column me-lg-4">
- <p>An implementation of GeoSPARQL 1.0 standard for SPARQL query or API.</p>
-<p>Integration with Fuseki is provided either by using the
-<a href="geosparql-assembler.html">GeoSPARQL assembler</a> or using the
self-contained original
-<a href="geosparql-fuseki.html">jena-fuseki-geosparql</a>. In either case,
this page
-describes the GeoSPARQL supported features.</p>
+ <p>An implementation of the GeoSPARQL 1.0 standard for SPARQL queries and
APIs.</p>
+<p>The recommended way to integrate GeoSPARQL with Fuseki is using
+the <a href="geosparql-assembler.html">GeoSPARQL assembler</a> to specify a
spatial dataset
+and then use <a href="fuseki-mod-geosparql.html">Fuseki Mod GeoSPARQL</a> to
configure an endpoint to manage that dataset’s spatial index.
+An alternative self-contained Fuseki package
+<a href="geosparql-fuseki.html">jena-fuseki-geosparql</a> is provided (does
not contain the spatial index management).
+In either case, this page describes the GeoSPARQL supported features.</p>
<h2 id="getting-started">Getting Started</h2>
<p>GeoSPARQL Jena can be accessed as a library using Maven etc. from Maven
Central.</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#008000;font-weight:bold"><dependency></span>
diff --git a/content/documentation/index.xml b/content/documentation/index.xml
index 88d8ff627..8d2419884 100644
--- a/content/documentation/index.xml
+++ b/content/documentation/index.xml
@@ -75,14 +75,14 @@
<link>https://jena.apache.org/documentation/fuseki2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://jena.apache.org/documentation/fuseki2/</guid>
- <description><p>Apache Jena Fuseki is a SPARQL server. It can run
as a standalone server, or embedded in
an
application.</p>
<p>Fuseki provides the
SPARQL 1.1
<a href="http://www.w3.org/TR/sparql11-protocol/">protocols for
query and update</a>
as well as the
<a
href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph
Store protocol</a>.</p>
<p>Fuseki is integrated with
<a hre [...]
+ <description><p>Apache Jena Fuseki is a SPARQL server. It can run
as a standalone server, or embedded in
an
application.</p>
<p>Fuseki provides the
SPARQL 1.1
<a href="http://www.w3.org/TR/sparql11-protocol/">protocols for
query and update</a>
as well as the
<a
href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph
Store protocol</a>.</p>
<p>Fuseki is integrated with
<a hre [...]
</item>
<item>
<title>Apache Jena GeoSPARQL</title>
<link>https://jena.apache.org/documentation/geosparql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://jena.apache.org/documentation/geosparql/</guid>
- <description><p>An implementation of GeoSPARQL 1.0 standard for
SPARQL query or API.</p>
<p>Integration with Fuseki is provided
either by using the
<a
href="geosparql-assembler.html">GeoSPARQL assembler</a> or
using the self-contained original
<a
href="geosparql-fuseki.html">jena-fuseki-geosparql</a>. In
either case, this page
describes the GeoSPARQL supported
features.</p>
<h2 id="getting-s [...]
+ <description><p>An implementation of the GeoSPARQL 1.0 standard
for SPARQL queries and APIs.</p>
<p>The recommended way to
integrate GeoSPARQL with Fuseki is using
the <a
href="geosparql-assembler.html">GeoSPARQL assembler</a> to
specify a spatial dataset
and then use <a
href="fuseki-mod-geosparql.html">Fuseki Mod GeoSPARQL</a> to
configure an endpoint to manage that dataset&rsquo;s spatial index.
An
alte [...]
</item>
<item>
<title>Apache Jena Initialization</title>
@@ -572,7 +572,7 @@
<link>https://jena.apache.org/documentation/geosparql/geosparql-assembler.html</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://jena.apache.org/documentation/geosparql/geosparql-assembler.html</guid>
- <description><p>Details of the GeoSPARQL support are provided on
the <a href="index">GeoSPARQL
page</a>.</p>
<p>The assembler for GeoSPARQL support is
part of the <code>jena-geosparql</code> artifact and
must be on
the Fuseki server classpath, along with its dependencies.</p>
<div
class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:
[...]
+ <description><p>Details of the GeoSPARQL support are provided on
the <a href="index">GeoSPARQL
page</a>.</p>
<p>The assembler for GeoSPARQL support is
part of the <code>jena-geosparql</code> artifact and
must be on
the Fuseki server classpath, along with its dependencies.</p>
<div
class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:
[...]
</item>
<item>
<title>GeoSPARQL Fuseki</title>
@@ -581,6 +581,13 @@
<guid>https://jena.apache.org/documentation/geosparql/geosparql-fuseki.html</guid>
<description><p>This application provides a HTTP server compliant
with the GeoSPARQL standard.</p>
<p>GeoSPARQL can also be
integrated with Fuseki using the
<a
href="#fuseki-assembler">GeoSPARQL assembler</a> with a
general Fuseki server.</p>
<h2
id="jena-fuseki-geosparql"><code>jena-fuseki-geosparql</code></h2>
<p>GeoSPARQL
Fuseki can be accessed as an embedded server using Maven etc. [...]
</item>
+ <item>
+ <title>GeoSPARQL Fuseki Module</title>
+
<link>https://jena.apache.org/documentation/geosparql/fuseki-mod-geosparql.html</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
<guid>https://jena.apache.org/documentation/geosparql/fuseki-mod-geosparql.html</guid>
+ <description><p>The GeoSPARQL Fuseki Module features an endpoint
to manage a dataset&rsquo;s spatial index. The endpoint comes with an HTML
view and a corresponding API.
Spatial indexes need to be manually updated
after modifications to the underlying RDF data.
The spatial indexer
endpoint allows one to reindex specific graphs or all graphs of an underlying
dataset.
Spatial datasets are generally configured using the <a
href="geosparql-assembler.html [...]
+ </item>
<item>
<title>HTTP Authentication</title>
<link>https://jena.apache.org/documentation/sparql-apis/http-auth.html</link>
diff --git a/content/documentation/query/service_enhancer.html
b/content/documentation/query/service_enhancer.html
index dbea12aef..8b0aec7f2 100644
--- a/content/documentation/query/service_enhancer.html
+++ b/content/documentation/query/service_enhancer.html
@@ -431,28 +431,38 @@ Presently, the global instance cannot be configured via
the assembler.</p>
<h5 id="before-jena-410">Before Jena 4.10</h5>
<p>No additional dependencies are needed.</p>
<h5 id="jena-410-and-jena-5">Jena 4.10 and Jena 5</h5>
-<p>Guava needs to be supplied externally, as it is no longer part of
Jena’s core.</p>
+<p>Guava needs to be supplied externally, as it is no longer part of
Jena’s core. The simplest way is by using Maven, to also fetch its
+dependencies or build a JAR bundle.</p>
<ul>
-<li>
-<p>A Guava JAR can be downloaded manually, such as from the Maven Central
repository, by picking a <code>guava-VERSION.jar</code> file from the <a
href="https://repo1.maven.org/maven2/com/google/guava/guava/">published Guava
versions</a>. Typically, all newer versions should work. When in doubt,
cross-check with the declaration(s) in the service enhancer’s POM
file.</p>
-</li>
-<li>
-<p>The POM file of the SE module includes a <code>bundle</code> profile which
can be used to build a JAR bundle using <a
href="https://maven.apache.org/">Apache Maven</a> using the commands below. Be
sure to replace <code>VERSION</code> with a version that matches that of your
Fuseki setup. See also the <a
href="https://repo1.maven.org/maven2/org/apache/jena/jena-serviceenhancer/">published
Service Enhancer versions</a>.</p>
-</li>
+<li>You can fetch and copy both the module and its dependencies.</li>
</ul>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># Fetch the serviceenhancer pom</span>
</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># and save it as
./jena-serviceenhancer.pom</span>
</span></span><span style="display:flex;"><span>mvn dependency:copy -D<span
style="color:#b44">'artifact=org.apache.jena:jena-serviceenhancer:VERSION:pom'</span>
<span style="color:#b62;font-weight:bold">\
</span></span></span><span style="display:flex;"><span><span
style="color:#b62;font-weight:bold"></span> -Dmdep.stripVersion<span
style="color:#666">=</span><span style="color:#a2f">true</span> -D<span
style="color:#b44">'outputDirectory=.'</span>
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># Build using the 'bundle' profile
which creates the (shaded) JAR bundle</span>
-</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic">#
./target/jena-serviceenhancer-VERSION.jar</span>
-</span></span><span style="display:flex;"><span>mvn -f
jena-serviceenhancer.pom -Pbundle package
+</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># Download the dependency itself</span>
+</span></span><span style="display:flex;"><span>mvn dependency:copy -D<span
style="color:#b44">'artifact=org.apache.jena:jena-serviceenhancer:VERSION:jar'</span>
<span style="color:#b62;font-weight:bold">\
+</span></span></span><span style="display:flex;"><span><span
style="color:#b62;font-weight:bold"></span> -D<span
style="color:#b44">'outputDirectory=jars'</span>
+</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># Download required dependencies</span>
+</span></span><span style="display:flex;"><span> mvn -f
jena-serviceenhancer.pom -Pbundle dependency:copy-dependencies <span
style="color:#b62;font-weight:bold">\
+</span></span></span><span style="display:flex;"><span><span
style="color:#b62;font-weight:bold"></span> -DincludeScope<span
style="color:#666">=</span>runtime -DoutputDirectory<span
style="color:#666">=</span>jars
+</span></span></code></pre></div><ul>
+<li>Alternatively, the POM file of the SE module includes a
<code>bundle</code> profile which can be used to build a JAR bundle using <a
href="https://maven.apache.org/">Apache Maven</a> using the commands below. Be
sure to replace <code>VERSION</code> with a version that matches that of your
Fuseki setup. See also the <a
href="https://repo1.maven.org/maven2/org/apache/jena/jena-serviceenhancer/">published
Service Enhancer versions</a>.</li>
+</ul>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># Clone the repository</span>
+</span></span><span style="display:flex;"><span>git clone
https://github.com/apache/jena.git
+</span></span><span style="display:flex;"><span><span
style="color:#a2f">cd</span> jena
+</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># Checkout the tagged version matching
your Apache Jena Fuseki</span>
+</span></span><span style="display:flex;"><span>git checkout jena-VERSION
+</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># build jena-serviceenhancer and
dependencies from the jena dir</span>
+</span></span><span style="display:flex;"><span>mvn package -B -pl
jena-serviceenhancer -am -Pbundle -DskipTests
+</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic"># the resulting bundled jar file is
in</span>
+</span></span><span style="display:flex;"><span><span
style="color:#080;font-style:italic">#
./jena-serviceenhancer/target/jena-serviceenhancer-VERSION.jar</span>
</span></span></code></pre></div><h4
id="adding-the-service-enhancer-jar">Adding the Service Enhancer JAR</h4>
<p>This section assumes that one of the distributions of
<code>apache-jena-fuseki</code> has been downloaded from
[https://jena.apache.org/download/].
-The extracted folder should contain the <code>./fuseki-server</code>
executable start script which automatically loads all jars (relative to
<code>$PWD</code>) under <code>run/extra</code>.
-These folders need to be created e.g. using <code>mkdir -p run/extra</code>.
The SE plugin can be manually built or downloaded from maven central, as
described in the prior section.
-Placing it into the <code>run/extra</code> folder makes it available for use
with Fuseki. The plugin and Fuseki version should match.</p>
+The extracted folder should contain the <code>./fuseki-server</code>
executable start script which automatically loads all jars from
<code>$FUSEKI_BASE/extra</code> where <code>$FUSEKI_BASE</code> defaults to
<code>./run</code>.
+These folders need to be created e.g. using <code>mkdir -p
${FUSEKI_BASE:-./run}/extra</code>. The SE plugin can be manually built or
downloaded from maven central, as described in the prior section.
+Placing it into the <code>$FUSEKI_BASE/extra</code> folder makes it available
for use with Fuseki. The plugin and Fuseki version should match.</p>
<h4 id="fuseki-assembler-configuration">Fuseki Assembler Configuration</h4>
<p>The snippet below shows a simple setup of enabling the SE plugin for a
given base dataset.
Cache management can be performed via SPARQL extension functions. However,
usually not every user should be allowed to invalidate caches as this
diff --git a/content/index.json b/content/index.json
index ff3314b0b..401a16473 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 c9b9b53c9..42662637f 100644
--- a/content/index.xml
+++ b/content/index.xml
@@ -89,14 +89,14 @@
<link>https://jena.apache.org/documentation/fuseki2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://jena.apache.org/documentation/fuseki2/</guid>
- <description><p>Apache Jena Fuseki is a SPARQL server. It can run
as a standalone server, or embedded in
an
application.</p>
<p>Fuseki provides the
SPARQL 1.1
<a href="http://www.w3.org/TR/sparql11-protocol/">protocols for
query and update</a>
as well as the
<a
href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph
Store protocol</a>.</p>
<p>Fuseki is integrated with
<a hre [...]
+ <description><p>Apache Jena Fuseki is a SPARQL server. It can run
as a standalone server, or embedded in
an
application.</p>
<p>Fuseki provides the
SPARQL 1.1
<a href="http://www.w3.org/TR/sparql11-protocol/">protocols for
query and update</a>
as well as the
<a
href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph
Store protocol</a>.</p>
<p>Fuseki is integrated with
<a hre [...]
</item>
<item>
<title>Apache Jena GeoSPARQL</title>
<link>https://jena.apache.org/documentation/geosparql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://jena.apache.org/documentation/geosparql/</guid>
- <description><p>An implementation of GeoSPARQL 1.0 standard for
SPARQL query or API.</p>
<p>Integration with Fuseki is provided
either by using the
<a
href="geosparql-assembler.html">GeoSPARQL assembler</a> or
using the self-contained original
<a
href="geosparql-fuseki.html">jena-fuseki-geosparql</a>. In
either case, this page
describes the GeoSPARQL supported
features.</p>
<h2 id="getting-s [...]
+ <description><p>An implementation of the GeoSPARQL 1.0 standard
for SPARQL queries and APIs.</p>
<p>The recommended way to
integrate GeoSPARQL with Fuseki is using
the <a
href="geosparql-assembler.html">GeoSPARQL assembler</a> to
specify a spatial dataset
and then use <a
href="fuseki-mod-geosparql.html">Fuseki Mod GeoSPARQL</a> to
configure an endpoint to manage that dataset&rsquo;s spatial index.
An
alte [...]
</item>
<item>
<title>Apache Jena Initialization</title>
@@ -628,7 +628,7 @@
<link>https://jena.apache.org/documentation/geosparql/geosparql-assembler.html</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://jena.apache.org/documentation/geosparql/geosparql-assembler.html</guid>
- <description><p>Details of the GeoSPARQL support are provided on
the <a href="index">GeoSPARQL
page</a>.</p>
<p>The assembler for GeoSPARQL support is
part of the <code>jena-geosparql</code> artifact and
must be on
the Fuseki server classpath, along with its dependencies.</p>
<div
class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:
[...]
+ <description><p>Details of the GeoSPARQL support are provided on
the <a href="index">GeoSPARQL
page</a>.</p>
<p>The assembler for GeoSPARQL support is
part of the <code>jena-geosparql</code> artifact and
must be on
the Fuseki server classpath, along with its dependencies.</p>
<div
class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:
[...]
</item>
<item>
<title>GeoSPARQL Fuseki</title>
@@ -637,6 +637,13 @@
<guid>https://jena.apache.org/documentation/geosparql/geosparql-fuseki.html</guid>
<description><p>This application provides a HTTP server compliant
with the GeoSPARQL standard.</p>
<p>GeoSPARQL can also be
integrated with Fuseki using the
<a
href="#fuseki-assembler">GeoSPARQL assembler</a> with a
general Fuseki server.</p>
<h2
id="jena-fuseki-geosparql"><code>jena-fuseki-geosparql</code></h2>
<p>GeoSPARQL
Fuseki can be accessed as an embedded server using Maven etc. [...]
</item>
+ <item>
+ <title>GeoSPARQL Fuseki Module</title>
+
<link>https://jena.apache.org/documentation/geosparql/fuseki-mod-geosparql.html</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
<guid>https://jena.apache.org/documentation/geosparql/fuseki-mod-geosparql.html</guid>
+ <description><p>The GeoSPARQL Fuseki Module features an endpoint
to manage a dataset&rsquo;s spatial index. The endpoint comes with an HTML
view and a corresponding API.
Spatial indexes need to be manually updated
after modifications to the underlying RDF data.
The spatial indexer
endpoint allows one to reindex specific graphs or all graphs of an underlying
dataset.
Spatial datasets are generally configured using the <a
href="geosparql-assembler.html [...]
+ </item>
<item>
<title>Getting help with Jena</title>
<link>https://jena.apache.org/help_and_support/</link>
diff --git a/content/sitemap.xml b/content/sitemap.xml
index 0133d608d..c632a6eaf 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -39,10 +39,10 @@
<lastmod>2021-11-05T11:40:17+00:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation/fuseki2/</loc>
- <lastmod>2025-05-17T09:00:40+01:00</lastmod>
+ <lastmod>2025-06-07T21:14:32+02:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation/geosparql/</loc>
- <lastmod>2024-03-28T22:35:37+01:00</lastmod>
+ <lastmod>2025-06-07T21:14:32+02:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation/notes/system-initialization.html</loc>
<lastmod>2023-01-07T15:49:38+00:00</lastmod>
@@ -209,7 +209,7 @@
<lastmod>2023-04-09T15:11:22+02:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation.html</loc>
- <lastmod>2026-02-04T16:33:15+00:00</lastmod>
+ <lastmod>2026-02-09T22:21:16+01:00</lastmod>
</url><url>
<loc>https://jena.apache.org/download.html</loc>
<lastmod>2026-01-27T11:01:53+00:00</lastmod>
@@ -278,10 +278,13 @@
<lastmod>2023-08-15T14:34:21+01:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation/geosparql/geosparql-assembler.html</loc>
- <lastmod>2024-03-28T22:35:37+01:00</lastmod>
+ <lastmod>2025-06-07T21:14:32+02:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation/geosparql/geosparql-fuseki.html</loc>
<lastmod>2024-03-28T22:35:37+01:00</lastmod>
+ </url><url>
+
<loc>https://jena.apache.org/documentation/geosparql/fuseki-mod-geosparql.html</loc>
+ <lastmod>2025-06-07T21:14:32+02:00</lastmod>
</url><url>
<loc>https://jena.apache.org/help_and_support/</loc>
<lastmod>2023-11-23T00:10:28+01:00</lastmod>
@@ -539,7 +542,7 @@
<lastmod>2021-11-05T16:04:36+00:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation/query/service_enhancer.html</loc>
- <lastmod>2024-03-20T12:48:23+01:00</lastmod>
+ <lastmod>2026-02-09T22:21:16+01:00</lastmod>
</url><url>
<loc>https://jena.apache.org/documentation/fuseki2/soh.html</loc>
<lastmod>2023-02-05T18:59:30+01:00</lastmod>