Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Petunjuk kueri SPARQL yang digunakan dengan DESCRIBE
DESCRIBE
Kueri SPARQL menyediakan mekanisme yang fleksibel untuk meminta deskripsi sumber daya. Namun, spesifikasi SPARQL tidak menentukan semantik yang tepat dari. DESCRIBE
Dimulai dengan rilis mesin 1.2.0.2, Neptunus mendukung beberapa DESCRIBE
mode dan algoritma berbeda yang cocok untuk situasi yang berbeda.
Dataset sampel ini dapat membantu mengilustrasikan mode yang berbeda:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix : <https://example.com/> . :JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JohnDoe :firstName "John" . :JaneDoe :knows _:b1 . _:b1 :knows :RichardRoe . :RichardRoe :knows :JaneDoe . :RichardRoe :firstName "Richard" . _:s1 rdf:type rdf:Statement . _:s1 rdf:subject :JaneDoe . _:s1 rdf:predicate :knows . _:s1 rdf:object :JohnDoe . _:s1 :knowsFrom "Berlin" . :ref_s2 rdf:type rdf:Statement . :ref_s2 rdf:subject :JaneDoe . :ref_s2 rdf:predicate :knows . :ref_s2 rdf:object :JohnDoe . :ref_s2 :knowsSince 1988 .
Contoh di bawah ini mengasumsikan bahwa deskripsi sumber daya :JaneDoe
diminta menggunakan kueri SPARQL seperti ini:
DESCRIBE <https://example.com/JaneDoe>
Petunjuk kueri SPARQL describeMode
Petunjuk kueri hint:describeMode
SPARQL digunakan untuk memilih salah satu mode DESCRIBE
SPARQL berikut yang didukung oleh Neptunus:
Mode ForwardOneStep
DESCRIPTE
Anda menjalankan ForwardOneStep
mode dengan petunjuk describeMode
kueri seperti ini:
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "ForwardOneStep" }
ForwardOneStep
Mode hanya mengembalikan atribut dan tautan penerusan sumber daya yang akan dijelaskan. Dalam kasus contoh, ini berarti mengembalikan tiga kali lipat yang memiliki:JaneDoe
, sumber daya yang akan dijelaskan, sebagai subjek:
:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b301990159 .
Perhatikan bahwa kueri DESCRIBE dapat mengembalikan tiga kali lipat dengan node kosong, seperti_:b301990159
, yang berbeda IDs setiap kali, dibandingkan dengan kumpulan data input.
Mode SymmetricOneStep
DESCRIPTE
SymmetricOneStep
adalah mode DESCRIBE default jika Anda tidak memberikan petunjuk kueri. Anda juga dapat memanggilnya secara eksplisit dengan petunjuk describeMode
kueri seperti ini:
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "SymmetricOneStep" }
Di bawah SymmetricOneStep
semantik, DESCRIBE
mengembalikan atribut, tautan maju, dan tautan balik sumber daya yang akan dijelaskan:
:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b318767375 . _:b318767631 rdf:subject :JaneDoe . :RichardRoe :knows :JaneDoe . :ref_s2 rdf:subject :JaneDoe .
Mode Deskripsi Terbatas Ringkas (CBD
) DESCRIBE
Mode Concise Bounded Description (CBD
) dipanggil menggunakan petunjuk describeMode
kueri seperti ini:
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "CBD" }
Di bawah CBD
semantik, DESCRIBE
mengembalikan Deskripsi Terbatas Ringkas (seperti yang didefinisikan oleh W3C
:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b285212943 . _:b285212943 :knows :RichardRoe . _:b285213199 rdf:subject :JaneDoe . _:b285213199 rdf:type rdf:Statement . _:b285213199 rdf:predicate :knows . _:b285213199 rdf:object :JohnDoe . _:b285213199 :knowsFrom "Berlin" . :ref_s2 rdf:subject :JaneDoe .
Deskripsi Terbatas Ringkas dari sumber daya RDF (yaitu, simpul dalam grafik RDF) adalah subgraf terkecil yang berpusat di sekitar node yang dapat berdiri sendiri. Dalam praktiknya ini berarti bahwa jika Anda menganggap grafik ini sebagai pohon, dengan simpul yang ditunjuk sebagai akar, tidak ada simpul kosong (bnode) sebagai daun pohon itu. Karena bnodes tidak dapat ditangani secara eksternal atau digunakan dalam kueri berikutnya, itu tidak cukup untuk menelusuri grafik hanya untuk menemukan hop tunggal berikutnya dari node saat ini. Anda juga harus pergi cukup jauh untuk menemukan sesuatu yang dapat digunakan dalam kueri berikutnya (yaitu, sesuatu selain bnode).
Menghitung CBD
Diberikan node tertentu (node awal atau root) dalam grafik RDF sumber, CBD dari node tersebut dihitung sebagai berikut:
Sertakan dalam subgraf semua pernyataan dalam grafik sumber di mana subjek pernyataan adalah simpul awal.
Secara rekursif, untuk semua pernyataan dalam subgraf sejauh ini yang memiliki objek simpul kosong, sertakan dalam subgraf semua pernyataan dalam grafik sumber di mana subjek pernyataan adalah simpul kosong, dan yang belum termasuk dalam subgraf.
Secara rekursif, untuk semua pernyataan yang termasuk dalam subgraf sejauh ini, untuk semua reifikasi pernyataan ini dalam grafik sumber, sertakan CBD yang dimulai dari simpul setiap reifikasi.
rdf:Statement
Ini menghasilkan subgraf di mana node objek adalah referensi IRI atau literal, atau node kosong yang tidak berfungsi sebagai subjek dari pernyataan apa pun dalam grafik. Perhatikan bahwa CBD tidak dapat dihitung menggunakan kueri SPARQL SELECT atau CONSTRUCT tunggal.
Deskripsi Terbatas Ringkas Simetris () mode DESCRIBE SCBD
Mode Symmetric Concise Bounded Description (SCBD
) dipanggil menggunakan petunjuk describeMode
kueri seperti ini:
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "SCBD" }
Di bawah SCBD
semantik, DESCRIBE
mengembalikan Symmetric Concise Bounded Description dari sumber daya (seperti yang didefinisikan oleh W3C dalam Menjelaskan
:JaneDoe :firstName "Jane" . :JaneDoe :knows :JohnDoe . :JaneDoe :knows _:b335544591 . _:b335544591 :knows :RichardRoe . :RichardRoe :knows :JaneDoe . _:b335544847 rdf:subject :JaneDoe . _:b335544847 rdf:type rdf:Statement . _:b335544847 rdf:predicate :knows . _:b335544847 rdf:object :JohnDoe . _:b335544847 :knowsFrom "Berlin" . :ref_s2 rdf:subject :JaneDoe .
Keuntungan CBD dan SCBD dibandingkan SymmetricOneStep
mode ForwardOneStep
dan adalah bahwa node kosong selalu diperluas untuk memasukkan representasi mereka. Ini mungkin merupakan keuntungan penting karena Anda tidak dapat menanyakan node kosong menggunakan SPARQL. Selain itu, mode CBD dan SCBD juga mempertimbangkan reifikasi.
Perhatikan bahwa petunjuk describeMode
kueri juga dapat menjadi bagian dari WHERE
klausa:
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE ?s WHERE { hint:Query hint:describeMode "CBD" . ?s rdf:type <https://example.com/Person> }
Petunjuk kueri SPARQL describeIterationLimit
Petunjuk kueri hint:describeIterationLimit
SPARQL memberikan batasan opsional pada jumlah maksimum ekspansi berulang yang akan dilakukan untuk algoritme DESCRIBE berulang seperti CBD dan SCBD.
Batas DESKRIPSIKAN adalah ANDed bersama-sama. Oleh karena itu, jika batas iterasi dan batas pernyataan ditentukan, maka kedua batas harus dipenuhi sebelum kueri DESCRIBE terputus.
Default untuk nilai ini adalah 5. Anda dapat mengaturnya ke NOL (0) untuk menentukan NO limit pada jumlah ekspansi iteratif.
Petunjuk kueri SPARQL describeStatementLimit
Petunjuk kueri hint:describeStatementLimit
SPARQL memberikan batasan opsional pada jumlah maksimum pernyataan yang mungkin ada dalam respons kueri DESCRIBE. Ini hanya diterapkan untuk algoritma DESCRIBE berulang seperti CBD dan SCBD.
Batas DESKRIPSIKAN adalah ANDed bersama-sama. Oleh karena itu, jika batas iterasi dan batas pernyataan ditentukan, maka kedua batas harus dipenuhi sebelum kueri DESCRIBE terputus.
Default untuk nilai ini adalah 5000. Anda dapat mengaturnya ke NOL (0) untuk menentukan NO limit pada jumlah pernyataan yang dikembalikan.