Hi Andy, all, The new style (I wasn't even aware of https://jena.apache.org/documentation/fuseki2/fuseki-config-endpoint.html) seems pretty flexible. For me, the most important thing was that I can configure the actual endpoint URIs, and remove the dataset level one. That done however, the query UI gives me a 404. So I suppose it may be difficult to figure out something which is working as well as is intuitive.
Cheers, Joachim > -----Ursprüngliche Nachricht----- > Von: Andy Seaborne <a...@apache.org> > Gesendet: Sonntag, 20. Februar 2022 17:33 > An: users@jena.apache.org > Betreff: Re: Duplicates in the "Available services" list in UI? > > On 20/02/2022 12:58, Marco Neumann wrote: > > @Joachim: That is indeed something to consider. Fuseki is very liberal > > with its default settings. users should be aware that they basically > > expose the entire data set if they install the service as accessible on the > public web. > > > > On Sun, Feb 20, 2022 at 10:46 AM Neubert, Joachim <j.neub...@zbw.eu> > wrote: > > > >> @Marco: For documentation, the screenshot is now at > >> https://imgur.com/a/1WTaQnZ > > FYI: This is not related to the new UI. It was there before. > > >> @all: As a user, I just have no idea what the duplicates could mean. > > @all: So what should the defaults be? This is template driven (see > run/templates/) which is currently legacy style. > > When this was implemented, there didn't seem to be one majority style > across triplestores, so Fuseki provides a composite. > > And now with "fuseki:endpoint" it allows detailed setup. > > Different endpoints to the same function can have different Fuseki-ACLs and > different context, e.g. 2 query endpoints, one with TDB2 default union graph, > and one without. > > >> As a system administrator, my long-time understanding was that > >> services can only be accessed by operation-specific URLs, not by the > >> general one for the dataset. I want to expose /query and perhaps > >> /get, but surely not /update or /data. So my setup includes a > >> firewall not allowing port 3030, and reverse proxy rules like this: > >> > >> ProxyPass /beta/sparql/wikidata/query > >> http://127.0.0.1:3030/wikidata/query retry=0 ProxyPassReverse > >> /beta/sparql/wikidata/query http://127.0.0.1:3030/wikidata/query > > Yes - expose what you intend to. > > >> In a quick check, access to /beta/sparql/wikidata is denied (404), so > >> the approach seems to work anyway, but it was a bit scary to me that > >> I could have accidentally exposed more than I'd intended. > > The ProxyPass is not related to the Fuseki server. So no /beta/sparql/wikidata > - it didn't even get to Fuseki. > > Andy > > >> > >> Cheers, Joachim > >> > >>> -----Ursprüngliche Nachricht----- > >>> Von: Bruno Kinoshita <brunodepau...@gmail.com> > >>> Gesendet: Samstag, 19. Februar 2022 20:29 > >>> An: users@jena.apache.org > >>> Betreff: Re: Duplicates in the "Available services" list in UI? > >>> > >>> Maybe we could add help icons to the UI, with a brief description to > >> users > >>> about things like the endpoints (including duplicates are OK), the > >> editable > >>> sparql endpoint added yesterday, content types, etc. > >>> > >>> Bruno > >>> > >>> On Sun, 20 Feb 2022, 08:23 Andy Seaborne, <a...@apache.org> wrote: > >>> > >>>> > >>>> > >>>> On 19/02/2022 17:15, Neubert, Joachim wrote: > >>>>> In the Fuseki UI, I get apparent duplicates in the service list > >>>>> (see also screenshot): > >>>>> > >>>>> SPARQL Update /wikidata/ > >>>>> SPARQL Update /wikidata/update > >>>> > >>>> That's fine. > >>>> > >>>> That's two endpoints both of which provide update. > >>>> > >>>> Because you used fuseki:serviceUpdate the server adds both the > >>>> named endpoint and the enables the operation on the dataset URL - > >>>> this is for long-time compatibility. > >>>> > >>>> In new-style setup, the config file specifices exactly what teh > >>>> server will have: > >>>> ("new" is several years!) > >>>> > >>>> > >>>> Example 1: > >>>> <#service_wikidata> rdf:type fuseki:Service ; > >>>> fuseki:name "wikidata" ; > >>>> fuseki:endpoint [ > >>>> fuseki:operation fuseki:update ; > >>>> ] ; > >>>> fuseki:endpoint [ > >>>> fuseki:operation fuseki:update ; > >>>> fuseki:name "update" > >>>> ] ; > >>>> .... > >>>> > >>>> Example 2: > >>>> :service rdf:type fuseki:Service ; > >>>> fuseki:name "dataset" ; > >>>> fuseki:endpoint [ > >>>> fuseki:operation fuseki:query ; > >>>> fuseki:name "sparql" ; > >>>> ] ; > >>>> fuseki:endpoint [ > >>>> fuseki:operation fuseki:update ; > >>>> fuseki:name "sparql" ; > >>>> ] ; > >>>> fuseki:dataset :dataset ; > >>>> . > >>>> > >>>> Query and Update on /dataset/sparql. > >>>> > >>>> No name, or fuseki:name "" for an endpoint is the dataset itself. > >>>> This is for all the SPARQL standard functions but does include GSP. > >>>> Dispatch is based on content type, and query string. > >>>> > >>>> Andy > >>>> > >>>>> > >>>>> Is something wrong with my definitions (below), or is that an > >>>>> interface issue? > >>>>> > >>>>> Cheers, Joachim > >>>>> > >>>>> Fuseki: VERSION: 4.5.0-SNAPSHOT > >>>>> > >>>>> Fuseki: BUILD_DATE: 2022-02-09T18:01:44Z > >>>>> > >>>>> <#service_wikidata> rdf:type fuseki:Service ; > >>>>> > >>>>> rdfs:label "wikidata TDB Service (RW)" ; > >>>>> > >>>>> fuseki:name "wikidata" ; > >>>>> > >>>>> fuseki:serviceQuery "query" ; > >>>>> > >>>>> fuseki:serviceQuery "sparql" ; > >>>>> > >>>>> fuseki:serviceUpdate "update" ; > >>>>> > >>>>> fuseki:serviceUpload "upload" ; > >>>>> > >>>>> fuseki:serviceReadWriteGraphStore "data" ; > >>>>> > >>>>> fuseki:serviceReadGraphStore "get" ; > >>>>> > >>>>> fuseki:dataset :wikidata ; > >>>>> > >>>>> . > >>>>> > >>>>> -- > >>>>> > >>>>> Joachim Neubert > >>>>> > >>>>> ZBW – Leibniz Information Centre for Economics > >>>>> > >>>>> Neuer Jungfernstieg 21 > >>>>> 20354 Hamburg > >>>>> > >>>>> Phone +49-40-42834-462 > >>>>> > >>>> > >> > > > >