View a markdown version of this page

Kueri federasi SPARQL di Neptunus menggunakan ekstensi LAYANAN - Amazon Neptune

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

Kueri federasi SPARQL di Neptunus menggunakan ekstensi LAYANAN

Amazon Neptune sepenuhnya mendukung ekstensi kueri gabungan SPARQL yang menggunakan kata kunci SERVICE. (Untuk informasi selengkapnya, lihat Kueri Gabungan SPARQL 1.1.)

Kata kunci SERVICE menginstruksikan mesin kueri SPARQL untuk mengeksekusi sebagian dari kueri terhadap titik akhir SPARQL jauh dan menyusun hasil kueri akhir. Hanya operasi READ yang dimungkinkan. Operasi WRITE dan DELETE tidak didukung. Neptune hanya dapat menjalankan kueri gabungan terhadap titik akhir SPARQL yang dapat diakses dalam cloud privat virtual (VPC). Namun, Anda juga dapat menggunakan reverse proxy di VPC untuk membuat sumber data eksternal dapat diakses dalam VPC.

catatan

Saat SERVICE SPARQL digunakan untuk melakukan federasi pada kueri untuk dua klaster Neptune atau lebih di VPC yang sama, grup keamanan harus dikonfigurasi untuk memungkinkan semua klaster Neptune untuk berbicara satu sama lain.

penting

SPARQL 1.1 Federation membuat permintaan layanan atas nama Anda saat melewatkan kueri dan parameter ke titik akhir SPARQL eksternal. Anda bertanggung jawab untuk memverifikasi bahwa titik akhir SPARQL eksternal memenuhi persyaratan penanganan data dan keamanan aplikasi Anda.

Contoh dari kueri gabungan Neptune

Contoh sederhana berikut menunjukkan bagaimana kueri gabungan SPARQL bekerja.

Misalkan pelanggan mengirimkan kueri berikut ke Neptune-1athttp://neptune-1:8182/sparql.

SELECT * WHERE { ?person rdf:type foaf:Person . SERVICE <http://neptune-2:8182/sparql> { ?person foaf:knows ?friend . } }
  1. Neptune-1mengevaluasi pola kueri pertama (Q-1) yaitu?person rdf:type foaf:Person, menggunakan hasil untuk menyelesaikan ?person di Q-2(?person foaf:knows ?friend), dan meneruskan pola yang dihasilkan ke at. Neptune-2http://neptune-2:8182/sparql

  2. Neptune-2mengevaluasi Q-2dan mengirimkan hasil kembali ke Neptune-1.

  3. Neptune-1bergabung dengan solusi untuk kedua pola dan mengirimkan hasilnya kembali ke pelanggan.

Alur ini ditunjukkan dalam diagram berikut.

Diagram alur menunjukkan pola kueri gabungan SPARQL sedang dievaluasi dan respons dikirim kembali ke klien.
catatan

“Secara default, optimizer menentukan pada titik apa dalam eksekusi kueri bahwa instruksi SERVICE dijalankan. Anda dapat mengganti penempatan ini menggunakan petunjuk kueri JoinOrder.

Kontrol akses untuk kueri gabungan di Neptune

Neptunus AWS Identity and Access Management menggunakan (IAM) untuk otentikasi dan otorisasi. Kontrol akses untuk kueri gabungan dapat melibatkan lebih dari satu instans DB Neptune. Instans ini mungkin memiliki persyaratan yang berbeda untuk kontrol akses. Dalam keadaan tertentu, ini dapat membatasi kemampuan Anda untuk membuat kueri gabungan.

Perhatikan contoh sederhana yang disajikan di bagian sebelumnya. Neptune-1panggilan Neptune-2dengan kredensil yang sama dengan panggilan.

  • Jika Neptune-1memerlukan otentikasi dan otorisasi IAM, tetapi Neptune-2tidak, yang Anda butuhkan hanyalah izin IAM yang sesuai Neptune-1untuk membuat kueri federasi.

  • Jika Neptune-1dan Neptune-2keduanya memerlukan otentikasi dan otorisasi IAM, Anda perlu melampirkan izin IAM untuk kedua database untuk membuat kueri federasi. Kedua cluster juga harus berada di AWS akun yang sama dan di wilayah yang sama. Cross-region and/or Arsitektur kueri federasi lintas akun saat ini tidak didukung.

  • Namun, dalam kasus di mana Neptune-1tidak IAM-enabled tetapi Neptune-2ada, Anda tidak dapat membuat kueri federasi. Alasannya adalah bahwa tidak Neptune-1dapat mengambil kredensi IAM Anda dan meneruskannya Neptune-2untuk mengotorisasi bagian kedua dari kueri.