- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Wed, 4 Jan 2012 10:41:09 -0500
- To: Sandro Hawke <sandro@w3.org>
- Cc: David Wood <david@3roundstones.com>, Steve Harris <steve.harris@garlik.com>, "public-rdf-wg@w3.org" <public-rdf-wg@w3.org>
* Sandro Hawke <sandro@w3.org> [2012-01-04 09:38-0500]
> On Wed, 2012-01-04 at 08:59 -0500, David Wood wrote:
> > On Jan 3, 2012, at 20:59, Sandro Hawke wrote:
> >
> > > On Thu, 2011-12-22 at 13:37 +0000, Steve Harris wrote:
> > >> FWIW I agree with him that a 303 is a very high cost to pay.
> > >
> > > In confusion or in extra round-trips?
> > >
> > > I have an engineering solution to the latter, which is that hosts be
> > > allowed to expose (via a .well-known URI) some of the rewrite rules they
> > > use. Then, if I (as a client) find myself getting lots of redirects
> > > from a host, I could look for this redirect-info file, and if it
> > > appears, I can do the redirects in the client, without talking to the
> > > server.
> > >
> > > This wouldn't be only for RDF, but I'd expect only people doing 303 to
> > > care enough to set this up on their hosts or have their clients look for
> > > it.
> > >
> > > The hardest engineering part, I think, is figuring out how to encode the
> > > rewrite rules.
> >
> > Weren't you the editor of RIF in RDF [1]?
>
> *laugh*
>
> I was thinking something more like json:
>
> [ { verb: "GET", from: "/r/(.*)", to: "/page/$1", code: 303 },
> { verb: "GET", from: "(/data/.*/[^.])", to: "$1.rdf", code:
> 303 } ]
>
> The second rule assumes everything under /data has a form with no suffix
> (no dots in the last segment) that redirects to the same name with .rdf
> appended.
>
> Doing it in RIF would certainly be an interesting exercise. (I spent a
> few minutes sketching it now.) I doubt it would appeal to the target
> audience of http server and client library implementers!
Could try to extend POWDER XML:
<iriset>
<includeregex>/r/(.*)</includeregex>
<redir:path>/path/$1</redir:path>
</iriset>
which, if you're a keener, has an RDF representation:
<iriset_1> owl:equivalentClass [
owl:intersectionOf (
[
owl:onProperty powders:matchesregex ;
owl:hasValue "/r/(.*)"
]
[
owl:onProperty redir:path ;
owl:hasValue "/path/$1"
] ) .
- it's POWDER
+ POWDER was hard. no POWDER substitute will be easier.
Of course, a JSON representation of those semantics might be appealing.
> -- Sandro
>
> > Regards,
> > Dave
> >
> > [1] http://www.w3.org/2005/rules/wiki/RIF_In_RDF
> >
> >
> > > Each server has its own fancy way of doing it. Like
> > > which version of regexps, and how to extract from the pattern space;
> > > lots of solutions, but we'd need to pick one. And, tool wise, one
> > > would eventually like the web servers to automatically serve this file
> > > based on the rewrite rules they are actually using. :-)
> > >
> > > -- Sandro
> > >
> > >
> > >
> >
> >
>
>
>
--
-ericP
Received on Wednesday, 4 January 2012 15:41:38 UTC