AW: Duplicates in the "Available services" list in UI?
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 > 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 > 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 > >>> 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, 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. > >
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 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 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, 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
Re: Duplicates in the "Available services" list in UI?
@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 wrote: > @Marco: For documentation, the screenshot is now at > https://imgur.com/a/1WTaQnZ > > @all: As a user, I just have no idea what the duplicates could mean. > > 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 > > 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. > > Cheers, Joachim > > > -Ursprüngliche Nachricht- > > Von: Bruno Kinoshita > > 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, 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 > > > > > > > > -- --- Marco Neumann KONA
AW: Duplicates in the "Available services" list in UI?
@Marco: For documentation, the screenshot is now at https://imgur.com/a/1WTaQnZ @all: As a user, I just have no idea what the duplicates could mean. 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 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. Cheers, Joachim > -Ursprüngliche Nachricht- > Von: Bruno Kinoshita > 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, 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 > > > > >