Re: qnames with - in cwm

Andy, Dave,

I think this is a good point. Mind you, I don't really like having such 
a wealth of punctuation inside names.

I don't think the user of a language is helped a lot by having the 
choice between
maple_syrup-count and maple-syrup.count and so on.  I think it is 
liable to lead to more uncaught errors and more user confusion. It is 
just that XML does it. So we have to be compatible - but we don't have 
to encourage it. After all,  one can always use the <uri> form.

  N3 uses punctuation for semantics.  XML doesn't have to worry about it 
because it uses angle brackets around tag names.   The "."  is very 
common parlance for a path step, and allowing   ?x.mother.age  makes a 
lot of sense to OO types.  I could imagine restricting it to   
?x!mother!age  but its looks weirder to the uninitiated.

The - issue I don't feel so strongly about.  It may be OK to force - as 
an operator, if we put operators into N3, to be separated by 
whitespace.

maple-current = maple-started - maple-finished.

Tim

On May 5, 2004, at 5:16, Seaborne, Andy wrote:

>
> Would now be a good time to go beyond a-z alphabetics in qnames and 
> align
> with XML 1.1 Names and Tokens where possible?
>
> http://www.w3.org/TR/xml11/#sec-common-syn
>
> 	Andy
>
> -------- Original Message --------
>> From: public-cwm-bugs-request@w3.org <>
>> Date: 4 May 2004 10:40
>>
>> I was not sure where to send this, since I consider it more a 
>> Notation3
>> bug than a CWM bug. http://www.w3.org/DesignIssues/Notation3
>> doesn't say
>> to send to any particular list.  Maybe not here but public-cwm-talk?
>>
>> I noticed you've switched the definition of Notation3's
>> specification in
>> April, more about this in other messages.
>>
>> http://www.w3.org/DesignIssues/Notation3 says:
>> [[
>> Identifier munging
>>
>> This syntax does not allow minus signs in identifiers, whereas the XML
>> encoding for RDF does. ]]
>>
>> The reference implementation of N3, cwm has been more generous
>> (in a checked out dev.w3.org/2000/10/swap):
>>
>> $ grep -i A-Z *|grep -i qname
>> rdfn3.g:    token QNAME:
>> r'([a-zA-Z][a-zA-Z0-9_-]*)?:[a-zA-Z0-9_-]+'
>> rdfn3_yapps.py:            ('QNAME',
>> '([a-zA-Z][a-zA-Z0-9_-]*)?:[a-zA-Z0-9_-]+'),
>> relaxNG.g:    token QName : r'[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+' # @@???
>>
>> and in notation3.py:
>>   _notQNameChars = "\t\r\n !\"#$%&'()*.,+/;<=>?@[\\]^`{|}~"
>> # Assume anything else valid qname :-/
>> (as used in 'def qname' later)
>>
>> All of these would allow foo:bar-baz
>>
>> Trivial test:
>>
>> $ cat > t.n3
>> @prefix foo: <http://example.org/> .
>> foo:bar foo:baz foo:bar-baz .
>> $ cwm t.n3
>> #Processed by Id: cwm.py,v 1.148 2004/03/21 04:24:32 timbl Exp
>>         #    using base file:/home/cmdjb/w3c/2000/10/swap/t.n3
>>
>> #  Notation3 generation by
>> #       notation3.py,v 1.153 2004/03/21 04:24:35 timbl Exp
>>
>> #   Base was: file:/home/cmdjb/w3c/2000/10/swap/t.n3
>>
>>     <http://example.org/bar>     <http://example.org/baz>
>> <http://example.org/bar-baz> .
>>
>> #ENDS
>>
>>
>> The newer http://www.w3.org/2000/10/swap/grammar/n3.n3
>> CVS 1.9 2003/10/30 22:41:34 says
>>   qname bnf:matches
>> "(([a-zA-Z_][a-zA-Z0-9_]*)?:)?([a-zA-Z_][a-zA-Z0-9_]*)?";
>>
>> I think it would be a good idea to allow - inside qnames.
>> You can other
>> uses by whitespace and let people avoid CamelCase inside names if they
>> don't like that.
>>
>> I think some people have already been using - in names, relying on cwm
>> accepting it.  (I had a quick look and, for example, Jena's N3 parser
>> accepts it).  I'm tempted to add it to Turtle to match what people are
>> using and want to use.
>>
>> Dave

Received on Sunday, 16 May 2004 22:05:29 UTC