SPARQLkueri federasi di Neptunus menggunakan ekstensi SERVICE - Amazon Neptune

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

SPARQLkueri federasi di Neptunus menggunakan ekstensi SERVICE

Amazon Neptunus sepenuhnya mendukung ekstensi kueri SPARQL federasi yang menggunakan kata kunci. SERVICE (Untuk informasi lebih lanjut, lihat SPARQL1.1 Kueri Federasi.)

catatan

Fitur ini mulai tersedia pada Rilis 1.0.1.0.200463.0 (2019-10-15).

SERVICEKata kunci menginstruksikan mesin SPARQL kueri untuk mengeksekusi sebagian kueri terhadap SPARQL titik akhir jarak jauh dan menyusun hasil kueri akhir. Hanya operasi READ yang dimungkinkan. Operasi WRITE dan DELETE tidak didukung. Neptunus hanya dapat menjalankan kueri federasi SPARQL terhadap titik akhir yang dapat diakses dalam cloud pribadi virtualnya (). VPC Namun, Anda juga dapat menggunakan proxy terbalik VPC untuk membuat sumber data eksternal dapat diakses di dalam fileVPC.

catatan

Ketika SPARQL SERVICE digunakan untuk menyatukan kueri ke dua atau lebih cluster Neptunus dalam hal yang VPC sama, kelompok keamanan harus dikonfigurasi untuk memungkinkan semua cluster Neptunus untuk berbicara satu sama lain.

penting

SPARQL1.1 Federasi membuat permintaan layanan atas nama Anda saat meneruskan kueri dan parameter ke titik SPARQL akhir eksternal. Anda bertanggung jawab untuk memverifikasi bahwa SPARQL titik akhir eksternal memenuhi persyaratan penanganan data dan keamanan aplikasi Anda.

Contoh dari kueri gabungan Neptune

Contoh sederhana berikut menunjukkan cara kerja kueri SPARQL federasi.

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

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

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

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

Alur ini ditunjukkan dalam diagram berikut.

Diagram alir yang menunjukkan pola kueri SPARQL federasi sedang dievaluasi dan tanggapan 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.

Pertimbangkan contoh sederhana yang disajikan di bagian sebelumnya. Neptune-1 memanggil Neptune-2 dengan kredensial yang sama yang memanggilnya.

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

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

  • Namun, dalam kasus di mana Neptune-1 tidak IAM diaktifkan tetapi Neptune-2, Anda tidak dapat membuat kueri gabungan. Alasannya adalah bahwa Neptune-1 tidak dapat mengambil IAM kredensil Anda dan meneruskannya ke Neptune-2 untuk mengotorisasi bagian kedua dari kueri.