- From: Tim Berners-Lee <timbl@w3.org>
- Date: Sun, 16 May 2004 21:16:36 -0400
- To: "Seaborne, Andy" <andy.seaborne@hp.com>
- Cc: public-cwm-bugs@w3.org
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