Re: SPARQL: Charmod conformance

On Mon, 2005-08-01 at 20:30 +0200, Bjoern Hoehrmann wrote:
> * Dan Connolly wrote:
> >OK, we're adding a reference to charmod; in the editor's draft,
> >you may find:
> >
> > A. SPARQL Grammar
> >
> >A SPARQL query string is a character string (c.f. section 6.1 String
> >concepts of [CHARMOD]) in the language defined by the following grammar,
> >starting with the Query production. 

[...]
> My understanding is that
> the specification must include a requirement like
> 
>   SPARQL query strings must comply with all requirements for
>   content defined in [CHARMOD].

I'll discuss that with the editors and the WG.

Meanwhile, I find little reason to say "1 + 1 must be 2" when it's
already the case that 1 + 1 _is_ 2 by definition.


> This does not actually require conformance to Charmod for SPARQL
> documents (queries), so I don't think this meets the requirements
> of the Character model Recommendation.

If that's the case, then there is some string that this SPARQL
specification allows that the charmod spec prohibits. It would
help if you could provide one.

Earlier you referred us to
 http://www.w3.org/TR/2005/REC-charmod-20050215/#C073

C073  [C]  Publicly interchanged content SHOULD NOT use codepoints in
the private use area.

But that's not a requirement; it says SHOULD NOT. Perhaps
what we should add is...

  SPARQL query strings, by definition, comply with all requirements
  for content defined in [CHARMOD]; in addition, they should
  comply with all recommendations for content defined in [CHARMOD].


Reviewing the requirements...

C001[S] [I] [C] Specifications, software and content MUST NOT require or
depend on a one-to-one correspondence between characters and the sounds
of a language.

check.

C002[S] [I] [C] Specifications, software and content MUST NOT require or
depend on a one-to-one mapping between characters and units of displayed
text.

check.

C003[S] [I] [C] Protocols, data formats and APIs MUST store, interchange
or process text data in logical order.

character strings are in logical order by definition, as I understand
it.

C013[S] [C] Textual data objects defined by protocol or format
specifications MUST be in a single character encoding.

SPARQL strings are just strings; how they're encoded is orthogonal
(except for a forthcoming section on a MIME type for sparql, which
will most likely just use utf-8 and maybe UTF-16).

C023[S] [I] [C] If an unregistered character encoding is used, ...

not relevant (except for a the MIME type, which again, is only
going to do utf-8/utf-16).

C024[I] [C] Content and software that label text data ...

n/a

C025[I] [C] An IANA-registered charset name MUST NOT be used to label
text data in a character encoding other than the one identified in the
IANA registration of that name.

check

C076[C] Content MUST NOT use a code point for any purpose other than
that defined by its coded character set.

check


> to conform to the relevant charmod requirement. The reference to
> Unicode is an improvement though, but there are some issues that
> I'll raise in a separate comment.
> 
> >As to implementations, the QL spec just specifies the semantics of
> >the language; it doesn't specify any software components. The last
> >call draft had a few references to implementations, but those
> >have been removed from the editors draft (in v 1.442) in response
> >to a few of the comments you made.
> >
> >The protocol spec (still in progress) specifies a network protocol
> >between components. For example...
> 
> My understanding is that the SPARQL query language can be implemented
> independently of the SPARQL protocol, so there is a class of software
> that implements SPARQL only based on requirements implied by the se-
> mantics of the query language.

The SPARQL protocol has an abstract definition, as well as the
HTTP binding. Anything that does something analagous to the HTTP
binding by way of API or command line or the like can be judged
against the SPARQL protocol spec.

Software that does something else that somehow relates to the
semantics of SPARQL is out of scope; we don't define any conformance
classes other than the ones relevant to the SPARQL protocol.

I suppose we should provide specific text in the protocol spec
and see if that addresses this comment.

Please stand by for a more complete reply.

>  Such implementations are not currently
> required to conform to the Character model. My understanding is that
> text such as
> 
>   SPARQL implementations must comply with all requirements for
>   implementations defined in [CHARMOD]. Note that for software
>   that generates SPARQL queries this implies a requirement to
>   comply with the requirements for content as well.
> 
> is required in order to comply with the Charmod specification. I'm
> not sure though whether the I18N WG considered specifications that
> define conformance for implementations implicitly when defining the
> character model, I'm happy to defer to the I18N Core WG in this issue.
-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

Received on Monday, 1 August 2005 19:34:13 UTC