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 SERVICE
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-1 athttp://neptune-1:8182/sparql.
SELECT * WHERE { ?person rdf:type foaf:Person . SERVICE <http://neptune-2:8182/sparql> { ?person foaf:knows ?friend . } }
Neptune-1mengevaluasi pola kueri pertama (Q-1) yaitu
?person rdf:type foaf:Person, menggunakan hasil untuk menyelesaikan?personin Q-2 (?person foaf:knows ?friend), dan meneruskan pola yang dihasilkan ke at Neptune-2.http://neptune-2:8182/sparqlNeptune-2mengevaluasi Q-2 dan mengirimkan hasilnya kembali ke Neptune-1.
Neptune-1menggabungkan solusi untuk kedua pola dan mengirimkan hasilnya kembali ke pelanggan.
Alur ini ditunjukkan dalam diagram berikut.
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 menggunakan AWS Identity and Access Management (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.
Pertimbangkan contoh sederhana yang disajikan di bagian sebelumnya. Neptune-1panggilan Neptune-2 dengan kredenSIAL yang sama dengan yang dipanggil.
Jika Neptune-1 memerlukan otentikasi dan otorisasi IAM, tetapi Neptune-2 tidak, yang Anda butuhkan hanyalah izin IAM yang sesuai Neptune-1 untuk membuat kueri federasi.
Jika Neptune-1 dan Neptune-2 keduanya 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-1 tidak IAM-enabled tetapi Neptune-2 ada, Anda tidak dapat membuat kueri federasi. Alasannya adalah tidak Neptune-1 dapat mengambil kredenSIAL IAM Anda dan meneruskannya Neptune-2 ke untuk mengotorisasi bagian kedua dari kueri.