Re: [TF-PP] IRI and base URIs

I would very much like it to be defined for IRI inputs too, otherwise it requires this strange hoop jumping:

SELECT URI(STR(?o)) AS ?uri
WHERE { ?s ?p ?o }

as opposed to just SELECT URI(?o), i.e., IRI(<http://example.com/>) -> <http://example.com/>

As per the subject, is IRI("foo") intended to return <foo> relative to the base, or be an error?

- Steve

On 2010-05-27, at 10:45, Andy Seaborne wrote:

> While we're in and around the subject of base URIs:
> 
> The IRI function takes a string and produces an IRI: I propose that we define it only for valid, absolute IRIs, and anything else is an error.
> 
> Creating relative IRIs is plain bad, albeit occasionally necessary.
> 
> Errors in SPARQL can be replaced in an implementation by doing something but it indicates the something outside the spec.
> 
> IRI("foo")
> IRI("http://example/a space")
> IRI("http://example/[]")
> IRI("http://192.168.1.999/a")
> 
> The string is not automatically %-encoded - if that's needed, then call another function to perform the operation.
> 
> 	Andy
> 

-- 
Steve Harris, Garlik Limited
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

Received on Thursday, 27 May 2010 10:39:49 UTC