W3C home > Mailing lists > Public > www-archive@w3.org > August 2005

SPARQL protocol query examples thrown through rasqal and ARQ

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
Message-Id: <1124480837.5400.6.camel@hedwig.dajobe.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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 7 November 2012 14:17:52 GMT