次のようなデータセットがあります。
<item1> <isLocated> <someAddress>
<item2> <isLocated> <someAddress>
<item3> <isLocated> <someOtherAddress>
SPARQLを使用して質問に答えられるようにしたいと思います。
「someAddressまたはsomeOtherAddressでどのアイテムを見つけますか?」
私はこのようなUNIONを使うことができます:
SELECT ?item
{
{ ?item <isLocated> <someAddress> }
UNION { ?item <isLocated> <someOtherAddress }
}
しかし、私が数百または数千のアドレスについて話し始めると、これはかなり厄介になると思います。
VALUESインラインデータは、UNIONクエリのヒープよりも適していると思います。次のクエリを書いてみましたが、RDFストア/エンジン(ビッグデータ)がそれを詰まらせているようです:
SELECT ?item
{
?item <isLocated> ?loc .
}
VALUES (?loc) { (<someAddress>) (<someOtherAddress>) }
( http://www.w3.org/TR/sparql11-query/#inline-dataに基づく)
ビッグデータから得られるエラーは次のとおりです。5行7列目の字句エラー。発生: ""(32)、後: "VALUES"
このクエリを正しく作成していますか?UNIONまたはVALUESを使用する方が適切ですか?
このクエリをどのようにフォーマットしても(上記のリンクのw3の例に基づいて)、同様の字句エラーが発生するようです。
何か案は?
乾杯。