Hi Ludovic,

in case it is of interest, we currently have the aksw/fuseki-
vanilla:5.0.0-1 (or -geoplus) docker containers of Jena 5 (yes, still
needs to be updated....).  We make them using the fuseki-main server,
and also using the modular parts that Andy created out of Fuseki at [1]
and launch it with the fuseki-main command [2] (originally posted on
the afs repo)

We just build each module like jena-fuseki-server that is required
using maven, then pack up the jar files to be loaded.  You can find our
Dockerfile at [3]

You can try it out immediately:

docker run --rm --init aksw/fuseki-geoplus:5.0.0-1

Our plan is to make it into an action for easier usage (still has to
happen though)

Cheers,
Simon

[1] https://github.com/afs/fuseki-mods
[2] https://github.com/AKSW/fuseki-mods/blob/adaptions/apache-fuseki/fuseki-main
[3] 
https://gitlab.com/coypu-project/tools/fuseki-with-jenax/-/blob/fuseki-modded/coypu-fuseki-modded/Dockerfile




On Tue, 2024-08-13 at 10:42 +0100, Andy Seaborne wrote:
> Hi Ludovic,
> 
> 
> 
> On 25/07/2024 15:06, Ludovic Muller wrote:
> > Hi!
> > 
> > Thank you for all your great work on Apache Jena and Fuseki!
> > 
> > I need a Fuseki instance that has the following:
> > 
> > - the Fuseki core features
> > - the [HTTP Administration
> > Protocol](https://jena.apache.org/documentation/fuseki2/fuseki-serv
> > er-protocol.html)
> > - the UI
> > - GeoSPARQL support
> > - shiro, that can read its configuration from a `shiro.ini` file
> > - get the Fuseki configuration from a `config.ttl` file (where we
> > can define all the datasets we need, it can be GeoSPARQL or non-
> > GeoSPARQL ones) ; I don't need any help for writing the file, I
> > just need the instance to be able to read them.
> > 
> > I managed to trick to get it working for the 4.x versions of Apache
> > Jena, but I'm not able to upgrade to 5.x, as it always fails to
> > start.
> > 
> > The way I did it was to
> > [patch](https://github.com/zazuko/fuseki-geosparql/blob/226c94e8450
> > 05d306438ef4415602fd3c40cdc27/patches/enable-geosparql.diff) the
> > `jena-fuseki2/jena-fuseki-core/pom.xml` file to include the `jena-
> > geosparql` artifact, and then run `mvn package -
> > Dmaven.javadoc.skip=true -DskipTests` in `jena-fuseki2`.
> > 
> > This is how everything was built:
> > https://github.com/zazuko/fuseki-geosparql/blob/226c94e845005d306438ef4415602fd3c40cdc27/Dockerfile
> > 
> > Do you have a cleaner and more stable way to create such a Fuseki
> > instance?
> > By this, I think of creating a new dedicated Maven project (or
> > similar) that includes all the necessary dependencies and
> > configurations.
> > But I will need some help with that, as I never managed to get all
> > parts working together.
> > 
> > I know that the Fuseki HTTP Administration Protocol does not
> > support GeoSPARQL features (for example create a GeoSPARQL dataset
> > from here) ; it could be great to have this in the future (if it
> > was not already done), but for now the focus is on getting the
> > Fuseki instance with all the mentioned features again, so that we
> > can upgrade in an easier way in the future.
> > The administration protocol is great for the ping, for the
> > compaction, and many other great features, that's why I still need
> > it.
> > Creating the datasets is done manually in the ttl configuration
> > file, so if for now it’s not done using the administration protocol
> > is not a huge issue for now.
> > 
> > Right now, when I try to build it using the same way I've done it
> > until now, I get the following error:
> > 
> > ```
> > [fuseki 2024-07-25 07:52:45:534 +0000] [main] WARN
> > org.eclipse.jetty.ee10.webapp.WebAppContext {} - Failed startup of
> > context
> > oeje10w.WebAppContext@13ebccd{org.apache.jena.fuseki.Servlet,/,b=fi
> > le:///opt/fuseki/webapp/,a=STOPPED,h=oeje10s.SessionHandler@4e80960
> > a{STOPPED}} <file:///opt/fuseki/webapp/,a=STOPPED,h=oeje10s.Session
> > Handler@4e80960a%7BSTOPPED%7D%7D>
> > java.lang.IllegalArgumentException: Unable to mount FileSystem from
> > unsupported URI: jar:file:/opt/fuseki/fuseki-server.jar!/
> >   at
> > org.eclipse.jetty.util.resource.FileSystemPool.mount(FileSystemPool
> > .java:135) ~[fuseki-server.jar:5.1.0]
> >   at
> > org.eclipse.jetty.util.resource.ResourceFactoryInternals$CompositeR
> > esourceFactory.mountIfNeeded(ResourceFactoryInternals.java:268)
> > ~[fuseki-server.jar:5.1.0]
> > ```
> > 
> > Can someone help me with this?
> 
> What should work is to take jena-fuseki-fulljar POM  which is the 
> fuseki-server.jar in the apache-jena-fuseki download
> and add jena-geosparql.
> 
> That's not much different to adding it to jena-fuseki-core, just
> better 
> to put it in later.
> 
> But I don't see why something causes "jar:file:" -- why the "file:"
> is 
> appearing.
> 
>      Andy
> 
> > Best,
> > Ludovic Muller.
> 
> 

Reply via email to