4つのトリプルを含むRDFベースがあるとします。
"John" "loves" "sushi"
"John" "loves" "Mary"
"Frank" "hates" "sushi"
"John" "hates" "olives"
そして、「寿司」をとても奇妙なものだと考えているとしましょう。人々がそれを使って何ができるのか、さらには同じアクションを他に何に適用できるのかを知りたいのです=)
だから私は私には論理的に見えるSPARQLクエリを書きます:
SELECT ?s ?o WHERE
{
?s ?p "sushi".
?s ?p ?o
}
当然、次の結果が得られることを期待しています
"John" "sushi"
"John" "Mary"
"Frank" "sushi"
最初の3つのトリプルのそれぞれについて、結合されたパターンをTRUEと評価する(?s、?p)値の満足のいくペアが存在するためです。
しかし実際には(私はローカルの4storeエンジンとDBを使用しています)、答えは次のようになります。
"John" "sushi"
"John" "Mary"
"Frank" "sushi"
"John" "olives"
誰かが私にこの振る舞いを説明できますか?
そして、これが本当にSPARQLで機能するはずの場合、必要なものを取得する方法は何ですか?