Operator Neptunus SPARQL explain - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Operator Neptunus SPARQL explain

Bagian berikut menjelaskan operator dan parameter untuk SPARQL explain fitur yang saat ini tersedia di Amazon Neptunus.

penting

SPARQLexplainFitur ini masih disempurnakan. Operator dan parameter yang didokumentasikan di sini mungkin berubah dalam versi mendatang.

Operator Aggregation

Melakukan satu atau lebih agregasi, menerapkan semantik operator SPARQL agregasi seperticount,,, maxmin, sum dan sebagainya.

Aggregation dilengkapi dengan pengelompokan opsional menggunakan klausa groupBy, dan kendala having opsional.

Pendapat
  • groupBy — (Opsional) Menyediakan klaus groupBy yang menentukan urutan ekspresi yang menurut pengelompokan solusi masuk.

  • aggregates — (Wajib) Menentukan daftar urut ekspresi agregasi.

  • having— (Opsional) Menambahkan kendala untuk memfilter pada grup, seperti yang tersirat oleh having klausa dalam kueri. SPARQL

Operator ConditionalRouting

Merutekan solusi masuk berdasarkan kondisi tertentu. Solusi yang memenuhi kondisi diarahkan ke ID operator yang direferensikan oleh Out #1, sedangkan solusi yang tidak diarahkan ke operator direferensikan oleh Out #2.

Pendapat
  • condition — (Wajib) Kondisi perutean.

Operator Copy

Mendelegasikan aliran solusi sebagaimana ditentukan oleh mode tertentu.

Modus
  • forward — Meneruskan solusi untuk operator hilir yang diidentifikasi oleh Out #1.

  • duplicate — Menduplikat solusi dan meneruskannya ke masing-masing dari dua operator yang diidentifikasi oleh Out #1 dan Out #2.

Copy tidak memiliki argumen.

Operator DFENode

Operator ini adalah abstraksi dari rencana yang dijalankan oleh mesin kueri DFE alternatif. DFERencana terperinci diuraikan dalam argumen untuk operator ini. Argumen saat ini kelebihan beban untuk memuat statistik runtime rinci dari rencana. DFE Ini berisi waktu yang dihabiskan dalam berbagai langkah eksekusi kueri olehDFE.

Pohon sintaks abstrak yang dioptimalkan secara logis (AST) untuk paket DFE kueri dicetak dengan informasi tentang jenis operator yang dipertimbangkan saat merencanakan dan biaya kasus terbaik dan terburuk terkait untuk menjalankan operator. ASTTerdiri dari jenis node berikut saat ini:

  • DFEJoinGroupNode — Merupakan gabungan dari satu DFEPatternNodes atau lebih.

  • DFEPatternNode - Merangkum pola mendasar menggunakan tupel yang cocok yang diproyeksikan keluar dari database yang mendasari.

Sub-bagianStatistics & Operator histogram,, berisi rincian tentang waktu pelaksanaan DataflowOp rencana dan rincian CPU waktu yang digunakan oleh masing-masing operator. Di bawah ini ada tabel yang mencetak statistik runtime terperinci dari rencana yang dijalankan olehDFE.

catatan

Karena DFE ini adalah fitur eksperimental yang dirilis dalam mode lab, format yang tepat dari explain outputnya dapat berubah.

Operator Distinct

Menghitung proyeksi yang berbeda pada subset dari variabel, menghilangkan duplikat. Akibatnya, jumlah solusi yang mengalir lebih besar dari atau sama dengan jumlah solusi yang mengalir keluar.

Pendapat
  • vars — (Wajib) Variabel tempat proyeksi Distinct akan diterapkan.

Operator Federation

Melewati kueri tertentu ke SPARQL titik akhir jarak jauh yang ditentukan.

Pendapat
  • endpoint— (Diperlukan) Titik akhir URL dalam SPARQL SERVICE pernyataan. Ini bisa berupa string konstan, atau jika titik akhir kueri ditentukan berdasarkan variabel dalam kueri yang sama, ia dapat menjadi nama variabel.

  • query — (Wajib) String kueri yang direkonstruksi yang akan dikirim ke titik akhir remote. Mesin menambahkan prefiks default untuk kueri ini bahkan ketika klien tidak menentukan apapun.

  • silent — (Wajib) Boolean yang menunjukkan apakah kata kunci SILENT muncul setelah kata kunci tersebut. SILENT memberi tahu mesin untuk tidak menggagalkan seluruh kueri bahkan jika bagian SERVICE remote gagal.

Operator Filter

Menyaring solusi yang masuk. Hanya solusi yang memenuhi kondisi filter yang diteruskan ke operator hulu, dan yang lainnya dijatuhkan.

Pendapat
  • condition — (Wajib) Kondisi filter.

Operator HashIndexBuild

Membawa daftar binding dan melakukan spools pada mereka ke dalam indeks hash yang namanya didefinisikan oleh argumen solutionSet. Biasanya, operator berikutnya melakukan penggabungan terhadap set solusi ini, mengacunya dengan nama itu.

Pendapat
  • solutionSet — (Wajib) Nama set solusi indeks hash.

  • sourceType — (Wajib) Jenis sumber asal binding yang akan disimpan dalam indeks hash diperoleh:

    • pipeline — Melakukan spool pada solusi yang masuk dari operator hilir dalam alur operator ke dalam indeks hash.

    • binding set - Melakukan spool pada set mengikat tetap yang ditentukan oleh argumen sourceBindingSet ke dalam indeks hash.

  • sourceBindingSet — (Opsional) Jika nilai argumen sourceType adalah binding set, argumen ini menentukan set binding statis yang akan di-spool ke dalam indeks hash.

Operator HashIndexJoin

Menggabungkan solusi masuk terhadap set solusi indeks hash yang diidentifikasi oleh argumen solutionSet.

Pendapat
  • solutionSet — (Wajib) Nama set solusi yang akan digabungkan. Ini harus berupa indeks hash yang telah dibangun di langkah sebelumnya menggunakan operator HashIndexBuild.

  • joinType — (Wajib) Jenis gabungan yang akan dilakukan:

    • join — Gabungan normal, membutuhkan kecocokan persis antara semua variabel bersama.

    • optionaloptional Gabungan yang menggunakan SPARQL OPTIONAL semantik operator.

    • minusminus Operasi mempertahankan pemetaan yang tidak ada mitra gabungannya, menggunakan semantik SPARQL MINUS operator.

    • existence check — Memeriksa apakah ada mitra gabungan atau tidak, dan mengikat variabel existenceCheckResultVar ke hasil pemeriksaan ini.

  • constraints — (Opsional) Tambahan kendala gabungan yang dipertimbangkan selama penggabungan. Gabungan yang tidak memenuhi kendala ini dibuang.

  • existenceCheckResultVar — (Opsional) Hanya digunakan untuk gabungan di mana joinType sama dengan existence check (lihat argumen joinType sebelumnya).

Operator MergeJoin

Penggabungan yang digabung di lebih dari beberapa set solusi, seperti yang diidentifikasi oleh argumen solutionSets.

Pendapat
  • solutionSets — (Wajib) Set solusi yang akan digabungkan bersama.

Operator NamedSubquery

Memicu evaluasi subkueri yang diidentifikasi oleh argumen subQuery dan melakukan spools pada hasil ke dalam set solusi yang ditentukan oleh argumen solutionSet. Solusi masuk untuk operator diteruskan ke subkueri dan kemudian ke operator berikutnya.

Pendapat
  • subQuery — (Wajib) Nama subkueri yang akan dievaluasi. Subkueri dirender secara eksplisit dalam output.

  • solutionSet — (Wajib) Nama set solusi tempat menyimpan hasil subkueri.

Operator PipelineJoin

Menerima output dari operator sebelumnya sebagai input dan menggabungkannya dengan pola tuple yang didefinisikan oleh argumen pattern.

Pendapat
  • pattern— (Wajib) Pola, yang mengambil bentuk subject-predicate-object, dan tupel grafik opsional yang mendasari gabungan. Jika distinct ditentukan untuk pola, gabungan hanya mengekstrak solusi yang khas dari variabel proyeksi yang ditentukan oleh projectionVars, alih-alih semua solusi yang cocok.

  • inlineFilters — (Opsional) Satu set filter yang akan diterapkan pada variabel dalam pola. Pola dievaluasi bersamaan dengan filter ini.

  • joinType — (Wajib) Jenis gabungan yang akan dilakukan:

    • join — Gabungan normal, membutuhkan kecocokan persis antara semua variabel bersama.

    • optionaloptional Gabungan yang menggunakan SPARQL OPTIONAL semantik operator.

    • minusminus Operasi mempertahankan pemetaan yang tidak ada mitra gabungannya, menggunakan semantik SPARQL MINUS operator.

    • existence check — Memeriksa apakah ada mitra gabungan atau tidak, dan mengikat variabel existenceCheckResultVar ke hasil pemeriksaan ini.

  • constraints — (Opsional) Tambahan kendala gabungan yang dipertimbangkan selama penggabungan. Gabungan yang tidak memenuhi kendala ini dibuang.

  • projectionVars— (Opsional) Variabel proyeksi. Digunakan dalam kombinasi bersama distinct := true untuk menegakkan ekstraksi proyeksi khas pada satu set variabel tertentu.

  • cutoffLimit — (Opsional) Batas cutoff untuk jumlah mitra gabungan yang diekstrak. Meskipun tidak ada batas secara default, Anda dapat mengatur ini ke 1 ketika melakukan gabungan untuk menerapkan klausa FILTER (NOT) EXISTS, di mana itu cukup untuk membuktikan atau membantah bahwa ada mitra gabungan.

Operator PipelineCountJoin

Varian dari PipelineJoin. Alih-alih bergabung, operator ini hanya menghitung mitra gabungan yang cocok dan mengikat hitungan ke variabel yang ditentukan oleh argumen countVar.

Pendapat
  • countVar — (Wajib) Variabel yang akan diikatkan pada hasil hitungan, yaitu jumlah mitra gabungan,.

  • pattern— (Wajib) Pola, yang mengambil bentuk subject-predicate-object, dan tupel grafik opsional yang mendasari gabungan. Jika distinct ditentukan untuk pola, gabungan hanya mengekstrak solusi yang khas dari variabel proyeksi yang ditentukan oleh projectionVars, alih-alih semua solusi yang cocok.

  • inlineFilters — (Opsional) Satu set filter yang akan diterapkan pada variabel dalam pola. Pola dievaluasi bersamaan dengan filter ini.

  • joinType — (Wajib) Jenis gabungan yang akan dilakukan:

    • join — Gabungan normal, membutuhkan kecocokan persis antara semua variabel bersama.

    • optionaloptional Gabungan yang menggunakan SPARQL OPTIONAL semantik operator.

    • minusminus Operasi mempertahankan pemetaan yang tidak ada mitra gabungannya, menggunakan semantik SPARQL MINUS operator.

    • existence check — Memeriksa apakah ada mitra gabungan atau tidak, dan mengikat variabel existenceCheckResultVar ke hasil pemeriksaan ini.

  • constraints — (Opsional) Tambahan kendala gabungan yang dipertimbangkan selama penggabungan. Gabungan yang tidak memenuhi kendala ini dibuang.

  • projectionVars— (Opsional) Variabel proyeksi. Digunakan dalam kombinasi bersama distinct := true untuk menegakkan ekstraksi proyeksi khas pada satu set variabel tertentu.

  • cutoffLimit — (Opsional) Batas cutoff untuk jumlah mitra gabungan yang diekstrak. Meskipun tidak ada batas secara default, Anda dapat mengatur ini ke 1 ketika melakukan gabungan untuk menerapkan klausa FILTER (NOT) EXISTS, di mana itu cukup untuk membuktikan atau membantah bahwa ada mitra gabungan.

Operator PipelinedHashIndexJoin

Ini adalah indeks hash all-in-one build dan operator gabungan. Dibutuhkan daftar binding, menggulungnya menjadi indeks hash, dan kemudian bergabung dengan solusi yang masuk terhadap indeks hash.

Pendapat
  • sourceType— (Wajib) Jenis sumber dari mana binding untuk menyimpan dalam indeks hash diperoleh, salah satu dari:

    • pipeline— Penyebab PipelinedHashIndexJoin untuk menggulung solusi yang masuk dari operator hilir di pipa operator ke indeks hash.

    • binding set— Penyebab PipelinedHashIndexJoin untuk menggeser set pengikatan tetap yang ditentukan oleh sourceBindingSet argumen ke dalam indeks hash.

  • sourceSubQuery — (Opsional) Jika nilai sourceType argumen adalahpipeline, argumen ini menentukan subquery yang dievaluasi dan spooled ke dalam indeks hash.

  • sourceBindingSet — (Opsional) Jika nilai sourceType argumen adalahbinding set, argumen ini menentukan set pengikatan statis yang akan di-spooled ke indeks hash.

  • joinType— (Wajib) Jenis bergabung yang akan dilakukan:

    • join — Gabungan normal, membutuhkan kecocokan persis antara semua variabel bersama.

    • optionaloptional Gabungan yang menggunakan SPARQL OPTIONAL semantik operator.

    • minusminus Operasi mempertahankan pemetaan yang tidak ada mitra gabungannya, menggunakan semantik SPARQL MINUS operator.

    • existence check — Memeriksa apakah ada mitra gabungan atau tidak, dan mengikat variabel existenceCheckResultVar ke hasil pemeriksaan ini.

  • existenceCheckResultVar— (Opsional) Hanya digunakan untuk bergabung di mana joinType sama existence check (lihat joinType argumen di atas).

Operator Projection

Memproyeksikan di atas subset variabel. Jumlah solusi yang mengalir masuk sama dengan jumlah solusi yang mengalir keluar, namun bentuk solusinya berbeda, tergantung pengaturan mode.

Modus
  • retain — Menyimpan dalam solusi hanya variabel yang ditentukan oleh argumen vars.

  • drop — Jatuhkan semua variabel yang ditentukan oleh argumen vars.

Pendapat
  • vars— (Wajib) Variabel yang akan dipertahankan atau dijatuhkan, tergantung pengaturan mode.

Operator PropertyPath

Memungkinkan jalur properti rekursif seperti + atau *. Neptune mengimplementasikan pendekatan iterasi titik tetap berdasarkan template yang ditentukan oleh argumen iterationTemplate. Variabel sisi kiri atau kanan yang dikenal terikat dalam template untuk setiap iterasi titik tetap, sampai tidak ada lagi solusi baru yang dapat ditemukan.

Pendapat
  • iterationTemplate— (Wajib) Nama dari template subkueri yang digunakan untuk mengimplementasikan iterasi titik tetap.

  • leftTerm— (Wajib) Istilah (variabel atau konstan) di sisi kiri jalur properti.

  • rightTerm— (Wajib) Istilah (variabel atau konstan) di sisi kanan jalur properti.

  • lowerBound— (Wajib) Batas bawah untuk iterasi titik tetap (baik 0 untuk kueri *, atau 1 untuk kueri +).

Operator TermResolution

Menerjemahkan nilai-nilai pengidentifikasi string internal kembali ke string eksternal mereka yang sesuai, atau menerjemahkan string eksternal ke nilai-nilai pengidentifikasi string internal, tergantung modenya.

Modus
  • value2id— Memetakan istilah seperti literal dan nilai ID internal yang URIs sesuai (pengkodean ke nilai internal).

  • id2value— Memetakan nilai ID internal ke istilah yang sesuai seperti literal dan URIs (decoding nilai internal).

Pendapat
  • vars— (Wajib) Menentukan variabel yang string atau string internal IDs harus dipetakan.

Operator Slice

Menerapkan irisan di atas aliran solusi yang masuk, menggunakan semantik dari SPARQL's dan klausa. LIMIT OFFSET

Pendapat
  • limit— (Opsional) Batas pada solusi yang akan diteruskan.

  • offset— (Opsional) Offset di mana solusi dievaluasi untuk penerusan.

Operator SolutionInjection

Tidak menerima input. Menyuntikkan solusi secara statis ke dalam rencana kueri dan mencatatnya dalam argumen solutions.

Rencana kueri selalu dimulai dengan injeksi statis ini. Jika solusi statis yang akan disuntikkan dapat berasal dari kueri itu sendiri dengan menggabungkan berbagai sumber binding statis (misalnya, dari klausa VALUES atau BIND), maka operator SolutionInjection menyuntikkan solusi statis turunan ini. Dalam kasus yang paling sederhana, hal ini mencerminkan binding yang tersirat oleh klausa VALUES luar.

Jika tidak ada solusi statis dapat diturunkan dari kueri, SolutionInjection menyuntikkan solusi kosong, yang disebut solusi universal, yang diperluas dan digandakan sepanjang proses evaluasi kueri.

Pendapat
  • solutions— (Wajib) Urutan solusi yang disuntikkan oleh operator.

Operator Sort

Mengurutkan set solusi menggunakan kondisi pengurutan tertentu.

Pendapat
  • sortOrder— (Wajib) Daftar variabel yang diurutkan, masing-masing berisi pengidentifikasi ASC (naik) atau DESC (turun), digunakan secara berurutan untuk mengurutkan set solusi.

Operator VariableAlignment

Memeriksa solusi satu per satu, melakukan penyelarasan pada masing-masing pada dua variabel: sourceVar yang ditentukan dan targetVar yang ditentukan.

Jika sourceVar dan targetVar dalam solusi memiliki nilai yang sama, variabel dianggap selaras dan solusi diteruskan, dengan sourceVar berulang diproyeksikan keluar.

Jika variabel terikat ke nilai yang berbeda, solusinya disaring seluruhnya.

Pendapat
  • sourceVar— (Wajib) Variabel sumber, untuk dibandingkan dengan variabel target. Jika penyelarasan berhasil dalam solusi, yang berarti bahwa dua variabel memiliki nilai yang sama, variabel sumber diproyeksikan keluar.

  • targetVar— (Wajib) Variabel target, sebagai pembanding variabel sumber. Dipertahankan bahkan ketika penyelarasan berhasil.