Saya telah menemukan beberapa kesempatan di mana saya ingin menggunakan node kosong dalam kueri CONSTRUCT
, tetapi saya perlu mendapatkan node kosong yang sama untuk semua (atau beberapa) solusi kueri.
Katakanlah kita memiliki daftar penulis dan buku yang mereka tulis dalam kumpulan data kita:
@prefix : <http://example.org#> .
:stephen_king a :Author ;
:firstName "Stephen" ;
:authorOf "The Shining", "Cujo".
:stephen_hawking a :Author ;
:firstName "Stephen" ;
:authorOf "A Brief History of Time" .
:virginia_wolf a :Author ;
:firstName "Virginia" ;
:authorOf "Mrs Dalloway" .
Sebagai contoh, katakanlah saya ingin mengikat semua buku yang ditulis oleh penulis dengan nama depan Stephen
ke satu simpul kosong:
PREFIX : <http://example.org#>
CONSTRUCT {
[ :containsBook ?book ]
}
WHERE {
?book ^:authorOf/:firstName "Stephen" .
}
Akan mengembalikan sesuatu seperti:
[ :containsBook "The Shining" ] .
[ :containsBook "A Brief History of Time" ] .
[ :containsBook "Cujo" ] .
tetapi hasil yang diinginkan adalah:
[ :containsBook "The Shining" ;
:containsBook "A Brief History of Time" ;
:containsBook "Cujo" ] .
Adakah ide tentang cara mencapai hal ini?
select * WHERE { ?book ^:authorOf/:firstName "Stephen" . BIND(BNODE() AS ?bnode) }
, yaitu jalur properti berbeda - person UninformedUser   schedule 11.09.2017^
untuk properti invers, kueri telah diperbarui. - person Robin Keskisarkka   schedule 15.09.2017