- From: Graham Klyne <GK@NineByNine.org>
- Date: Sun, 18 Mar 2001 15:41:01 +0000
- To: Tim Berners-Lee <timbl@w3.org>
- Cc: RDF interest group <www-rdf-interest@w3.org>
I've been playing with N3 and the Python parser linked from http:/www.w3.org/DesignIssues/Notation3. I find myself puzzled by the motivation for the ':-' option, and note a discrepancy between the given syntax and behaviour of the Python program: ... The syntax: property-list void ( to allow [...]. ) verb object-list verb object-list ; property-list :- anonnode (to allow two anonymous forms to be given eg [ a :Truth; :- { :sky :color :blue } ] ) :- anonnode ; property-list Suggests that the following should be allowed: @prefix default <#>. [ a :Truth; ] . :foo a :thing ; :- { :sky :color :blue } ; a :other . But the program gives the following result and syntax error: <STDIN> <http://www.w3.org/2000/10/swap/log.n3#forSome> :_g0 . :_g0 a :Truth . :foo a :thing . :sky :color :blueTraceback (most recent call last): File "notati~2.py", line 1645, in ? doCommand() File "notati~2.py", line 1629, in doCommand p.load("") File "notati~2.py", line 185, in load self.feed(sys.stdin.read()) # May be big - buffered in memory! File "notati~2.py", line 200, in feed i = self.directiveOrStatement(str,j) File "notati~2.py", line 214, in directiveOrStatement if j>=0: return self.checkDot(str,j) File "notati~2.py", line 475, in checkDot raise BadSyntax(str, i, "expected '.' or '}' or ']' at end of statement") __main__.BadSyntax: bad syntax (expected '.' or '}' or ']' at end of statement) at: "...ing ; :- { :sky :color :blue }^ ; a :other . " ... Regarding the purpose of ":-". As far as I can tell, the effect of s1 p1 o1 ; :- { s2 p2 o2 } . is identical to: s1 p1 o1. s2 p2 o2. I don't see the motivation for allowing this form. ... And a final observation: the Notation3.py source code contains a mix of tab and space characters that results in invalid Python syntax when the tabs are converted to anything other than 8 spaces. For public distribution, I think it would be safer to convert all tabs in Python source code to spaces. ... #g ------------ Graham Klyne (GK@ACM.ORG)
Received on Sunday, 18 March 2001 20:35:02 UTC