Re: IRI references rewording

Dan Connolly wrote:
> On Wed, 2005-09-14 at 14:19 +0100, Seaborne, Andy wrote:
> 
>>Dan Connolly wrote:
>>
>>>On Wed, 2005-09-14 at 11:08 +0100, Seaborne, Andy wrote:
>>>
>>>
>>>>I have changed the text in the gramamr section for IRI references to 
>>>>explicitly say which rules are required to generated valid IRIs
>>>>
>>>>"""
>>>>IRI References
>>>>
>>>>SPARQL is defined in terms of absolute IRIs (this includes the fragment 
>>>>identifier). IRI references formed by rule Q_IRI_REF and by rule QName (after 
>>>>prefix expansion) must be valid according to RFC 3987 [RFC3987] and RFC 3986 
>>>>[RFC3986].
>>>
>>>
>>>That has the same problem; it's vacuuous. Anything that's an IRI
>>>reference is already valid.
>>>
>>>
>>>
>>>>They are converted to absolute IRIs according to RFC 3987 and RFC 
>>>>3986, using the base IRI defined by the BASE clause if present in the query.
>>>>"""
>>>
>>>
>>>That's redundant w.r.t. some text under Query Term Syntax
>>>("SPARQL provides an abbreviation mechanism for IRIs ...") Please
>>>either delete it or add forward and backward references.
>>
>>
>>We put that text in as part of addressing the case of base IRI (this isn't 
>>prefix expansion - it's IRI resolution) in response to a comment.
> 
> 
> I wonder which comment. I have been working with EricP on
> the under Query Term Syntax is in response to
> 
> SPARQL: BASE IRI resolution
> http://www.w3.org/mid/431e392a.225659671@smtp.bjoern.hoehrmann.de
> 
> It seems that EricP got an action to respond to that comment,
> but earlier you had an overlapping action...
>   ACTION AndyS: draft language re <foo###bar> errors
> 
> Oops. Crossed wires, it seems.
> 
> 
>>>I suggest:
>>>
>>>IRI References
>>>
>>>References formed by rule  Q_IRI_REF must be conform to the
>>>generic syntax of IRI references in
>>>section 2.2.  ABNF for IRI References and IRIs[RFC3987].
>>>For example, the
>>>Q_IRI_REF <abc#def> may occur in a SPARQL query string, but
>>>the Q_IRI_REF <abc##def> must not.
>>>
>>>References formed by rule QName (after prefix expansion) must conform
>>>to the generic syntax of (absolute) IRIs. 
>>
>>There is a "must" there but I am having rouble seeing how not to say something 
>>along that line.
>>
>>It does not exclude generation of non-IRI references as well as IRI 
>>references.
> 
> 
> I don't understand what you mean by that.
> 
> 
>>  I was left wondering what a "Reference" was.
> 
> 
> There's a lot that's left implicit in going from the concrete
> syntax; e.g. removing the <>s from IRI references. I thought
> that this wording was at the same level of rigor as the rest.
> 
> 
>>Maybe:
>>
>>"""
>>SPARQL is defined in terms of absolute IRIs (this includes the fragment 
>>identifier).
> 
> 
> I don't find that sentence helpful. I don't think the term "SPARQL"
> is defined anywhere in the document. Er... actually, I see...
> 
>  SPARQL is a query language for getting information from
>  such RDF graphs.
> 
> which seems odd, since SPARQL has both a protocol and a query language.
> It seems like the 1st occurrence of the acronym should be expanded.
> 
> The discussion under Query Term Syntax discusses the relationship
> between IRI references and absolute IRIs. It doesn't seem useful
> to have part of it repeated here. If you want to move it, very
> well. Or if you want to have forward and backward references
> that make the repetition explicit, that's OK too.
> 
> 
>>Grammar production <a>Q_IRI_REF</a> forms IRI references
> 
> 
> er... but it forms things that are not IRI references as well.

I don't read it as such.  It forms "IRI references" - we could add "and only 
IRI references"

"""
Grammar production <a>Q_IRI_REF</a> forms IRI references in accordance with 
the generic syntax of IRI references described in section 2.2. of
[RFC3987].
"""

> 
> 
>> and these must 
>>conform to the generic syntax of IRI references described in section 2.2. of 
>>[RFC3987].
> 
> 
> again, it's vacuuous to say that IRI references must be IRI references.
> 
> 
>>Grammar production <a>QName</a> forms IRI references after <a href="rq23 
>>section 2.2">prefix expansion</a> and these must conform to the generic syntax 
>>of IRI references.
> 
> 
> actually, QNames have to expand to (absolute) IRIs. This isn't a SPARQL
> query string, is it?
> 
>  PREFIX abc: <abc>.
> 
>  SELECT ?x WHERE { ?x abc:def ?y }

Yes - if there is an external base provided, else no.
It does not matter whether the steps are:

Base supplied: http://localhost/base/

<abc> => http://localhost/base/abc
abc:def => http://localhost/base/abcdef

or

abc:def => <abcdef>
<abcdef> => http://localhost/base/abcdef

No base => error.  the base may come from outside the query.

 Andy

> 
> 
> 
>>For example, the
>>Q_IRI_REF <abc#def> may occur in a SPARQL query string, but
>>the Q_IRI_REF <abc##def> must not.
>>
>>IRI references are converted to absolute IRIs according to RFC 3987 and RFC 
>>3986, using the base IRI defined by the BASE clause if present in the query.
>>"""
>>
>> Andy

Received on Wednesday, 14 September 2005 14:03:04 UTC