Hi Frans URI rewriting is a big deal IMHO - I am interested in exploring options to add a more flexible layer to the platform. Where I was working at CSIRO a while back we developed a partial solution (there are some key use cases around re-using rules sets - binding an known API template to a service endpoint for a given URI root ought to be the primary mechanism IMHO).
Its at https://github.com/SISS/PID (the wiki appears to be down). Managing a complex set of rules - including optional parameters in any order and content-negotiation is not scalable in apache rewrite. Maybe other URI rewriting platforms would be better. An example of URI rewriting rules that can be supported is at: http://environment.data.gov.au/water/id/catchment/100862?_view=alternates&_format=html (those links are generated by reasoning over VoiD descriptions of data sets - annotated with the _view parameter from the Linked Data API, which controls the information model being asked for in content-negotiation (as opposed the the encoding - or MIME type). Ideally I'd like the URIrewriting to be controlled by the same data, instead of an out-of-band XML artefact (the current CSIRO PID service). Anyone interested in pursing this I'd be happy to join a team to work out a path forward. Cheers Rob Atkinson On Sat, 30 Apr 2016 at 00:02 Frans Knibbe <frans.kni...@geodan.nl> wrote: > Hello, > > The following addition to my Apache HTTPD configuration seems to work > well: > > RewriteEngine on > <Location "/mydataset"> > RewriteRule ^ > http://www.example.org/marmotta/resource?uri=http://%{HTTP_HOST}%{REQUEST_URI} > </Location> > > Regards, > Frans > > > > 2016-04-29 13:02 GMT+02:00 Frans Knibbe <frans.kni...@geodan.nl>: > >> Thank you Sergio, that certainly helps. >> >> I have just tested this approach, and after I found out my {BASE} value ( >> http://www.example.com/marmotta) I could successfully GET the resources >> in the format specified in the Accept header. >> >> So I think that if I want the resource URIs to be dereferencable directly >> I have to configure some HTTP query rewriting. I will give that a try. >> >> Greetings, >> Frans >> >> >> >> 2016-04-26 17:40 GMT+02:00 Sergio Fernández <wik...@apache.org>: >> >>> Hi Frans, >>> >>> On Tue, Apr 26, 2016 at 4:14 PM, Frans Knibbe <frans.kni...@geodan.nl> >>> wrote: >>>> >>>> What doesn't work (yet) is dereferencing the URIs in my dataset. For >>>> example, http://www.example.com/mydataset or >>>> http://www.example.com/mydataset/myResource give HTTP 404 errors >>>> (produced by Tomcat). >>>> >>>> Is there a way to enable or configure URI dereferencing in Marmotta? >>>> >>> >>> Whenever either a context or a resource is not named (located) under the >>> default namespace, http://www.example.com/context/... and >>> http://www.example.com/resource/... respectively, Marmotta provides an >>> alternative way to dereference them: >>> >>> * /context?graph=<URI> >>> * /resource?uri=<URI> >>> >>> In your case: >>> >>> * >>> http://www.example.com/context?graph=http%3A%2F%2Fwww.example.com%2Fmydataset >>> >>> * >>> http://www.example.com/resource?uri=http%3A%2F%2Fwww.example.com%2Fmydataset%2FmyResource >>> >>> If you are interested about further background, that's the relevant >>> documentation: >>> >>> * Graph Identification at SPARQL 1.1 Graph Store >>> HTTP Protocol: >>> https://www.w3.org/TR/sparql11-http-rdf-update/#graph-identification >>> >>> * https://bitbucket.org/srfgkmt/lmf/wiki/Principles-Linked-Media >>> >>> Hope that helps. >>> >>> Cheers, >>> >>> -- >>> Sergio Fernández >>> Partner Technology Manager >>> Redlink GmbH >>> m: +43 6602747925 >>> e: sergio.fernan...@redlink.co >>> w: http://redlink.co >>> >> >> >