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
>>>
>>
>>
>

Reply via email to