BH12.12/SPARQL11test

提供:TogoWiki

(版間での差分)
移動: 案内, 検索
(Virtuoso version 06.01.3127 on Linux)
(Virtuoso version 06.01.3127 on Linux)
56行: 56行:
       2 Ask => No
       2 Ask => No
       1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
       1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .
 +
 +
下記、Virtuosoのエラーメッセージにスペルミス(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
=== [http://virtuoso.openlinksw.com/ Virtuoso version 07.00.3202 on Linux] ===
=== [http://virtuoso.openlinksw.com/ Virtuoso version 07.00.3202 on Linux] ===

2013年7月16日 (火) 02:27時点における版

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

テスト

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

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に未対応。

Virtuoso version 06.01.3127 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_Virtuoso06013127/${a}.txt
end
$ head -1 *.txt | grep -v '^==>' | sed -ne '/^./p' | sed -e 's/^--*/-/' | sort | uniq -c | sort -nr
    90 -
    46 HTTP Exeception
    16 @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
     2 Ask => No
     1 @prefix dc:    <http://purl.org/dc/elements/1.1/> .

下記、Virtuosoのエラーメッセージにスペルミス(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

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

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' --query ${f} --debug >& ../LearningSPARQL2ndEx_OWLIM_Lite_5.3.5928/${a}.txt
end
個人用ツール