BH12.12/SPARQL11test

提供:TogoWiki

移動: 案内, 検索

お知らせ [2018年4月27日]

だいぶ結果が溜まってきたことと、すでに開発が終わっているものがあるので、以後はSPARQLthon/SPARQL11testに調査結果を記述します。



Learning SPARQL 2nd Ed.サンプルSPARQLクエリを全て処理させてパーズ可能であるかをテストする。 様々な実装に対して行うことで、実装間の比較が行える。

目次

クエリの問題への対処

まずはApache Jenaについて試してみたところ、幾つかのクエリについてはPREFIX指定が抜けているものがあるなど幾つかの問題が判明したので、これを修正した。

PREFIX欠落

  • ex025.rq
  • ex048.rq
  • ex049.rq
  • ex114.rq
  • ex269.rq
  • ex528.rq

その他の文法間違い

  • ex067.rq

FILTER が抜けている。

 NOT EXISTS { ?s ab:workTel ?workNum }

ではなくて、

 FILTER NOT EXISTS { ?s ab:workTel ?workNum }

本文中で触れられず

下記の両者ともクエリ未完成

  • ex080.rq
  • ex541.rq

全トリプル取得

末尾にLIMIT 10を挿入

  • ex052.rq
  • ex090.rq
  • ex114.rq
  • ex225.rq
  • ex242.rq
  • ex244.rq
  • ex246.rq
  • ex251.rq
  • ex255.rq
  • ex311.rq
  • ex332.rq
  • ex408.rq
  • ex436.rq
  • ex437.rq

テスト

テストした実装を以下に列挙していくこととする。

Apache Jena 2.10.1

$ foreach f ( ./LearningSPARQL2ndEx/*.rq )
set a=`basename $f .rq`
./qparse --print=op --explain --file $f > ./LearningSPARQL2ndExParsed/${a}.txt
end
  • ex242.rq
 % ./qparse --print=op --explain --file ./LearningSPARQL2ndEx/ex242.rq
[3,85]: No known symbol for isNumeric: isNumeric

isNumericに未対応。

Apache Jena 2.11.0

$ foreach f ( ../LearningSPARQL2ndEx/*.rq )
set a=`basename $f .rq`
./bin/qparse --print=op --explain --file $f > ../LearningSPARQL2ndEx_Jena-2.11.0/${a}.txt
end

全て問題なくパーズできた。

Apache Jena 3.0.1

sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`;  ./bin/qparse --print=op --explain --file ${f} > ../LearningSPARQL2ndEx_Jena-3.0.1/${o}.txt ; done'
  • ex158.rq 特にクエリに問題はなさそうなだけに、バグか?
[4,36]: Need string for separator: [4,36][separator, ","]: (separator ...)
  • ex524.rq これも特にクエリには問題なく、そして、警告の通りに書き換えるだけで問題が解消されたのでバグの模様。
Loading function or property function with old style 'jena.hpl.hp.com' used - preferred style is to use 'jena.apache.org': http://jena.hpl.hp.com/ARQ/property#versionARQ => http://jena.apache.org/ARQ/property#versionARQ

Apache Jena Fuseki 0.2.7

Apache Jena Fuseki 1.0.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:3030/ds/query' --query ${f} --debug >& ../LearningSPARQL2ndEx_Jena-Fuseki-0.2.7/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   179 -
    13 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     8 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     8 @prefix d:     <http://learningsparql.com/ns/data#> .
     3 Ask => No
     2 @prefix foaf:  <http://xmlns.com/foaf/0.1/> .
     2 @prefix dm:    <http://learningsparql.com/ns/demo#> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix u:     <http://learningsparql.com/ns/units#> .
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .

全てについて特に問題無し。

Apache Jena Fuseki 2.0.0 - 2.4.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:3030/ds/query' --query ${f} --debug >& ../LearningSPARQL2ndEx_Jena-Fuseki-2.0.0/${a}.txt
end

以下はsh版 (csh用のスクリプトでは一行で書ききれないが、sh用スクリプトでは可能)

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:3032/dbcls/query --query=${f} --debug >& ../LearningSPARQL2ndEx_Jena-Fuseki_2.3.0/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   179 -
    19 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     3 Ask => No
     1 HTTP Exeception
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .

特に問題ない。Version 2.0.0 になってからウェブインターフェースが刷新されて使いやすさがが高まった。

Apache Marmotta 3.1.0-incubating

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:8080/marmotta/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Marmotta_3.1.0-incubating/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   165 -
    35 com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
    16 HTTP Exeception
     3 Ask => No
     1 ==== No variables ====
$ grep QueryException *.txt | sed -e 's/^/ /'
ex176.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex178.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex182.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex184.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex185.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex188.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex190.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex192.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex194.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex196.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex203.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex205.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex207.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex209.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex211.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex212.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex213.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex215.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex216.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex237.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex246.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex248.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex267.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex282.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex305.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex314.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex326.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex427.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex428.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex476.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex479.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex480.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex491.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex523.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
ex540.txt:com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+xml which is not a valid RDF Graph syntax
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex123.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex126.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex128.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex130.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex135.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex180.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex251.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex253.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex255.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex264.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex273.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex276.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex308.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex473.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex489.txt-	at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
  • CONSTRUCTクエリで得られるデータのMIMEタイプがapplication/sparql-results+xmlとなっていることから、35のQueryExceptionが生じている。

( https://issues.apache.org/jira/browse/MARMOTTA-322 )

  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • BINDとstrの組み合わせに未対応の模様。(ex251.rq - ex276.rq)
  • ex308.rqはARQ独自関数利用のため。
  • LCASEとstrの組み合わせに未対応の模様。(ex473.rq, ex489.rq)

Apache Marmotta 3.2.0 - 3.2.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:8080/marmotta/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Marmotta_3.1.0-incubating/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    32 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     8 HTTP Exeception
     3 Ask => No
     3 @prefix :      <http://dbpedia.org/ontology/> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
     1 ==== No variables ====
$ grep QueryException *.txt | sed -e 's/^/ /'
ex007.txt:{"message":"error because malformed query","trace":"org.apache.marmotta.platform.core.exception.MarmottaException: error because malformed query
ex123.txt:{"message":"error because malformed query","trace":"org.apache.marmotta.platform.core.exception.MarmottaException: error because malformed query
ex126.txt:{"message":"error because malformed query","trace":"org.apache.marmotta.platform.core.exception.MarmottaException: error because malformed query
ex128.txt:{"message":"error because malformed query","trace":"org.apache.marmotta.platform.core.exception.MarmottaException: error because malformed query
ex130.txt:{"message":"error because malformed query","trace":"org.apache.marmotta.platform.core.exception.MarmottaException: error because malformed query
ex135.txt:{"message":"error because malformed query","trace":"org.apache.marmotta.platform.core.exception.MarmottaException: error because malformed query
ex180.txt:{"message":"error because malformed query","trace":"org.apache.marmotta.platform.core.exception.MarmottaException: error because malformed query
  • "<ex002.ttl>"といったURIに未対応。
  • 他の多くの実装と同様、VALUESがWHERE外にある場合には未対応。

Apache Marmotta 3.3.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:8080/marmotta/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Marmotta_3.3.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   174 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     4 HTTP Exeception
     3 Ask => No
     3 @prefix :      <http://purl.org/dc/terms/> .
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 ==== No variables ====
     1 23:02:34 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 23:01:32 WARN  riot                 :: {W107} Bad URI: <2014-12-18T22:55:21.000+09:00> Code: 10/SCHEME_MUST_START_WITH_LETTER in SCHEME: The scheme component must start with a letter.
     1 23:01:07 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 23:00:57 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
$ grep 'HTTP Exeception' *.txt | sed -e 's/^/ /'
ex118.txt:HTTP Exeception
ex257.txt:HTTP Exeception
ex262.txt:HTTP Exeception
ex308.txt:HTTP Exeception
  • ex118 はOFFSETだけでなく、LIMITも加えると問題が解消。
  • ex257 はxsd:decimalに非対応。
  • ex262 はxsd:dateTimeに非対応。
  • ex308 はARQ独自関数のため。

Bigdata Release 1.3.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:9999/bigdata/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.3.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    13 HTTP Exeception
     7 @prefix d:     <http://learningsparql.com/ns/data#> .
     6 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     6 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     3 Ask => No
     3 @prefix :      <http://dbpedia.org/ontology/> .
     2 @prefix foaf:  <http://xmlns.com/foaf/0.1/> .
     2 @prefix dm:    <http://learningsparql.com/ns/demo#> .
     2 @prefix :      <http://learningsparql.com/ns/demo#> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix u:     <http://learningsparql.com/ns/units#> .
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex126.txt-PREFIX  ab:   <http://learningsparql.com/ns/addressbook#>
ex180.txt-PREFIX  ab:   <http://learningsparql.com/ns/addressbook#>
ex246.txt-BASE    <http://learningsparql.com/ns/demo#>
ex248.txt-BASE    <http://learningsparql.com/ns/demo#>
ex253.txt-BASE    <http://learningsparql.com/ns/demo#>
ex255.txt-BASE    <http://learningsparql.com/ns/demo#>
ex303.txt-PREFIX  xsd:  <http://www.w3.org/2001/XMLSchema#>
ex308.txt-PREFIX  afn:  <http://jena.hpl.hp.com/ARQ/function#>
ex354.txt-PREFIX  g:    <http://learningsparql.com/graphs/>
ex492.txt-<html>
ex496.txt-<html>
ex498.txt-<html>
ex500.txt-<html>
  • ex126, ex180, ex354については GRAPH キーワードに続いて <ex125.ttl> や <http://example.com/g> というURIに非対応。
  • ex246, ex248, ex253, ex255については BASE キーワードに未対応。
  • ex303 については now か seconds、あるいは両方に非対応。
  • ex308 についてはARQ関数に非対応。
  • ex492, ex496, ex498, ex500 については VALUES キーワードに非対応。

Bigdata Release 1.3.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:9999/bigdata/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.3.1/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   167 -
    20 HTTP Exeception
     8 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     7 @prefix d:     <http://learningsparql.com/ns/data#> .
     6 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     3 Ask => No
     2 @prefix foaf:  <http://xmlns.com/foaf/0.1/> .
     2 @prefix dm:    <http://learningsparql.com/ns/demo#> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix u:     <http://learningsparql.com/ns/units#> .
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex126.txt-PREFIX  ab:   <http://learningsparql.com/ns/addressbook#>
ex180.txt-PREFIX  ab:   <http://learningsparql.com/ns/addressbook#>
ex196.txt-PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#>
ex246.txt-BASE    <http://learningsparql.com/ns/demo#>
ex248.txt-BASE    <http://learningsparql.com/ns/demo#>
ex253.txt-BASE    <http://learningsparql.com/ns/demo#>
ex255.txt-BASE    <http://learningsparql.com/ns/demo#>
ex303.txt-PREFIX  xsd:  <http://www.w3.org/2001/XMLSchema#>
ex308.txt-PREFIX  afn:  <http://jena.hpl.hp.com/ARQ/function#>
ex492.txt-<html>
ex496.txt-<html>
ex498.txt-<html>
ex500.txt-<html>
  • 前回からの違いは、GRAPHキーワードに続くURIでhttpといったスキーマから書かれている場合はOKとなった点か。
  • 一部のSERVICEで失敗したが、リモートの問題なので除去。 (ex167,ex172,ex178,ex196,ex474,ex475,ex476)。
  • ex126, ex180については GRAPH キーワードに続いて <ex125.ttl>というURIに非対応。
  • ex246, ex248, ex253, ex255については BASE キーワードに未対応。
  • ex303 については now か seconds、あるいは両方に非対応。
  • ex308 についてはARQ関数に非対応。
  • ex492, ex496, ex498, ex500 については VALUES キーワードに非対応。

Bigdata Release 1.3.2

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:999/bigdata/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.3.2/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   172 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 HTTP Exeception
    11 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     3 Ask => No
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex126.txt-PREFIX  ab:   <http://learningsparql.com/ns/addressbook#>
ex180.txt-PREFIX  ab:   <http://learningsparql.com/ns/addressbook#>
ex246.txt-BASE    <http://learningsparql.com/ns/demo#>
ex248.txt-BASE    <http://learningsparql.com/ns/demo#>
ex253.txt-BASE    <http://learningsparql.com/ns/demo#>
ex255.txt-BASE    <http://learningsparql.com/ns/demo#>
ex303.txt-PREFIX  xsd:  <http://www.w3.org/2001/XMLSchema#>
ex308.txt-PREFIX  d:    <http://learningsparql.com/ns/data#>
ex492.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.8 - Error report</title>...
ex496.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.8 - Error report</title>...
ex498.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.8 - Error report</title>...
ex500.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.8 - Error report</title>...
  • 基本変わらず。
  • ex126, ex180については GRAPH キーワードに続いて <ex125.ttl>というURIに非対応。
  • ex246, ex248, ex253, ex255については BASE キーワードに未対応。
  • ex303 については now か seconds、あるいは両方に非対応。
  • ex308 についてはARQ関数に非対応。
  • ex492, ex496, ex498, ex500 については VALUES キーワードに非対応。

Blazegraph Release 1.5.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:999/bigdata/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.5.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   172 -
    18 @prefix bds:   <http://www.bigdata.com/rdf/search#> .
     9 HTTP Exeception
     7 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     5 @prefix bd:    <http://www.bigdata.com/rdf#> .
     4 @prefix :      <http://learningsparql.com/ns/demo#> .
     3 Ask => No
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-SPARQL-QUERY: queryStr=PREFIX  skos: <http://www.w3.org/2004/02/skos/core#>
ex172.txt-SPARQL-QUERY: queryStr=PREFIX  owl:  <http://www.w3.org/2002/07/owl#>
ex178.txt-SPARQL-QUERY: queryStr=PREFIX  owl:  <http://www.w3.org/2002/07/owl#>
ex196.txt-SPARQL-QUERY: queryStr=PREFIX  d:    <http://learningsparql.com/ns/data#>
ex308.txt-SPARQL-QUERY: queryStr=PREFIX  d:    <http://learningsparql.com/ns/data#>
ex474.txt-SPARQL-QUERY: queryStr=SELECT  ?p ?o
ex475.txt-SPARQL-QUERY: queryStr=PREFIX  gp:   <http://wifo5-04.informatik.uni-mannheim.de/gutendata/resource/people/>
ex476.txt-SPARQL-QUERY: queryStr=CONSTRUCT 
ex539.txt-SPARQL-QUERY: queryStr=PREFIX  skos: <http://www.w3.org/2004/02/skos/core#>
  • ex167.rq、ex172.rq、ex178.rq、ex196.rq、ex474.rq、ex475.rq、ex476.rq、ex539.rqはSERVICEを使ったFederatedクエリ。
  • ex308 についてはARQ関数に非対応。
  • 他の多くの実装と同様、VALUESがWHERE外にある場合には未対応。

Blazegraph Release 1.5.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:9999/bigdata/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.5.1/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   178 -
    22 @prefix bds:   <http://www.bigdata.com/rdf/search#> .
     7 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     5 @prefix bd:    <http://www.bigdata.com/rdf#> .
     3 Ask => No
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 ==== No variables ====
     1 14:09:48 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 14:08:18 WARN  riot                 :: Lexical form '1937-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 14:08:08 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'

Executable Jarではなく、jettyを利用した起動方法で立ち上げると、エラー無く全てのパーズが成功した。ただ、他の実装同様に、WHERE外のVALUESは適切に処理されていない。

Blazegraph Release 1.5.2

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:9999/bigdata/sparql --query=${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.5.2/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   179 -
    22 @prefix bds:   <http://www.bigdata.com/rdf/search#> .
     7 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     5 @prefix bd:    <http://www.bigdata.com/rdf#> .
     3 Ask => No
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 15:47:23 WARN  riot                 :: Lexical form '1860-01-01' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 15:45:53 WARN  riot                 :: Lexical form '1860-01-01' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 15:45:42 WARN  riot                 :: Lexical form '1860-01-01' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
 $ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'

ついにWHERE外のVALUESも適切に処理されるようになった。

Blazegraph Release 1.5.3

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:9999/bigdata/sparql --query=${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.5.3/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   178 -
    19 @prefix bds:   <http://www.bigdata.com/rdf/search#> .
     7 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     5 @prefix bd:    <http://www.bigdata.com/rdf#> .
     3 Ask => No
     3 @prefix :      <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> .
     3 @prefix :      <http://purl.org/voc/vrank#> .
     1 HTTP Exeception
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
   179 -
    22 @prefix bds:   <http://www.bigdata.com/rdf/search#> .
     7 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     5 @prefix bd:    <http://www.bigdata.com/rdf#> .
     3 Ask => No
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 15:47:23 WARN  riot                 :: Lexical form '1860-01-01' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 15:45:53 WARN  riot                 :: Lexical form '1860-01-01' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 15:45:42 WARN  riot                 :: Lexical form '1860-01-01' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex308.txt-SPARQL-QUERY: queryStr=PREFIX  d:    <http://learningsparql.com/ns/data#>
  • ex308.rqはARQ独自関数のためエラーを出力するようになった?

Blazegraph Release 2.0.0

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:9999/bigdata/sparql --query=${f} --debug >& ../LearningSPARQL2ndEx_Bigdata_Release_1.5.3/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   175 -
    34 @prefix bds:   <http://www.bigdata.com/rdf/search#> .
     6 HTTP Exeception
     3 Ask => No
     1 @prefix bd:    <http://www.bigdata.com/rdf#> .
     1 11:03:05 ERROR riot                 :: [line: 38, col: 46] Triples not terminated by DOT
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:411)
ex172.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:411)
ex178.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:411)
ex196.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:411)
ex308.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:411)
ex475.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:411)
  • ex167.rq はSERVICEキーワードが一つのクエリで、その後改めて試すと問題なく実行された。
  • ex172-196.rq, ex475.rq はSERVICEキーワードが二つ含まれており、なぜか失敗する。さらに、二つ目のリモートエンドポイントのトリプルストアをVirtuosoからStardogに変更すると問題は解消された。
  • ex308.rq はarq独自関数を含むため。

Blazegraph Release 2.1.0 - 2.1.4

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:21300/bigdata/sparql --query=${f} --debug >& ../LearningSPARQL2ndEx_Blazegraph_2.1.0/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   178 -
    22 @prefix bds:   <http://www.bigdata.com/rdf/search#> .
     7 @prefix bd:    <http://www.bigdata.com/rdf#> .
     7 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     3 Ask => No
     1 HTTP Exeception
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 16:21:57 ERROR riot                 :: [line: 36, col: 46] Triples not terminated by DOT
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex308.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:414)
  • ex308.rq はarq独自関数を含むため。

CumulusRDF 1.0.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:9090/cumulus/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_CumulusRDF_1.0.1/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   172 -
    32 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     7 HTTP Exeception
     3 Ask => No
     3 @prefix :      <http://dbpedia.org/ontology/> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-ERROR /cumulus/sparql 400: Not a valid (absolute) URI: ex002.ttl
ex123.txt-ERROR /cumulus/sparql 400: Not a valid (absolute) URI: ex069.ttl
ex126.txt-ERROR /cumulus/sparql 400: Not a valid (absolute) URI: ex125.ttl
ex128.txt-ERROR /cumulus/sparql 400: Not a valid (absolute) URI: ex125.ttl
ex130.txt-ERROR /cumulus/sparql 400: Not a valid (absolute) URI: ex069.ttl
ex135.txt-ERROR /cumulus/sparql 400: Not a valid (absolute) URI: ex134.ttl
ex180.txt-ERROR /cumulus/sparql 400: Not a valid (absolute) URI: ex125.ttl
  • "<ex002.ttl>"といったURIに未対応。
  • 他の多くの実装と同様、VALUESがWHERE外にある場合には未対応。

Virtuoso (VOS) 6.1.6 on Linux

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://data.allie.dbcls.jp/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Virtuoso6.1.6/${a}.txt
end

ex427.rqは無限ループに(12時間程度経っても何も得られず)

PREFIX  owl:  <http://www.w3.org/2002/07/owl#>

CONSTRUCT
{ ?resource2 ?property1 ?resource1 . }
WHERE
{  
  ?property1 owl:inverseOf ?property2 .
  ?resource1 ?property2 ?resource2 .
}
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   136 -
    59 HTTP Exeception
    21 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     2 Ask => No
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .

下記、Jenaのエラーメッセージにスペルミス(HTTP Exeception)があることに注意。

$ grep -A2 'HTTP Exeception' *.txt | grep 'HttpException' | sed -e 's/^/ /'
ex075.txt-HttpException: 400 Bad Request
ex078.txt-HttpException: 400 Bad Request
ex082.txt-HttpException: 400 Bad Request
ex083.txt-HttpException: 400 Bad Request
ex084.txt-HttpException: 400 Bad Request
ex112.txt-HttpException: 400 Bad Request
ex144.txt-HttpException: 400 Bad Request
ex158.txt-HttpException: 400 Bad Request
ex167.txt-HttpException: 500 SPARQL Request Failed
ex172.txt-HttpException: 500 SPARQL Request Failed
ex178.txt-HttpException: 500 SPARQL Request Failed
ex185.txt-HttpException: 400 Bad Request
ex196.txt-HttpException: 500 SPARQL Request Failed
ex202.txt-HttpException: 400 Bad Request
ex207.txt-HttpException: 400 Bad Request
ex209.txt-HttpException: 400 Bad Request
ex232.txt-HttpException: 400 Bad Request
ex233.txt-HttpException: 400 Bad Request
ex235.txt-HttpException: 400 Bad Request
ex237.txt-HttpException: 400 Bad Request
ex239.txt-HttpException: 400 Bad Request
ex242.txt-HttpException: 400 Bad Request
ex244.txt-HttpException: 400 Bad Request
ex246.txt-HttpException: 400 Bad Request
ex248.txt-HttpException: 400 Bad Request
ex251.txt-HttpException: 400 Bad Request
ex253.txt-HttpException: 400 Bad Request
ex255.txt-HttpException: 400 Bad Request
ex257.txt-HttpException: 400 Bad Request
ex260.txt-HttpException: 400 Bad Request
ex262.txt-HttpException: 400 Bad Request
ex264.txt-HttpException: 400 Bad Request
ex267.txt-HttpException: 400 Bad Request
ex273.txt-HttpException: 400 Bad Request
ex276.txt-HttpException: 400 Bad Request
ex282.txt-HttpException: 400 Bad Request
ex285.txt-HttpException: 400 Bad Request
ex287.txt-HttpException: 400 Bad Request
ex290.txt-HttpException: 400 Bad Request
ex293.txt-HttpException: 400 Bad Request
ex295.txt-HttpException: 400 Bad Request
ex299.txt-HttpException: 400 Bad Request
ex301.txt-HttpException: 400 Bad Request
ex303.txt-HttpException: 400 Bad Request
ex305.txt-HttpException: 400 Bad Request
ex308.txt-HttpException: 400 Bad Request
ex432.txt-HttpException: 400 Bad Request
ex445.txt-HttpException: 400 Bad Request
ex473.txt-HttpException: 502 Proxy Error
ex476.txt-HttpException: 500 SPARQL Request Failed
ex491.txt-HttpException: 400 Bad Request
ex492.txt-HttpException: 400 Bad Request
ex496.txt-HttpException: 400 Bad Request
ex498.txt-HttpException: 400 Bad Request
ex500.txt-HttpException: 400 Bad Request
ex510.txt-HttpException: 500 SPARQL Request Failed
ex511.txt-HttpException: 500 SPARQL Request Failed
ex526.txt-HttpException: 400 Bad Request
ex538.txt-HttpException: 502 Proxy Error
$ grep -A2 'HTTP Exeception' *.txt | grep 'Virtuoso' | sed -e 's/^/ /'
ex075.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 0: Invalid character in SPARQL expression at '|'
ex078.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at '(' before 'c:cites'
ex082.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at '(' before 'c:cites'
ex083.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 0: Invalid character in SPARQL expression at '^'
ex084.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 0: Invalid character in SPARQL expression at '^'
ex112.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'NOT' before 'IN'
ex144.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex158.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 3: syntax error at 'GROUP_CONCAT' before '('
ex167.txt-Virtuoso RDFZZ Error DB.DBA.SPARQL_REXEC('http://DBpedia.org/sparql', ...) returned Content-Type 'text/html' status 'HTTP/1.1 502 Bad Gateway
ex172.txt-Virtuoso RDFZZ Error DB.DBA.SPARQL_REXEC('http://DBpedia.org/sparql', ...) returned Content-Type 'text/html' status 'HTTP/1.1 502 Bad Gateway
ex178.txt-Virtuoso RDFZZ Error DB.DBA.SPARQL_REXEC('http://DBpedia.org/sparql', ...) returned Content-Type 'text/html' status 'HTTP/1.1 502 Bad Gateway
ex185.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 9: syntax error at 'BIND'
ex196.txt-Virtuoso RDFZZ Error DB.DBA.SPARQL_REXEC('http://DBpedia.org/sparql', ...) returned Content-Type 'text/html' status 'HTTP/1.1 502 Bad Gateway
ex202.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 11: syntax error at 'BIND'
ex207.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 14: syntax error at 'BIND' before '('
ex209.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 28: syntax error at 'BIND' before '('
ex232.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex233.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'BIND' before '('
ex235.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 3: syntax error at 'BIND' before '('
ex237.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'BIND' before '('
ex239.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 9: syntax error at 'BIND' before '('
ex242.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex244.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex246.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex248.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex251.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex253.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex255.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex257.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex260.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex262.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex264.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex267.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 11: syntax error at 'BIND' before '('
ex273.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex276.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex282.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 13: syntax error at 'BIND' before '('
ex285.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex287.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex290.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'BIND' before '('
ex293.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex295.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 4: syntax error at 'BIND' before '('
ex299.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex301.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'BIND' before '('
ex303.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 5: syntax error at 'BIND' before '('
ex305.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 12: syntax error at 'BIND' before '('
ex308.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at 'BIND' before '('
ex432.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at '(' before 'rdfs:subPropertyOf'
ex445.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 7: syntax error at '(' before 'rdfs:subClassOf'
ex476.txt-Virtuoso RDFZZ Error DB.DBA.SPARQL_REXEC('http://DBpedia.org/sparql', ...) returned Content-Type 'text/html' status 'HTTP/1.1 502 Bad Gateway
ex491.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 15: syntax error at 'BIND' before '('
ex492.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at 'VALUES' before '('
ex496.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'VALUES' before '?description'
ex498.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'VALUES' before '('
ex500.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'VALUES' before '('
ex510.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function lcase() needs a string value as 1st argument
ex511.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function STRENDS() needs a string value as 1st argument
ex526.txt-Virtuoso 37000 Error SP030: SPARQL compiler, line 10: syntax error at 'BIND' before '('
  • プロパティパスと"NOT IN "、BIND、GROUP_CONCAT、VALUESに未対応。
  • LCASE、STRENDS関数の引数にstring以外の値が来るとエラーになる模様。
  • BINDの陰で気づかなかったがURI関数にも未対応。

Virtuoso (VOS) 6.1.7 - 6.1.8 on Linux

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'xxx' --query ${f} --debug >& ../LearningSPARQL2ndEx_Virtuoso6.1.7/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   174 -
    29 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
    13 HTTP Exeception
     3 Ask => No
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep 'HttpException' | sed -e 's/^/ /'
ex237.txt-HttpException: 400 Bad Request
ex246.txt-HttpException: 400 Bad Request
ex248.txt-HttpException: 400 Bad Request
ex253.txt-HttpException: 400 Bad Request
ex255.txt-HttpException: 400 Bad Request
ex262.txt-HttpException: 500 SPARQL Request Failed
ex267.txt-HttpException: 400 Bad Request
ex282.txt-HttpException: 400 Bad Request
ex308.txt-HttpException: 500 SPARQL Request Failed
ex491.txt-HttpException: 400 Bad Request
ex492.txt-HttpException: 500 SPARQL Request Failed
ex510.txt-HttpException: 500 SPARQL Request Failed
ex511.txt-HttpException: 500 SPARQL Request Failed
$ grep -A2 'HTTP Exeception' *.txt | grep 'Virtuoso' | sed -e 's/^/ /'
ex237.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex246.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex248.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex253.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex255.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex262.txt-Virtuoso 22007 Error DT006: Cannot convert http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat to datetime : Incorrect year delimiter
ex267.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex282.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex308.txt-Virtuoso 42001 Error SR185: Undefined procedure DB.DBA.http://jena.hpl.hp.com/ARQ/function#localname.
ex491.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex492.txt-Virtuoso S0022 Error SQ200: No column color.
ex510.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function lcase() needs a string value as 1st argument
ex511.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function STRENDS() needs a string value as 1st argument
  • ex237.rq、ex246.rq、ex248.rq、ex253.rq、ex255.rq、ex267.rq、ex282.rq、ex491.rqについては、URI関数に未対応で、これはVersion7でも同じ。
  • ex308.rqはARQの独自関数利用のため。
  • ex492.rqについては恐らく、VALUESがWHERE外にある場合に未対応のため。
  • その他、ex262、ex510、ex511は関数の引数について型が合っていないとエラーになる。
  • VirtuosoではURI関数は使えないけれど、同機能のIRI関数 ( func-iri ) は使えるので、そちらを利用する必要あり。この変更により、上記のURI未対応エラー8件は全て解消された。

Virtuoso version 07.00.3202 on Linux

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://colil.dbcls.jp/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_Virtuoso07.00.3202/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   173 -
    29 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
    14 HTTP Exeception
     3 Ask => No
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep 'HttpException' | sed -e 's/^/ /'
ex118.txt-HttpException: 500 SPARQL Request Failed
ex237.txt-HttpException: 400 Bad Request
ex246.txt-HttpException: 400 Bad Request
ex248.txt-HttpException: 400 Bad Request
ex253.txt-HttpException: 400 Bad Request
ex255.txt-HttpException: 400 Bad Request
ex262.txt-HttpException: 500 SPARQL Request Failed
ex267.txt-HttpException: 400 Bad Request
ex282.txt-HttpException: 400 Bad Request
ex308.txt-HttpException: 500 SPARQL Request Failed
ex491.txt-HttpException: 400 Bad Request
ex492.txt-HttpException: 500 SPARQL Request Failed
ex510.txt-HttpException: 500 SPARQL Request Failed
ex511.txt-HttpException: 500 SPARQL Request Failed
$ grep -A2 'HTTP Exeception' *.txt | grep 'Virtuoso' | sed -e 's/^/ /'
ex118.txt-Virtuoso 22023 Error SR350: TOP parameter < 0
ex237.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex246.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex248.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex253.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex255.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex262.txt-Virtuoso 22007 Error DT006: Cannot convert http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat to datetime : Incorrect year delimiter
ex267.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex282.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex308.txt-Virtuoso 42001 Error SR185: Undefined procedure DB.DBA.http://jena.hpl.hp.com/ARQ/function#localname.
ex491.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex492.txt-Virtuoso S0022 Error SQ200: No column color.
ex510.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function lcase() needs a string value as 1st argument
ex511.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function STRENDS() needs a string value as 1st argument
  • Virtuosoのエラーメッセージは不親切極まりない。"Built-in function is not implemented"と言われても具体的にどの関数に未対応なのかが表示されない。
  • ex118.rqについては、OFFSETだけではどうやらダメらしく、LIMITと同時使用なら問題無し。
  • ex237.rq、ex246.rq、ex248.rq、ex253.rq、ex255.rq、ex267.rq、ex282.rq、ex491.rqについては、URI関数に未対応で、これはVersion6でも同じ。
  • ex308.rqはARQの独自関数利用のため。
  • ex492.rqについては恐らく、VALUESがWHERE外にある場合に未対応のため。
  • その他、ex262、ex510、ex511は関数の引数について型が合っていないとエラーになる。
  • VirtuosoではURI関数は使えないけれど、同機能のIRI関数 ( func-iri ) は使えるので、そちらを利用する必要あり。この変更により、上記のURI未対応エラー8件は全て解消された。

Virtuoso (VOS) 7.0.0 - 7.1.0 on Linux

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'xxx' --query ${f} --debug >& ../LearningSPARQL2ndEx_Virtuoso7.0.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   173 -
    29 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
    14 HTTP Exeception
     3 Ask => No
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep 'HttpException' | sed -e 's/^/ /'
ex118.txt-HttpException: 500 SPARQL Request Failed
ex237.txt-HttpException: 400 Bad Request
ex246.txt-HttpException: 400 Bad Request
ex248.txt-HttpException: 400 Bad Request
ex253.txt-HttpException: 400 Bad Request
ex255.txt-HttpException: 400 Bad Request
ex262.txt-HttpException: 500 SPARQL Request Failed
ex267.txt-HttpException: 400 Bad Request
ex282.txt-HttpException: 400 Bad Request
ex308.txt-HttpException: 500 SPARQL Request Failed
ex491.txt-HttpException: 400 Bad Request
ex492.txt-HttpException: 500 SPARQL Request Failed
ex510.txt-HttpException: 500 SPARQL Request Failed
ex511.txt-HttpException: 500 SPARQL Request Failed
$ grep -A2 'HTTP Exeception' *.txt | grep 'Virtuoso' | sed -e 's/^/ /'
ex118.txt-Virtuoso 22023 Error SR350: TOP parameter < 0
ex237.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex246.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex248.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex253.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex255.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex262.txt-Virtuoso 22007 Error DT006: Cannot convert http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat to datetime : Incorrect year delimiter
ex267.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex282.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex308.txt-Virtuoso 42001 Error SR185: Undefined procedure DB.DBA.http://jena.hpl.hp.com/ARQ/function#localname.
ex491.txt-Virtuoso 37000 Error SP031: SPARQL compiler: Internal error: Built-in function is not implemented
ex492.txt-Virtuoso S0022 Error SQ200: No column color.
ex510.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function lcase() needs a string value as 1st argument
ex511.txt-Virtuoso 22023 Error SL001: The SPARQL 1.1 function STRENDS() needs a string value as 1st argument
  • ex118.rqについては、OFFSETだけではどうやらダメらしく、LIMITと同時使用なら問題無し。
  • ex237.rq、ex246.rq、ex248.rq、ex253.rq、ex255.rq、ex267.rq、ex282.rq、ex491.rqについては、URI関数に未対応で、これはVersion6でも同じ。
  • ex308.rqはARQの独自関数利用のため。
  • ex492.rqについては恐らく、VALUESがWHERE外にある場合に未対応のため。
  • その他、ex262、ex510、ex511は関数の引数について型が合っていないとエラーになる。
  • VirtuosoではURI関数は使えないけれど、同機能のIRI関数 ( func-iri ) は使えるので、そちらを利用する必要あり。この変更により、上記のURI未対応エラー8件は全て解消された。

Virtuoso (VOS) 7.2.0 - 7.2.4 on Linux

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:21600/sparql --query=${f} --debug >& ../LearningSPARQL2ndEx_Virtuoso_7.2.4/${o}.txt ; done'
$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'xxx' --query ${f} --debug >& ../LearningSPARQL2ndEx_Virtuoso_7.2.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   173 -
    33 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     6 HTTP Exeception
     3 Ask => No
     1 14:49:41 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 14:48:12 ERROR riot                 :: {E211} Base URI is null, but there are relative URIs to resolve.: <http%3A%2F%2Fwww.openlinksw.com%2Fschemas%2Fvirtrdf%23QuadMapFormat>
     1 14:48:11 ERROR riot                 :: {E211} Base URI is null, but there are relative URIs to resolve.: <http%3A%2F%2Fwww.openlinksw.com%2Fschemas%2Fvirtrdf%23QuadMapFormat>
     1 14:47:45 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 14:47:10 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
$ grep -A2 'HTTP Exeception' *.txt | grep 'HttpException' | sed -e 's/^/ /'
ex118.txt-HttpException: 500 SPARQL Request Failed
ex262.txt-HttpException: 500 SPARQL Request Failed
ex308.txt-HttpException: 500 SPARQL Request Failed
ex492.txt-HttpException: 500 SPARQL Request Failed
ex510.txt-HttpException: 500 SPARQL Request Failed
ex511.txt-HttpException: 500 SPARQL Request Failed

7.1.0からの大きな違いはURI関数が追加された点。その他以下の点については変化無し。

  • ex118.rqについては、OFFSETだけではどうやらダメらしく、LIMITと同時使用なら問題無し。
  • ex262、ex510、ex511は関数の引数について型が合っていないとエラーになる。
  • ex308.rqはARQの独自関数利用のため。
  • ex492.rqについては恐らく、VALUESがWHERE外にある場合に未対応のため。

OWLIM-Lite 5.3.5928

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://beta.dbcls.jp/openrdf-sesame/repositories/RDF_LSD_TEST' --query ${f} --debug >& ../LearningSPARQL2ndEx_OWLIM-Lite_5.3.5928/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   168 -
    30 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
    12 HTTP Exeception
     3 Ask => No
     2 @prefix :      <http://purl.org/dc/terms/> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
     1 @prefix :      <http://xmlns.com/foaf/0.1/> .
     1 @prefix :      <http://dbpedia.org/property/> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex002.ttl
ex123.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex126.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex128.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex130.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex135.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex134.ttl
ex180.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex308.txt-<html>
ex492.txt-MALFORMED QUERY: Lexical error at line 6, column 7.  Encountered: " " (32), after : "VALUES"
ex496.txt-MALFORMED QUERY: Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex498.txt-MALFORMED QUERY: Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex500.txt-MALFORMED QUERY: Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • VALUESに未対応。(ex492.rq - ex500.rq)
  • ex308.rqはARQ独自関数利用のため。

AllegroGraph 4.11

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/repositories/colil' --query ${f} --debug >& ../LearningSPARQL2ndEx_AllegroGraph4.11/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    33 @prefix :      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    11 HTTP Exeception
     3 Ask => No
     2 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex172.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex178.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex196.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex301.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex308.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex474.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex475.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex476.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex492.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex539.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
  • ex167.rq、ex172.rq、ex178.rq、ex196.rq、ex474.rq、ex475.rq、ex476.rq、ex539.rqはSERVICEを使ったFederatedクエリ。(改めて実行すると、167, 172, 474, 475, 539はOKに。)
  • ex301.rqはtimezone、tz関数に未対応のため。
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqはVALUESをWHEREの外に書いている例でこれに未対応の模様。W3C SPARQL11 Queryにある通り、このクエリも誤りではない。

ホームページには「SPARQL v1.1 "Service" Keyword to support heterogeneous federations with SPARQL endpoints」と書かれているが、constructとの組み合わせは不可な模様。 (上記ex178.rq、ex196.rq、ex476.rqはいずれもconstructとの組み合わせ)

  • ex178.rq, ex196.rq, ex476.rq の結果として得られるメッセージ
Executing query failed:
:raw-query fell through a ecase form.  The valid cases were
:triple-query, :range-query, :multi-match, :text-index, :path,
:geo-pattern, :spin-magic, :magic, and :impossible.

AllegroGraph 4.12, 4.12.2

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/repositories/dbcls' --query ${f} --debug >& ../LearningSPARQL2ndEx_AllegroGraph4.12/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   176 -
    35 @prefix :      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     3 Ask => No
     3 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
     2 HTTP Exeception
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex301.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
ex308.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:340)
  • ex301.rqはtimezone、tz関数に未対応のため。
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqはVALUESをWHEREの外に書いている例でこれに未対応の模様。

AllegroGraph 4.13 - 4.14.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/repositories/dbcls' --query ${f} --debug >& ../LearningSPARQL2ndEx_AllegroGraph4.13/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   176 -
    38 @prefix :      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     3 Ask => No
     2 HTTP Exeception
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex301.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex308.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
  • ex301.rqはtimezone、tz関数に未対応のため。
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqはVALUESをWHEREの外に書いている例でこれに未対応の模様。

AllegroGraph 5.0 - 6.0.2

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/repositories/dbcls' --query ${f} --debug >& ../LearningSPARQL2ndEx_AllegroGraph_5.0/${a}.txt
end

または、

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://xxx/repositories/dbcls --query=${f} --debug >& ../LearningSPARQL2ndEx_AllegroGraph_5.1/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   176 -
    34 @prefix :      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     3 Ask => No
     2 HTTP Exeception
     1 ==== No variables ====
     1 22:53:39 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 22:46:32 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 22:45:29 ERROR riot                 :: {E211} Base URI is null, but there are relative URIs to resolve.: <http%3A%2F%2Fwww.example.org%2Fo>
     1 22:45:02 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex301.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex308.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
  • ex301.rqはtimezone、tz関数に未対応のため。
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqはVALUESをWHEREの外に書いている例でこれに未対応の模様。

AllegroGraph 6.1.3 - 6.2.3

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://localhst:21400/repositories/dbcls --query=${f} --debug >& ../LearningSPARQL2ndEx_AllegroGraph_6.1.3/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    32 @prefix :      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    10 HTTP Exeception
     3 Ask => No
     1 ==== No variables ====
     1 12:27:02 ERROR riot                 :: {E211} Base URI is null, but there are relative URIs to resolve.: <ShortForm>
     1 12:27:01 ERROR riot                 :: {E211} Base URI is null, but there are relative URIs to resolve.: <http%3A%2F%2Fpurl.org%2Fallie%2Fontology%2F201108%23ShortFormList>
     1 12:27:00 ERROR riot                 :: {E211} Base URI is null, but there are relative URIs to resolve.: <ShortForm>
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex172.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex178.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex196.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex301.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex308.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex474.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex475.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex476.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex539.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
  • ex301.rqはtimezone、tz関数に未対応のため。
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqはVALUESをWHEREの外に書いている例でこれに未対応の模様。
  • 以上のクエリを除いて全てSERVICEクエリ周りで、何故かDBpediaへのアクセスが全て406エラー(NOT ACCEPTABLE)になる。

AllegroGraph 6.4.0

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://localhost:21400/repositories/dbcls --query=${f} --debug >& ../LearningSPARQL2ndEx_AllegroGraph_6.4.0/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   173 -
    35 @prefix :      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     8 HTTP Exeception
     3 Ask => No
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex172.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex178.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex196.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex308.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex474.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex475.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex476.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex539.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
  • 遂にtimezone、tz関数に対応した模様。
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqはVALUESをWHEREの外に書いている例でこれに未対応の模様。
  • 以上のクエリを除いて全てSERVICEクエリ周りで、DBpediaの返すリテラル値がxsd:date型としているにもかかわらず、例えば"1937-3-4"となっていることでエラー(400 Bad Request、'Parsing JSON failed due to unhandled error: `1937-3-4` is not of type date')になっている。この例の場合では、"1937-03-04"としなければならない(参考)。

Sesame 2.7.3 - 2.7.15

Sesame 2.8.0-beta1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/openrdf-sesame/repositories/SYSTEM' --query ${f} --debug >& ../LearningSPARQL2ndEx_Sesame_2.8.0-beta1/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    28 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     8 HTTP Exeception
     4 @prefix :      <http://www.openrdf.org/config/repository#> .
     3 Ask => No
     2 @prefix :      <http://dbpedia.org/property/> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
     1 @prefix :      <http://xmlns.com/foaf/0.1/> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex002.ttl
ex123.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex126.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex128.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex130.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex135.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex134.ttl
ex180.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex308.txt-<html>
  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")
  • なお、apache-jenaが2.10.1から2.11.0になってからrsparqlで得られるエラーメッセージが分かりにくくなった。具体的にはhttpのステータスコードに続くメッセージが得られなくなった。
HttpException: 500 Query evaluation error: Unknown function 'http://jena.hpl.hp.com/ARQ/function#localname'
から
HttpException: 500

Sesame 2.8.0 - 2.9.0, 4.0.0M1 - 4.1.2

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/openrdf-sesame/repositories/SYSTEM' --query ${f} --debug >& ../LearningSPARQL2ndEx_Sesame_2.8.0/${a}.txt
end

または

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://xxx/openrdf-sesame/repositories/SYSTEM --query=${f} --debug >& ../LearningSPARQL2ndEx_Sesame_2.8.6/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    11 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     8 HTTP Exeception
     4 @prefix :      <http://www.openrdf.org/config/repository#> .
     3 Ask => No
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 ==== No variables ====
     1 12:09:11 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 12:07:42 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 12:07:32 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex002.ttl
ex123.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex126.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex128.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex130.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex135.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex134.ttl
ex180.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex308.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.8 - Error report...
  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")

RDF4J 2.2.2

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://localhost:21100/rdf4j-server/repositories/SYSTEM' --query ${f} --debug >& ../LearningSPARQL2ndEx_RDF4J_2.2.2/${a}.txt
end

または

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://localhost:21100/rdf4j-server/repositories/SYSTEM --query=${f} --debug >& ../LearningSPARQL2ndEx_RDF4J_2.2.2/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    11 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     8 HTTP Exeception
     4 @prefix :      <http://www.openrdf.org/config/repository#> .
     3 Ask => No
     2 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     2 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 ==== No variables ====
     1 15:39:02 WARN  riot                 :: Lexical form '1937-3-4' not valid for datatype http://www.w3.org/2001/XMLSchema#date
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /' | cut -c1-100
ex007.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex002.ttl
ex123.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex069.ttl
ex126.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex128.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex130.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex069.ttl
ex135.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex134.ttl
ex180.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex308.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.8 - Error report</title><style type="
  • これまでのSesameと同一。
  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")

RDF4J 2.2.4

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://localhost:21100/rdf4j-server/repositories/SYSTEM --query=${f} --debug >& ../LearningSPARQL2ndEx_RDF4J_2.2.4/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   167 -
    15 HTTP Exeception
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    11 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     4 @prefix :      <http://www.openrdf.org/config/repository#> .
     3 Ask => No
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /' | cut -c1-100
ex007.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex002.ttl
ex123.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex069.ttl
ex126.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex128.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex130.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex069.ttl
ex135.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex134.ttl
ex172.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
ex178.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
ex180.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex196.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
ex308.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
ex474.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
ex475.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
ex476.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
ex539.txt-<!DOCTYPE html><html><head><title>Apache Tomcat/8.0.46 - Error report</title><style type=
  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • ex308.rqはARQ独自関数利用のため。
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")
  • また、DBpediaの返すリテラル値にrdf:langString型があるが、言語タグが付いていないことでエラー(500 Internal Server Error)になっている(参考)。ただ、このエラーに対するHTTPステータスが500なのはどうなのか。

GraphDB 8.4.1

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:7200/repositories/DBCLS --query=${f} --debug >& ../LearningSPARQL2ndEx_GraphDB_8.4.1/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    19 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    11 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     8 HTTP Exeception
     3 Ask => No
     2 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     2 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 ==== No variables ====
     1 14:52:49 WARN  riot                 :: Lexical form '1937-3-4' not valid for datatype http://www.w3.org/2001/XMLSchema#date
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex002.ttl
ex123.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex069.ttl
ex126.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex128.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex130.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex069.ttl
ex135.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex134.ttl
ex180.txt-MALFORMED QUERY: Not a valid (absolute) IRI: ex125.ttl
ex308.txt-Error - http status (500) - Query evaluation error: Unknown function 'http://jena.hpl.hp.com/ARQ/function#namespace'
  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • ex308.rqはARQ独自関数利用のため。

GraphDB 8.5.0

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:21700/repositories/DBCLS --query=${f} --debug >& ../LearningSPARQL2ndEx_GraphDB_8.5.0/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   167 -
    15 HTTP Exeception
     4 <http://www.w3.org/2002/07/owl#equivalentProperty>
     3 Ask => No
     1 ==== No variables ====
     1 <http://learningsparql.com/ns/data/book312>
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex123.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex126.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex128.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex130.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex135.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex172.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex178.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex180.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex196.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex308.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex474.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:374)
ex475.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex476.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:374)
ex539.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:374)
  • "<ex002.ttl>"といったURIに未対応。(ex007.rq - ex180.rq)
  • DBpedia.orgのSPARQLエンドポイントへはクエリは適切になされているが、得られる結果のデータ型に問題があるためエラーになっている。

(datatype rdf:langString requires a language tag)

  • ex308.rqはARQ独自関数利用のため。

4store 1.1.5

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/sparql/' --query ${f} --debug >& ../LearningSPARQL2ndEx_4store1.1.5/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   163 -
    27 HTTP Exeception
    10 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     7 @prefix d:     <http://learningsparql.com/ns/data#> .
     5 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     2 Ask => No
     2 @prefix foaf:  <http://xmlns.com/foaf/0.1/> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix dm:    <http://learningsparql.com/ns/demo#> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex067.txt-400 Parser error
ex075.txt-400 Parser error
ex078.txt-400 Parser error
ex082.txt-400 Parser error
ex083.txt-400 Parser error
ex084.txt-400 Parser error
ex137.txt-400 Parser error
ex143.txt-400 Parser error
ex155.txt-400 Parser error
ex167.txt-400 Parser error
ex202.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:529)
ex207.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:529)
ex209.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:529)
ex237.txt-400 Parser error
ex246.txt-400 Parser error
ex248.txt-400 Parser error
ex253.txt-400 Parser error
ex255.txt-400 Parser error
ex267.txt-400 Parser error
ex282.txt-400 Parser error
ex432.txt-400 Parser error
ex445.txt-400 Parser error
ex491.txt-400 Parser error
ex492.txt-400 Parser error
ex496.txt-400 Parser error
ex498.txt-400 Parser error
ex500.txt-400 Parser error
  • 4storeのエラーメッセージにある行番号は元々のクエリのそれではないので意味無し。
  • ex067.rq FILTER NOTに非対応。
parser error: syntax error, unexpected NOT on line 7
  • ex075.rq プロパティパスのOR(|)に非対応。
parser error: SPARQL syntax error at '|' on line 7
  • ex078.rq, ex082.rq, ex432.rq, ex445.rq プロパティパスに非対応。クエリに"("は使われていないんだが。。。
parser error: syntax error, unexpected '(' on line 6
  • ex083.rq プロパティパスに非対応。
parser error: SPARQL syntax error at '^' on line 6
  • ex084.rq プロパティパスに非対応。
parser error: syntax error, unexpected '/' on line 6
  • ex137.rq, ex143.rq, ex155.rq, ex167.rq サブクエリに非対応。
SubSELECTs are not implemented
  • ex202.rq, ex207.rq, ex209.rq よく分からないが、ASK と BIND や、CONSTRUCT と BIND、OPTIONAL の組み合わせなどで処理不能になる模様。ASKやCONSTRUCTをSELECTにすると全てOK。
HttpException: java.net.SocketException: Unexpected end of file from server: java.net.SocketException: Unexpected end of file from server
  • ex237.rq, ex246.rq, ex248.rq, ex253.rq, ex255.rq, ex267.rq, ex282.rq, ex491.rq URI関数に非対応。URLでもダメ。
parser error: SPARQL syntax error at 'u' on line 8
  • ex492.rq, ex496.rq, ex498.rq, ex500.rq VALUESに非対応。
parser error: SPARQL syntax error at 'V' on line 6

rdfstore-js 0.8.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_rdfstore-js0.8.1/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   119 ==== No variables ====
    56 com.hp.hpl.jena.query.QueryException: Endpoint returned Content-Type: application/rdf+xml which is not currently supported for SELECT queries
    16 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     4 HTTP Exeception
     2 com.hp.hpl.jena.query.QueryException: Endpoint returned Content-Type: application/rdf+xml which is not currently supported for ASK queries
     2 12:00:33 ERROR riot                 :: Content is not allowed in prolog.
     2 12:00:31 ERROR riot                 :: Content is not allowed in prolog.
     1 Ask => No
     1 12:01:45 ERROR riot                 :: Content is not allowed in prolog.
     1 12:01:32 ERROR riot                 :: Content is not allowed in prolog.
     1 12:01:28 ERROR riot                 :: Content is not allowed in prolog.
     1 12:01:00 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:55 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:50 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:47 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:46 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:45 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:44 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:42 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:34 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:32 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:30 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:29 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:26 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:23 ERROR riot                 :: Content is not allowed in prolog.
     1 12:00:20 ERROR riot                 :: Content is not allowed in prolog.

Stardog 1.2.3

Stardog 2.0.0 - 2.0.3

Stardog 2.1.0 - 2.1.3

Stardog 2.2 - 2.2.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx:5820/myDB/query' --query ${f} --debug >& ../LearningSPARQL2ndEx_Stardog_1.2.3/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    10 HTTP Exeception
     9 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     7 @prefix d:     <http://learningsparql.com/ns/data#> .
     6 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     4 @prefix :      <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> .
     3 Ask => No
     2 @prefix foaf:  <http://xmlns.com/foaf/0.1/> .
     2 @prefix dm:    <http://learningsparql.com/ns/demo#> .
     1 @prefix v:     <http://www.w3.org/2006/vcard/ns#> .
     1 @prefix u:     <http://learningsparql.com/ns/units#> .
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-java.lang.UnsupportedOperationException
ex170.txt-java.lang.UnsupportedOperationException
ex172.txt-java.lang.UnsupportedOperationException
ex178.txt-java.lang.UnsupportedOperationException
ex196.txt-java.lang.UnsupportedOperationException
ex308.txt-com.clarkparsia.stardog.plan.filter.ValueProviderException: Unknown function: http://jena.hpl.hp.com/ARQ/function#namespace
ex474.txt-java.lang.UnsupportedOperationException
ex475.txt-java.lang.UnsupportedOperationException
ex476.txt-java.lang.UnsupportedOperationException
ex539.txt-java.lang.UnsupportedOperationException

公式に現バージョンでのSERVICE未対応を表明していることから、それに関するクエリの処理がエラーになっているほか、arq独自関数が含まれるex308.rqの処理でエラーが生じている。 その他、WHERE節の外にあるVALUESに非対応。

Stardog 2.2.2

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx:5820/myDB/query' --query ${f} --debug >& ../LearningSPARQL2ndEx_Stardog_1.2.3/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    13 HTTP Exeception
     9 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     4 @prefix :      <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> .
     3 Ask => No
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex170.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex172.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex178.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex190.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex192.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex196.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex308.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex474.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex475.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex476.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex523.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex539.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan

何故か2.2.1 -> 2.2.2でエラーになるクエリが3つ増えた。いずれもCONSTRUCTなのだが、もちろん、全てのCONSTRUCTが不可ということではなく原因は謎。

Stardog 2.2.3 - 2.2.4

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx:5820/myDB/query' --query ${f} --debug >& ../LearningSPARQL2ndEx_Stardog_2.2.3/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   171 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
    10 HTTP Exeception
     4 @prefix :      <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> .
     3 Ask => No
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex170.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex172.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex178.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex196.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex308.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex474.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex475.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex476.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan
ex539.txt-com.complexible.stardog.plan.eval.ExecutionException: There was an error while creating a new query plan

2.2.2での問題は解消された模様。

Stardog 3.0 - 3.1.4, 4.0.3, 4.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx:5820/myDB/query' --query ${f} --debug >& ../LearningSPARQL2ndEx_Stardog_3.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   177 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     4 @prefix :      <http://swat.cse.lehigh.edu/onto/univ-bench.owl#> .
     3 Ask => No
     1 HTTP Exeception
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 ==== No variables ====
     1 14:05:15 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 14:03:41 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
     1 14:03:30 WARN  riot                 :: Lexical form '1860-01-01+02:00' not valid for datatype http://www.w3.org/2001/XMLSchema#gYear
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex308.txt-com.complexible.stardog.plan.eval.ExecutionException: Unknown function: http://jena.hpl.hp.com/ARQ/function#namespace
  • 3.0になり、SERVICEキーワードに対応したことから、前バージョンまでの問題は全て解消した模様。
  • ex308についてはARQ独自関数のため。

Stardog 4.2

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://localhost:21200/myDB/query --query=${f} --debug >& ../LearningSPARQL2ndEx_Stardog_4.2/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   178 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     4 @prefix :      <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> .
     3 Ask => No
     2 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     2 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix :      <http://purl.org/voc/vrank#> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
  • 全てのクエリにエラー無く対応
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")

Stardog 5.0.2 - 5.2.0

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://localhost:21200/myDB/query --query=${f} --debug >& ../LearningSPARQL2ndEx_Stardog_5.0.2/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   176 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     4 @prefix :      <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> .
     3 HTTP Exeception
     3 Ask => No
     2 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     2 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex474.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex476.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex539.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
  • DBpediaに対するService句が失敗。おそらくDBpedia(つまりVirtuoso?)が返すヘッダー情報の問題と思われる。
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")

Stardog 5.2.2

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://localhost:21200/myDB/query --query=${f} --debug >& ../LearningSPARQL2ndEx_Stardog_5.0.2/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   176 -
    15 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     5 HTTP Exeception
     4 @prefix :      <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> .
     3 Ask => No
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex178.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex196.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex474.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex476.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
ex539.txt-     at com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:446)
  • ex178とex196については、DBpediaから返されるデータに不正がある模様。"1937-3-4"はxsd:date型にはならないから。
  • DBpediaに対するService句が失敗。おそらくDBpedia(つまりVirtuoso?)が返すヘッダー情報の問題と思われる。
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")

Stardog 5.2.3

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; ./bin/rsparql --service=http://ep:21200/myDB/query --query=${f} --debug >& ../LearningSPARQL2ndEx_Stardog_5.2.3/${o}.txt ; done'
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   176 -
    12 @prefix ab:    <http://learningsparql.com/ns/addressbook#> .
     4 <http://www.Department0.University0.edu>
     3 HTTP Exeception
     3 Ask => No
     3 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     2 @prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
     2 @prefix dm:    <http://learningsparql.com/ns/demo#> .
     2 @prefix dcterms: <http://purl.org/dc/terms/> .
     2 @prefix d:     <http://learningsparql.com/ns/data#> .
     1 @prefix spin:  <http://spinrdf.org/spin#> .
     1 @prefix skos:  <http://www.w3.org/2004/02/skos/core#> .
     1 @prefix owl:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix nn:    <http://learningsparql.com/new/namespace/> .
     1 @prefix im:    <http://learningsparql.com/ns/importedData#> .
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
     1 ==== No variables ====
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex474.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex476.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
ex539.txt-     at org.apache.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:371)
  • 一部DBpediaに対するService句が失敗。おそらくDBpedia(つまりVirtuoso?)が返すヘッダー情報の問題と思われるが、はて。
  • ex492.rqについては、期待される結果とは異なっている。("==== No variables ====")

SPARQLBASE 0.4.11

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./rel/bin/isbx -p 10390 -f ${f} >& ~/src/LearningSPARQL2ndEx_SparqlCity0.4.11/${a}.txt
end
$ head -1 ~/src/LearningSPARQL2ndEx_SparqlCity0.4.11/*.txt | grep -v '^==>' | sed -ne '/^./p' | cut -f1 -d' ' | sort | uniq -c | sort -nr
   161 Error
    10 s
     6 property
     5 person
     5 label
     5 craigEmail
     5 class
     4 p
     3 first
     2 propertyName
     2 pacinoFilm
     1 value
     1 subproperty
     1 rangeValue
     1 propertyLabel
     1 o
     1 hasNextTotal
     1 elvisbday
     1 creator
     1 artistName
     1 artist
     1 agentTotal
     1 addressVal
$ grep Error ~/src/LearningSPARQL2ndEx_SparqlCity0.4.11/*.txt | cut -f2 -d':' | sort | uniq -c | sort -nr
    76 Error - syntax not currently supported
    47 Error - syntax error. syntax error
    17 Error - unsupported functionality
     7 Error - cannot compute size and type
     5 Error - delimiter not found. Badly formed prefix IRI - does not end in one of these '\(_~.-!$&"()|*+,;=
     2 Error - variable cannot be used for both aggregation and grouping
     2 Error - table does not exist
     2 Error - cannot walk expression
     1 Error - invalid system state
     1 Error - division by zero detected
     1 Error - compilation failed

SPARQLBASE 0.4.19

SPARQLBASE 0.5.0 - 0.5.22

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/' --query ${f} --debug >& ../LearningSPARQL2ndEx_SPARQLBase_0.4.19/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   130 HTTP Exeception
    89 -
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[28,3]
$ grep -A7 'HTTP Exeception' *.txt | grep 'error:' | perl -ne 's/<br>//;my @x=split " ",$_,3;print $x[2]' | sort | uniq -c | sort -nr
    47 syntax error
    38 syntax not currently supported
    18 unsupported functionality
     8 cannot compute size and type
     5 delimiter not found
     5 cannot walk expression
     2 variable cannot be used for both aggregation and grouping
     2 table does not exist
     2 invalid system state
     2 compilation failed
     1 named variable not in contained where clause

SPARQLBASE 0.6.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/' --query ${f} --debug >& ../LearningSPARQL2ndEx_SPARQLBase_0.6.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   130 HTTP Exeception
    89 -
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[28,3]
$ grep -A7 'HTTP Exeception' *.txt | grep 'error:' | perl -ne 's/<br>//;my @x=split " ",$_,3;print $x[2]' | sort | uniq -c | sort -nr
    47 syntax error
    20 unsupported functionality
    18 syntax not currently supported
    12 cannot compute size and type
     8 compilation failed
     7 invalid system state
     5 delimiter not found
     5 cannot walk expression
     4 table does not exist
     2 variable cannot be used for both aggregation and grouping
     1 named variable not in contained where clause

SPARQLBASE 0.7.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/' --query ${f} --debug >& ../LearningSPARQL2ndEx_SPARQLBase_0.7.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   128 HTTP Exeception
    91 -
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[28,3]
$ grep -A7 'HTTP Exeception' *.txt | grep 'error:' | perl -ne 's/<br>//;my @x=split " ",$_,3;print $x[2]' | sort | uniq -c | sort -nr
    44 syntax error
    22 unsupported functionality
    18 syntax not currently supported
    12 cannot compute size and type
     8 invalid system state
     8 compilation failed
     5 table does not exist
     5 delimiter not found
     5 cannot walk expression

SPARQLBASE 0.8.0

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/' --query ${f} --debug >& ../LearningSPARQL2ndEx_SPARQLBase_0.8.0/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   127 HTTP Exeception
    92 -
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[28,3]
$ grep -A7 'HTTP Exeception' *.txt | grep 'error:' | perl -ne 's/<br>//;my @x=split " ",$_,3;print $x[2]' | sort | uniq -c | sort -nr
    35 unsupported functionality
    29 cannot compute size and type
    20 syntax not currently supported
    12 invalid system state
    10 syntax error
     8 compilation failed
     5 table does not exist
     5 delimiter not found
     2 cannot walk expression

SPARQLBASE 1.0.6

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/' --query ${f} --debug >& ../LearningSPARQL2ndEx_SPARQLBase_1.0.6/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   116 HTTP Exeception
    94 -
     9 com.hp.hpl.jena.query.QueryException: Endpoint returned Content Type: application/sparql-results+text/plain which is not a valid RDF Graph syntax
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[28,3]
$ grep -A7 'HTTP Exeception' *.txt | grep 'error:' | perl -ne 's/<br>//;my @x=split " ",$_,3;print $x[2]' | sort | uniq -c | sort -nr
    34 unsupported functionality
    30 cannot compute size and type
    21 syntax not currently supported
    10 syntax error
     7 invalid system state
     5 table does not exist
     5 delimiter not found
     2 compilation failed
     2 cannot walk expression

MarkLogic 8.0-6

$ sh -c 'for f in ../LearningSPARQL2ndEx/ex*.rq ; do o=`basename $f .rq`; curl --anyauth --user user:pass -i -X POST --data-binary @${f} -H "Content-type: application/sparql-query" -H "Accept: application/sparql-results+json" http://localhost:8000/v1/graphs/sparql > ../LearningSPARQL2ndEx_MarkLogic_8.0-6/${o}.txt ; done'
$ grep '^{' *.txt | grep errorResponse | cut -c1-120 | sed -e 's/^/ /'
ex128.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex130.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex135.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex136.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex167.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex170.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex172.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex176.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex178.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex180.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex182.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex184.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex185.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex188.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex190.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex192.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex194.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex196.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex203.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex205.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex207.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex209.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex211.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex212.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex213.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex215.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex216.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex237.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex246.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex248.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex253.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex255.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex267.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex282.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex305.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex308.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNDFUN", "message":"XDMP-UNDFU
ex314.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex326.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex332.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex341.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex427.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex428.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex437.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex474.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex475.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex476.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex479.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex480.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex491.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex523.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
ex538.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-COLLXCNNOTFOUND", "message":"X
ex539.txt:{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"XDMP-UNEXPECTED", "message":"XDMP-U
ex540.txt:{"errorResponse":{"statusCode":406, "status":"Unacceptable Type", "messageCode":"REST-UNACCEPTABLETYPE", "mess
  • 現時点ではあまり対応されていない模様。

D2RQ 0.8.1

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/sparql/' --query ${f} --debug >& ../LearningSPARQL2ndEx_D2RQ_0.8.1/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   162 -
    31 @prefix db:    <http://localhost:2020/resource/> .
    23 HTTP Exeception
     3 Ask => No
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A1 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | sed -e 's/-HttpException//' | sed -e 's/^/ /'
ex007.txt: 400 This service does not allow the dataset to be specified in the query
ex123.txt: 400 This service does not allow the dataset to be specified in the query
ex126.txt: 400 This service does not allow the dataset to be specified in the query
ex128.txt: 400 This service does not allow the dataset to be specified in the query
ex130.txt: 400 This service does not allow the dataset to be specified in the query
ex135.txt: 400 This service does not allow the dataset to be specified in the query
ex166.txt: 400 This service does not allow the dataset to be specified in the query
ex167.txt: 500 OpNull
ex170.txt: 500 OpNull
ex172.txt: 500 OpNull
ex178.txt: 500 OpNull
ex180.txt: 400 This service does not allow the dataset to be specified in the query
ex182.txt: 400 This service does not allow the dataset to be specified in the query
ex196.txt: 500 OpNull
ex474.txt: 500 OpNull
ex475.txt: 500 OpNull
ex476.txt: 500 OpNull
ex492.txt: 400 Parse error:  PREFIX  dm:   <http://learningsparql.com/ns/demo#>  SELECT  * WHERE   {  } VALUES ( ?color ?direction ) {   ( dm:red "north" )   ( dm:blue "west" ) }   Lexical error at line 6, column 7.  Encountered: " " (32), after : "VALUES"
ex496.txt: 400 Parse error:  PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date ?amount WHERE   { ?meal e:description ?description .     ?meal e:date ?date .     ?meal e:amount ?amount     VALUES ?description { "lunch" "dinner" }   }   Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex498.txt: 400 Parse error:  PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date ?amount WHERE   { ?meal e:description ?description .     ?meal e:date ?date .     ?meal e:amount ?amount     VALUES ( ?date ?description ) {       ( "2011-10-15" "lunch" )       ( "2011-10-16" "dinner" )     }   }   Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex500.txt: 400 Parse error:  PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date ?amount WHERE   { ?meal e:description ?description .     ?meal e:date ?date .     ?meal e:amount ?amount     VALUES ( ?date ?description ) {       ( UNDEF "lunch" )       ( "2011-10-16" UNDEF )     }   }   Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex539.txt: 500 OpNull
ex540.txt: 400 This service does not allow the dataset to be specified in the query
  • FROM、SERVICE、VALUESに非対応な模様。

D2RQ 0.8.2dev - 0.8.3dev

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://xxx/sparql/' --query ${f} --debug >& ../LearningSPARQL2ndEx_D2RQ_0.8.2dev/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   168 -
    34 @prefix db:    <http://localhost:2020/resource/> .
    14 HTTP Exeception
     3 Ask => No
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
$ grep -A1 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | sed -e 's/-HttpException//' | sed -e 's/^/ /'
ex007.txt: 400 This service does not allow the dataset to be specified in the query
ex123.txt: 400 This service does not allow the dataset to be specified in the query
ex126.txt: 400 This service does not allow the dataset to be specified in the query
ex128.txt: 400 This service does not allow the dataset to be specified in the query
ex130.txt: 400 This service does not allow the dataset to be specified in the query
ex135.txt: 400 This service does not allow the dataset to be specified in the query
ex166.txt: 400 This service does not allow the dataset to be specified in the query
ex180.txt: 400 This service does not allow the dataset to be specified in the query
ex182.txt: 400 This service does not allow the dataset to be specified in the query
ex492.txt: 400 Parse error:  PREFIX  dm:   <http://learningsparql.com/ns/demo#>  SELECT  * WHERE   {  } VALUES ( ?color ?direction ) {   ( dm:red "north" )   ( dm:blue "west" ) }   Lexical error at line 6, column 7.  Encountered: " " (32), after : "VALUES"
ex496.txt: 400 Parse error:  PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date ?amount WHERE   { ?meal e:description ?description .     ?meal e:date ?date .     ?meal e:amount ?amount     VALUES ?description { "lunch" "dinner" }   }   Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex498.txt: 400 Parse error:  PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date ?amount WHERE   { ?meal e:description ?description .     ?meal e:date ?date .     ?meal e:amount ?amount     VALUES ( ?date ?description ) {       ( "2011-10-15" "lunch" )       ( "2011-10-16" "dinner" )     }   }   Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex500.txt: 400 Parse error:  PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date ?amount WHERE   { ?meal e:description ?description .     ?meal e:date ?date .     ?meal e:amount ?amount     VALUES ( ?date ?description ) {       ( UNDEF "lunch" )       ( "2011-10-16" UNDEF )     }   }   Lexical error at line 8, column 11.  Encountered: " " (32), after : "VALUES"
ex540.txt: 400 This service does not allow the dataset to be specified in the query

FROMとVALUESに非対応。

Dydra (2013/11/25)

RDFデータのクラウドサービスDydraはSPARQLクエリによるアクセスに対応しているので、他のトリプルストアと同様に試してみた。SPARQL1.1未対応のようだ。

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://dydra.com/xxx/sparql/' --query ${f} --debug >& ../LearningSPARQL2ndEx_Dydra/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   119 -
    74 HTTP Exeception
    16 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     3 Ask => No
     3 @prefix ns0:   <http://purl.org/dc/terms/> .
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[4,18166921]
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[26,17970349]
     1 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[26,14486554]
     1 @prefix ns0:   <http://www.w3.org/2000/01/rdf-schema#> .
     1 @prefix ns0:   <http://purl.org/dc/elements/1.1/> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex003.txt-Syntax error (id: 740a2140-37a7-0131-e075-4eadff9da167): Could not determine query form
ex007.txt-Syntax error (id: 75a1ec60-37a7-0131-e075-4eadff9da167): Could not determine query form
ex008.txt-Syntax error (id: 765a5c90-37a7-0131-e075-4eadff9da167): Could not determine query form
ex010.txt-Syntax error (id: 772414d0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex013.txt-Syntax error (id: 7829b6c0-37a7-0131-c38e-4eadff9da167): Could not determine query form
ex015.txt-Syntax error (id: 78f30290-37a7-0131-c38e-4eadff9da167): Could not determine query form
ex017.txt-Syntax error (id: 79b755c0-37a7-0131-c38e-4eadff9da167): Could not determine query form
ex019.txt-Syntax error (id: 7a786000-37a7-0131-c38e-4eadff9da167): Could not determine query form
ex021.txt-Syntax error (id: 7b3fbcd0-37a7-0131-c38e-4eadff9da167): Could not determine query form
ex023.txt-Syntax error (id: 7c068d80-37a7-0131-c38e-4eadff9da167): Could not determine query form
ex047.txt-Syntax error (id: 7d9fbc00-37a7-0131-c38e-4eadff9da167): Could not determine query form
ex055.txt-Syntax error (id: 8116ca20-37a7-0131-e075-4eadff9da167): Could not determine query form
ex057.txt-Syntax error (id: 81d6b5a0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex059.txt-Syntax error (id: 82979e30-37a7-0131-e075-4eadff9da167): Could not determine query form
ex061.txt-Syntax error (id: 835607f0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex063.txt-Syntax error (id: 841daa10-37a7-0131-e075-4eadff9da167): Could not determine query form
ex065.txt-Syntax error (id: 84debc10-37a7-0131-e075-4eadff9da167): Could not determine query form
ex067.txt-Syntax error (id: 859b76d0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex068.txt-Syntax error (id: 86620bf0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex070.txt-Syntax error (id: 87215280-37a7-0131-e075-4eadff9da167): Could not determine query form
ex086.txt-Syntax error (id: 8ce97e70-37a7-0131-e075-4eadff9da167): Could not determine query form
ex088.txt-Syntax error (id: 8db0eac0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex094.txt-Syntax error (id: 9011ca10-37a7-0131-e075-4eadff9da167): Could not determine query form
ex098.txt-Syntax error (id: 90cd2a10-37a7-0131-e075-4eadff9da167): Could not determine query form
ex101.txt-Syntax error (id: 919388b0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex103.txt-Syntax error (id: 9252b410-37a7-0131-e075-4eadff9da167): Could not determine query form
ex123.txt-Syntax error (id: 9aac44e0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex126.txt-Syntax error (id: 9b6b9560-37a7-0131-e075-4eadff9da167): Could not determine query form
ex128.txt-Syntax error (id: 9c2a5520-37a7-0131-e075-4eadff9da167): Could not determine query form
ex130.txt-Syntax error (id: 9cf33a50-37a7-0131-e075-4eadff9da167): Could not determine query form
ex135.txt-Syntax error (id: 9db8aed0-37a7-0131-e075-4eadff9da167): Could not determine query form
ex137.txt-Syntax error (id: 9fcc9990-37a7-0131-e075-4eadff9da167): Could not determine query form
ex167.txt-Syntax error (id: ae50af30-37a7-0131-e075-4eadff9da167): failed to parse after 'SERVICE' at offset 276 on line 9. PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX  cat:  <http://dbped
ex170.txt-Syntax error (id: af30d1d0-37a7-0131-e075-4eadff9da167): failed to parse after 'SERVICE' at offset 225 on line 7. PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX  rdf:  <http://www.w
ex172.txt-Syntax error (id: b00f5710-37a7-0131-e075-4eadff9da167): failed to parse after 'SERVICE' at offset 466 on line 11. PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX  cat:  <http://dbpe
ex174.txt-Syntax error (id: b0fd3750-37a7-0131-e075-4eadff9da167): Could not determine query form
ex176.txt-Syntax error (id: b1c20d40-37a7-0131-e075-4eadff9da167): Could not determine query form
ex178.txt-Syntax error (id: b289d0d0-37a7-0131-e075-4eadff9da167): failed to parse after 'SERVICE' at offset 545 on line 13. PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX  cat:  <http://dbpe
ex180.txt-Syntax error (id: b3970220-37a7-0131-e075-4eadff9da167): Could not determine query form
ex185.txt-Syntax error (id: b6118e90-37a7-0131-e075-4eadff9da167): Could not determine query form
ex188.txt-Syntax error (id: b6d63550-37a7-0131-e075-4eadff9da167): Could not determine query form
ex190.txt-Syntax error (id: b78eb240-37a7-0131-e075-4eadff9da167): Could not determine query form
ex192.txt-Syntax error (id: b8510b60-37a7-0131-e075-4eadff9da167): Could not determine query form
ex194.txt-Syntax error (id: b9168130-37a7-0131-e075-4eadff9da167): Could not determine query form
ex196.txt-Syntax error (id: b9ddea40-37a7-0131-e075-4eadff9da167): failed to parse after 'SERVICE' at offset 565 on line 14. PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX  cat:  <http://dbpe
ex216.txt-Syntax error (id: c4592b90-37a7-0131-e075-4eadff9da167): Could not determine query form
ex239.txt-Syntax error (id: cf9d5e20-37a7-0131-e075-4eadff9da167): Could not determine query form
ex282.txt-Syntax error (id: 3a157c80-37a8-0131-20a5-4eadff9da167): Condition: Invalid vocabulary resource: "rdfs:type". PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX  dm:   <http://learnings
ex305.txt-Syntax error (id: 66545860-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex308.txt-Malformed Query (compilation or reduction error) (id: 67147fa0-37a8-0131-20f7-4eadff9da167)
ex314.txt-Syntax error (id: 6900c420-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex326.txt-Syntax error (id: 6a9425f0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex354.txt-Syntax error (id: 6ce2b3e0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex415.txt-Syntax error (id: 702b99e0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex422.txt-Syntax error (id: 71b24d80-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex474.txt-Syntax error (id: 89669c90-37a8-0131-20f7-4eadff9da167): failed to parse after 'SERVICE' at offset 24 on line 3. SELECT  ?p ?o WHERE { SERVICE <http://DBpedia.org/sparql> { <http://dbpedia.org/re
ex475.txt-Syntax error (id: 8aa4e230-37a8-0131-20f7-4eadff9da167): failed to parse after 'SERVICE' at offset 155 on line 5. PREFIX  gp:   <http://wifo5-04.informatik.uni-mannheim.de/gutendata/resource/peop
ex476.txt-Syntax error (id: 8be47ed0-37a8-0131-20f7-4eadff9da167): failed to parse after 'SERVICE' at offset 79 on line 4. CONSTRUCT { <http://dbpedia.org/resource/Joseph_Hocking> ?p ?o .} WHERE { SERVICE 
ex491.txt-Syntax error (id: 914289c0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex492.txt-Syntax error (id: 92028530-37a8-0131-20f7-4eadff9da167): failed to parse after 'VALUES' at offset 75 on line 6. PREFIX  dm:   <http://learningsparql.com/ns/demo#>  SELECT  * WHERE {  } VALUES ( ?
ex496.txt-Syntax error (id: 93dbf4f0-37a8-0131-20f7-4eadff9da167): failed to parse after 'VALUES' at offset 192 on line 8. PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date
ex498.txt-Syntax error (id: 94d0f070-37a8-0131-20f7-4eadff9da167): failed to parse after 'VALUES' at offset 192 on line 8. PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date
ex500.txt-Syntax error (id: 95e801b0-37a8-0131-20f7-4eadff9da167): failed to parse after 'VALUES' at offset 192 on line 8. PREFIX  e:    <http://learningsparql.com/ns/expenses#>  SELECT  ?description ?date
ex507.txt-Syntax error (id: 97432940-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex510.txt-Syntax error (id: 99962330-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex511.txt-Syntax error (id: 9a4cb370-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex513.txt-Syntax error (id: 9bd839d0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex514.txt-Syntax error (id: 9c9935f0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex515.txt-Syntax error (id: 9d522140-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex516.txt-Syntax error (id: 9e0c9400-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex520.txt-Syntax error (id: 9fbf9ee0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex523.txt-Syntax error (id: a14de960-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex537.txt-Syntax error (id: a6217dd0-37a8-0131-20f7-4eadff9da167): Could not determine query form
ex539.txt-Syntax error (id: a7c434c0-37a8-0131-20f7-4eadff9da167): failed to parse after 'SERVICE' at offset 276 on line 9. PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX  cat:  <http://dbped

Dydra (2015/09/15)

以前のテスト時に比べて格段に対応クエリが増加している。

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://dydra.com/xxx/sparql/' --query ${f} --debug >& ../LearningSPARQL2ndEx_Dydra/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   173 -
    30 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    10 HTTP Exeception
     3 Ask => No
     2 @prefix ns5:   <http://www.w3.org/2002/07/owl#> .
     1 @prefix ns6:   <http://purl.org/dc/terms/> .
     1 22:17:24 WARN  riot                 :: {W109} The namespace URI: <http%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23> is relative. Such ...
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex167.txt-
ex170.txt-
ex172.txt-
ex178.txt-
ex196.txt-
ex474.txt-
ex475.txt-
ex476.txt-
ex539.txt-
  • SERVICEクエリは、dydra内にあるデータセットに対してのみ可能としているらしい。

SPIN API 1.3.1-1.3.2

TopBraidにより提供されているSPIN APIに対し、他の実装で試した全てのクエリを処理させ、適切にRDFへの変換、及び逆変換がなされるかを試した。 結果は全て問題なく処理された。

このテストを行うために、上記URLより取得出来るライブラリ(spin-1.3.1-distribution.zip, spin-1.3.2-distribution.zip)とapache-jena-2.11.0.zipを利用している。 前者のパッケージに含まれているサンプルプログラムSPINParsingExample.javaを参考にし、標準入力からクエリを受け付け、SELECTだけでなく、ASK、CONSTRUCT、DESCRIBEも処理可能な仕様にした。 なお、サンプルプログラムのままではSELECTクエリのみが対応可能なので、com.hp.hpl.jena.query.Queryクラスのメソッド、isAskTypeなどを利用してクエリの型を判定する形にした。

RDF-Endpoint-0.06

PSGIを用いたPerlモジュールのSPARQLエンドポイント実装。 必要なモジュール群の数はそれなりにあるが、一度インストールが終われば、エンドポイントに必要な変数群を rdf_endpoint.json に記述し、下記の要領で実行するだけで立ち上がる。

plackup /usr/local/bin/endpoint.psgi

なお、サンプルとしてrdf_endpoint.jsonが取得できるので、これを参考にカレントディレクトリにおけば、直ぐに立ち上げられる。 因みにサンプルjsonファイルは、配列の最後の要素の次にカンマを含めていてjson文法から逸脱しているので修正が必要。 今回は plackのスタンドアロンサーバーを用いたためか、本テストを行うと、度々ハングアップしてしまった。特にSERVICEキーワードを用いたクエリには弱かった。

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:5000/query' --query ${f} --debug >& ../LearningSPARQL2ndEx_RDF-Endpoint-0.06/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   170 -
    28 @prefix ldodds: <java:com.ldodds.sparql.> .
    16 HTTP Exeception
     3 Exception in thread "main" java.lang.ExceptionInInitializerError
$ grep 'Exception' *.txt | grep -v 'Caused by' | sed -e 's/^/ /'
ex196.txt:HttpException: java.net.ConnectException: Connection refused: java.net.ConnectException: Connection refused
ex199.txt:com.hp.hpl.jena.sparql.resultset.ResultSetException: Not a boolean result
ex201.txt:com.hp.hpl.jena.sparql.resultset.ResultSetException: Not a boolean result
ex202.txt:com.hp.hpl.jena.sparql.resultset.ResultSetException: Not a boolean result
ex475.txt:HttpException: java.net.ConnectException: Connection refused: java.net.ConnectException: Connection refused
ex492.txt:HttpException: 400 Bad Request
ex496.txt:Exception in thread "main" java.lang.ExceptionInInitializerError
ex498.txt:Exception in thread "main" java.lang.ExceptionInInitializerError
ex500.txt:Exception in thread "main" java.lang.ExceptionInInitializerError

以上の他、ex170.rq, ex172.rq, ex178.rq でサーバーがハングアウトした。

  • ex196.rq, ex475.rq についてはSERVICEキーワードに関するもの。
  • ex199.rq, ex201.rq, ex202.rq について、ASKキーワードに非対応である模様。
  • ex492.rq について、VALUESのSELECT句外での使用に非対応の可能性。
  • ex496.rq, ex498.rq, ex500.rq について、VALUESキーワードの処理に問題がある模様。

RDF-Endpoint-0.07

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service='http://localhost:5000/sparql' --query ${f} --debug >& ../LearningSPARQL2ndEx_RDF-Endpoint-0.07/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   176 -
    35 @prefix arq:   <http://jena.hpl.hp.com/ARQ/function#> .
     3 com.hp.hpl.jena.sparql.resultset.ResultSetException: Not a boolean result
     3 HTTP Exeception
 $ grep 'Exception' *.txt | grep -v 'Caused by' | sed -e 's/^/ /'
ex199.txt:com.hp.hpl.jena.sparql.resultset.ResultSetException: Not a boolean result
ex201.txt:com.hp.hpl.jena.sparql.resultset.ResultSetException: Not a boolean result
ex202.txt:com.hp.hpl.jena.sparql.resultset.ResultSetException: Not a boolean result
ex492.txt:HttpException: 400 Bad Request
ex498.txt:HttpException: 400 Bad Request
ex500.txt:HttpException: 400 Bad Request
  • SERVICEキーワードについては問題が解消された。
  • ASKキーワードには非対応 (ex199.rq, ex201.rq, ex202.rq)。
  • ex492.rq について、VALUESのSELECT句外での使用に非対応の可能性。
  • ex498.rq, ex500.rq について、VALUESキーワードの処理に問題がある模様。

-ontop- v1.9

$ foreach f ( ../LearningSPARQL2ndEx/ex*.rq )
set a=`basename $f .rq`
./bin/rsparql --service 'http://ep:8085/openrdf-sesame/repositories/ontopTest' --query ${f} --debug >& ../LearningSPARQL2ndEx_ontop_1.9/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
   112 -
    80 HTTP Exeception
    24 @prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     2 Ask => No
     2 @prefix :      <http://www.semanticweb.org/mrezk#> .
$ grep -A2 'HTTP Exeception' *.txt | grep -v 'HTTP Exeception' | grep -v '^--' | grep -v 'HttpException' | sed -e 's/^/ /'
ex007.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex002.ttl
ex067.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Exists
ex078.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: ArbitraryLengthPath
ex109.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function ListMemberOperator
ex111.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function ListMemberOperator
ex123.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex126.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex128.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex130.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex069.ttl
ex135.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex134.ttl
ex136.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex137.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex139.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex141.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex143.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex144.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex153.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Max
ex155.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Max
ex156.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Avg
ex158.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function GroupConcat
ex160.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Sum
ex162.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Count
ex164.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Sum
ex180.txt-MALFORMED QUERY: Not a valid (absolute) URI: ex125.ttl
ex184.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: SingletonSet
ex185.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex202.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex222.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Unsupported datatype: http://learningsparql.com/ns/mytypesystem#potrzebies
ex232.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex233.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex235.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: SingletonSet
ex237.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function If
ex239.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Coalesce
ex242.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function IsNumeric
ex244.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex246.txt-org.openrdf.query.algebra.Slice cannot be cast to org.openrdf.query.algebra.Reduced
ex248.txt-org.openrdf.query.algebra.Slice cannot be cast to org.openrdf.query.algebra.Reduced
ex251.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex253.txt-org.openrdf.query.algebra.Slice cannot be cast to org.openrdf.query.algebra.Reduced
ex255.txt-org.openrdf.query.algebra.Slice cannot be cast to org.openrdf.query.algebra.Reduced
ex257.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex260.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex262.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex264.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex267.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex273.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex276.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex282.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function IRIFunction
ex285.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex287.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex290.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex293.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex295.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex299.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex301.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex303.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: SingletonSet
ex305.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex308.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex332.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex341.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: SingletonSet
ex432.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: ArbitraryLengthPath
ex437.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex445.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: ArbitraryLengthPath
ex453.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Count
ex454.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Count
ex456.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Count
ex457.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function Count
ex473.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex489.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex491.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function IRIFunction
ex492.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: BindingSetAssignment ([[color=http://learningsparql.com/ns/demo#red;direction="north"], [color=http://learningsparql.com/ns/demo#blue;direction="west"]])
ex496.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: BindingSetAssignment ([[description="lunch"], [description="dinner"]])
ex498.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: BindingSetAssignment ([[date="2011-10-15";description="lunch"], [date="2011-10-16";description="dinner"]])
ex500.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: BindingSetAssignment ([[description="lunch"], [date="2011-10-16"]])
ex510.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex511.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: The builtin function FunctionCall
ex517.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: SingletonSet
ex520.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Operator not supported: SingletonSet
ex526.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL
ex538.txt-Query evaluation error: it.unibz.krdb.obda.model.OBDAException: Error rewriting and unfolding into SQL

関連SPARQLthonページ一覧

...

...

...


個人用ツール