Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Petunjuk kueri SPARQL digunakan dengan DESCRIBE
Kueri SPARQ DESCRIBE L menyediakan mekanisme fleksibel untuk meminta deskripsi sumber daya. Namun, spesifikasi SPARQL tidak mendefinisikan 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 menggambarkan 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 sedang diminta menggunakan kueri SPARQL seperti ini:
DESCRIBE <https://example.com/JaneDoe>
Petunjuk ku eri DescribeMode SPARQL
Petunjuk kueri hint:describeMode SPARQL digunakan untuk memilih salah satu DESCRIBE mode SPARQL berikut yang didukung oleh Neptunus:
Mode ForwardOneStep DESCRIBE
Anda memanggil ForwardOneStep mode dengan petunjuk ku describeMode eri seperti ini:
PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> DESCRIBE <https://example.com/JaneDoe> { hint:Query hint:describeMode "ForwardOneStep" }
ForwardOneStepMode hanya mengembalikan atribut dan tautan maju dari sumber daya yang akan dijelaskan. Dalam kasus contoh, ini berarti mengembalikan rangkap tiga 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 rangkap tiga dengan node kosong, seperti_:b301990159, yang memiliki ID berbeda setiap kali, dibandingkan dengan dataset input.
Mode SymmetricOneStep DESCRIBE
SymmetricOneStepadalah mode DESCRIPTION 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 dari 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)
Mode Concise Bounded Descri CBD ption () dipanggil menggunakan petunjuk ku describeMode eri 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 Batas 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 Batas 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 node kosong (bnode) sebagai daun pohon itu. Karena bnode tidak dapat ditangani secara eksternal atau digunakan dalam kueri berikutnya, 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
Mengingat 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 itu, 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 mulai dari
rdf:Statementsimpul setiap reifikasi.
Ini menghasilkan subgraf di mana node objek adalah referensi IRI atau literal, atau node kosong yang tidak berfungsi sebagai subjek pernyataan apa pun dalam grafik. Perhatikan bahwa CBD tidak dapat dihitung menggunakan kueri SPARQL SELECT atau CONSTRUCT tunggal.
Mode DESCRIPTION Simplified Bounded Description (SCBD) Simetris
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 Simetric Concise Bounded Description dari sumber daya (seperti yang didefinisikan oleh W3C dalam Mendeskripsikan Kumpulan Data Tertaut dengan Ko sakata VoID:
: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 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> }
Deskripsi kan petunjuk kueri IterationLimit SPARQL
Petunjuk ku hint:describeIterationLimit eri SPARQL memberikan batasan op sional pada jumlah maksimum ekspansi iteratif yang akan dilakukan untuk algoritma DESCRIBE berulang seperti CBD dan SCBD.
Batas DESKRIPSI dihubungkan bersama. 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 ZERO (0) untuk menentukan NO limit pada jumlah ekspansi berulang.
Deskripsi kan petunjuk kueri StatementLimit SPARQL
Petunjuk ku hint:describeStatementLimit eri 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 DESKRIPSI dihubungkan bersama. 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 ZERO (0) untuk menentukan NO limit pada jumlah pernyataan yang dikembalikan.