- From: Dave Beckett <Dave.Beckett@bristol.ac.uk>
- Date: Fri, 19 Aug 2005 20:47:16 +0100
- To: Kendall Clark <kendall@monkeyfist.com>, Dan Connolly <connolly@w3.org>, www-archive@w3.org
I hacked on DanC's checkspec.py to just invoke the command line tools for rasqal and ARQ. Snippet: def checkQuerySyntax(txt): qtxt=txt.replace("'","\\'") # touch empty.ttl in this directory first to make ARQ (sparqler) happy if 0: cmd="".join(["roqet -q -n -e '",qtxt,"'"]) else: cmd="".join(["sparqler --data empty.ttl '",qtxt,"'"]) print "Running: ",cmd system(cmd) Where sparqler is a script I have to run ARQ. I also added a few prints to make a break between each test. Results, with roqet: With roqet $ checkspec.py Overview.html @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who } Running: roqet -q -n -e 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }' @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who } Running: roqet -q -n -e 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }' @@found: example query: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX myfoaf: <http://my.example/jose/foaf.rdf#> CONSTRUCT { myfoaf:jose foaf:depiction <http://my.example/jose/jose.jpg>. myfoaf:jose foaf:schoolHomepage <http://www.edu.example/>. ?s ?p ?o.} WHERE { ?s ?p ?o. myfoaf:jose foaf:nick "Little Jo". FILTER ( ! (?s = myfoaf:kendall && ?p = foaf:knows && ?o = myfoaf:edd ) && ! ( ?s = myfoaf:julia && ?p = foaf:mbox && ?o = <mailto:julia@mail.example> ) && ! ( ?s = myfoaf:julia && ?p = rdf:type && ?o = foaf:Person)) } Running: roqet -q -n -e 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX myfoaf: <http://my.example/jose/foaf.rdf#> CONSTRUCT { myfoaf:jose foaf:depiction <http://my.example/jose/jose.jpg>. myfoaf:jose foaf:schoolHomepage <http://www.edu.example/>. ?s ?p ?o.} WHERE { ?s ?p ?o. myfoaf:jose foaf:nick "Little Jo". FILTER ( ! (?s = myfoaf:kendall && ?p = foaf:knows && ?o = myfoaf:edd ) && ! ( ?s = myfoaf:julia && ?p = foaf:mbox && ?o = <mailto:julia@mail.example> ) && ! ( ?s = myfoaf:julia && ?p = rdf:type && ?o = foaf:Person)) }' @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> ASK WHERE { ?book dc:creator "J.K. Rowling"} Running: roqet -q -n -e 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> ASK WHERE { ?book dc:creator "J.K. Rowling"}' @@found: example query: PREFIX books: <http://my.example/book/> DESCRIBE books:book6 Running: roqet -q -n -e 'PREFIX books: <http://my.example/book/> DESCRIBE books:book6' @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } } Running: roqet -q -n -e 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }' @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/alice> FROM NAMED <http://my.example/bob> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } } Running: roqet -q -n -e 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/alice> FROM NAMED <http://my.example/bob> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }' @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/john> FROM NAMED <http://my.example/susan> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } } Running: roqet -q -n -e 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/john> FROM NAMED <http://my.example/susan> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }' @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?x foaf:name ?name ORDER BY ?name } Running: roqet -q -n -e 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?x foaf:name ?name ORDER BY ?name }' lt-roqet: Error - URI file:///home/dajobe/w3c/writecvs/WWW/2001/sw/DataAccess/proto-wd/:1 - syntax error, unexpected ORDER, expecting '}' lt-roqet: Parsing query 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?x foaf:name ?name ORDER BY ?name }' failed @@found: example query: PREFIX bio: <http://bio.example/schema/#> SELECT ?valence FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence } ORDER BY ?valence Running: roqet -q -n -e 'PREFIX bio: <http://bio.example/schema/#> SELECT ?valence FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence } ORDER BY ?valence' lt-roqet: Error - URI file:///home/dajobe/w3c/writecvs/WWW/2001/sw/DataAccess/proto-wd/:1 - The namespace prefix in "http:" was not declared. lt-roqet: Error - URI file:///home/dajobe/w3c/writecvs/WWW/2001/sw/DataAccess/proto-wd/:1 - syntax error, unexpected $end, expecting NAMED or URI_LITERAL or QNAME_LITERAL lt-roqet: Parsing query 'PREFIX bio: <http://bio.example/schema/#> SELECT ?valence FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence } ORDER BY ?valence' failed @@found: example query: PREFIX bio: <http://bio.example/schema/#> ... SELECT ?valence ... FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence ... } ORDER BY ?valence ... Running: roqet -q -n -e 'PREFIX bio: <http://bio.example/schema/#> ... SELECT ?valence ... FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence ... } ORDER BY ?valence ...' lt-roqet: Error - URI file:///home/dajobe/w3c/writecvs/WWW/2001/sw/DataAccess/proto-wd/:1 - syntax error, unexpected '.' lt-roqet: Parsing query 'PREFIX bio: <http://bio.example/schema/#> ... SELECT ?valence ... FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence ... } ORDER BY ?valence ...' failed With ARQ (CVS as of now) $ python checkspec.py Overview.html @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who } Running: sparqler --data empty.ttl 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }' -------------- | book | who | ============== -------------- @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who } Running: sparqler --data empty.ttl 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }' -------------- | book | who | ============== -------------- @@found: example query: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX myfoaf: <http://my.example/jose/foaf.rdf#> CONSTRUCT { myfoaf:jose foaf:depiction <http://my.example/jose/jose.jpg>. myfoaf:jose foaf:schoolHomepage <http://www.edu.example/>. ?s ?p ?o.} WHERE { ?s ?p ?o. myfoaf:jose foaf:nick "Little Jo". FILTER ( ! (?s = myfoaf:kendall && ?p = foaf:knows && ?o = myfoaf:edd ) && ! ( ?s = myfoaf:julia && ?p = foaf:mbox && ?o = <mailto:julia@mail.example> ) && ! ( ?s = myfoaf:julia && ?p = rdf:type && ?o = foaf:Person)) } Running: sparqler --data empty.ttl 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX myfoaf: <http://my.example/jose/foaf.rdf#> CONSTRUCT { myfoaf:jose foaf:depiction <http://my.example/jose/jose.jpg>. myfoaf:jose foaf:schoolHomepage <http://www.edu.example/>. ?s ?p ?o.} WHERE { ?s ?p ?o. myfoaf:jose foaf:nick "Little Jo". FILTER ( ! (?s = myfoaf:kendall && ?p = foaf:knows && ?o = myfoaf:edd ) && ! ( ?s = myfoaf:julia && ?p = foaf:mbox && ?o = <mailto:julia@mail.example> ) && ! ( ?s = myfoaf:julia && ?p = rdf:type && ?o = foaf:Person)) }' # ======== CONSTRUCT results @prefix myfoaf: <http://my.example/jose/foaf.rdf#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . # ======== @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> ASK WHERE { ?book dc:creator "J.K. Rowling"} Running: sparqler --data empty.ttl 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> ASK WHERE { ?book dc:creator "J.K. Rowling"}' Ask => No @@found: example query: PREFIX books: <http://my.example/book/> DESCRIBE books:book6 Running: sparqler --data empty.ttl 'PREFIX books: <http://my.example/book/> DESCRIBE books:book6' # ======== DESCRIBE results @prefix books: <http://my.example/book/> . # ======== @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } } Running: sparqler --data empty.ttl 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }' ------------------ | who | g | mbox | ================== ------------------ @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/alice> FROM NAMED <http://my.example/bob> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } } Running: sparqler --data empty.ttl 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/alice> FROM NAMED <http://my.example/bob> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }' ------------------ | who | g | mbox | ================== ------------------ @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/john> FROM NAMED <http://my.example/susan> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } } Running: sparqler --data empty.ttl 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://my.example/publishers> FROM NAMED <http://my.example/john> FROM NAMED <http://my.example/susan> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }' ------------------ | who | g | mbox | ================== ------------------ @@found: example query: PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?x foaf:name ?name ORDER BY ?name } Running: sparqler --data empty.ttl 'PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?x foaf:name ?name ORDER BY ?name }' Encountered "ORDER" at line 1, column 83. Was expecting one of: "graph" ... "optional" ... "filter" ... "{" ... "}" ... ";" ... "," ... "." ... @@found: example query: PREFIX bio: <http://bio.example/schema/#> SELECT ?valence FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence } ORDER BY ?valence Running: sparqler --data empty.ttl 'PREFIX bio: <http://bio.example/schema/#> SELECT ?valence FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence } ORDER BY ?valence' Line 1, column 64: Unresolved qname: http: @@found: example query: PREFIX bio: <http://bio.example/schema/#> ... SELECT ?valence ... FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence ... } ORDER BY ?valence ... Running: sparqler --data empty.ttl 'PREFIX bio: <http://bio.example/schema/#> ... SELECT ?valence ... FROM http://another.example/protein-db.rdf WHERE { ?x bio:protein ?valence ... } ORDER BY ?valence ...' Encountered "." at line 1, column 43. Was expecting one of: "prefix" ... "select" ... "describe" ... "construct" ... "ask" ... $ Analysis in other emails Dave
Received on Friday, 19 August 2005 19:47:34 UTC