次のような RDF グラフがあるとします。
:Matrix [rdfs:label] :The Matrix .
:Matrix [movie:id] :23 .
:Matrix [movie:actor] :Keanu Reaves .
:Matrix [movie:actor] :Laurence Fishburne .
:Die Hard 3 [rdfs:label] :Die Hard 3 .
:Die Hard 3 [movie:id] :42 .
:Die Hard 3 [movie:actor] :Bruce Willis .
:Die Hard 3 [movie:actor] :Samuel L. Jackson .
および次のようなクエリ:
SELECT ?id ?name ?actor
WHERE {
?instance movie:id ?id .
?instance rdfs:label ?name .
?instance movie:actor ?actor .
}
次のような結果が期待されます。
id | name | actor
23 | The Matrix | Laurence Fishburne
23 | The Matrix | Keanu Reaves
42 | Die Hard 3 | Bruce Willis
42 | Die Hard 3 | Samuel L. Jackson
しかし、代わりに私は得るだけです:
id | name | actor
23 | The Matrix | Laurence Fishburne
42 | Die Hard 3 | Bruce Willis
それはどうしたのですか?
ちなみに、このクエリを使用すると:
SELECT *
WHERE {
?instance movie:id ?id .
?instance rdfs:label "The Matrix" .
?instance movie:actor ?actor .
}
結果は(予想どおり):
id | name | actor
23 | The Matrix | Laurence Fishburne
23 | The Matrix | Keanu Reaves