View a markdown version of this page

Menggunakan Protokol HTTP (GSP) SPARQL 1.1 Graph Store di Amazon Neptune - Amazon Neptune

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

Menggunakan Protokol HTTP (GSP) SPARQL 1.1 Graph Store di Amazon Neptune

Dalam rekomendasi Protokol HTTP SPARQL 1.1 Graph Store, W3C mendefinisikan protokol HTTP untuk mengelola grafik RDF. Ini mendefinisikan operasi untuk menghapus, membuat, dan mengganti konten grafik RDF serta untuk menambahkan pernyataan RDF ke konten yang ada.

Protokol penyimpanan grafik (GSP) menyediakan cara mudah untuk memanipulasi seluruh grafik Anda tanpa harus menulis kueri SPARQL yang kompleks.

Neptunus sepenuhnya mendukung protokol ini.

Titik akhir untuk protokol penyimpanan grafik (GSP) adalah:

https://your-neptune-cluster:port/sparql/gsp/

Untuk mengakses grafik default dengan GSP, gunakan:

https://your-neptune-cluster:port/sparql/gsp/?default

Untuk mengakses grafik bernama dengan GSP, gunakan:

https://your-neptune-cluster:port/sparql/gsp/?graph=named-graph-URI

Rincian khusus dari implementasi GSP Neptune

Neptunus sepenuhnya mengimplementasikan rekomendasi W3C yang mendefinisikan GSP. Namun, ada beberapa situasi yang spesifikasi tidak mencakup.

Salah satunya adalah kasus di mana POST permintaan PUT atau menentukan satu atau lebih grafik bernama dalam badan permintaan yang berbeda dari grafik yang ditentukan oleh URL permintaan. Ini hanya dapat terjadi ketika format RDF badan permintaan mendukung grafik bernama, seperti, misalnya, menggunakan Content-Type: application/n-quads atauContent-Type: application/trig.

Dalam situasi ini, Neptunus menambahkan atau memperbarui semua grafik bernama yang ada di tubuh, serta grafik bernama yang ditentukan dalam URL.

Sebagai contoh, misalkan dimulai dengan database kosong, Anda mengirim PUT permintaan untuk meningkatkan suara menjadi tiga grafik. Satu, bernamaurn:votes, berisi semua suara dari semua tahun pemilihan. Dua lainnya, bernama urn:votes:2005 danurn:votes:2019, berisi suara dari tahun-tahun pemilihan tertentu. Permintaan dan muatannya terlihat seperti ini:

PUT "http://your-Neptune-cluster:port/sparql/gsp/?graph=urn:votes" Host: example.com Content-Type: application/n-quads PAYLOAD: <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019>

Setelah permintaan dieksekusi, data dalam database terlihat seperti ini:

<urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes>

Situasi ambigu lainnya adalah di mana lebih dari satu grafik ditentukan dalam URL permintaan itu sendiri, menggunakan salah satuPUT,POST, GET atauDELETE. Contoh:

POST "http://your-Neptune-cluster:port/sparql/gsp/?graph=urn:votes:2005&graph=urn:votes:2019"

Atau:

GET "http://your-Neptune-cluster:port/sparql/gsp/?default&graph=urn:votes:2019"

Dalam situasi ini, Neptunus mengembalikan HTTP 400 dengan pesan yang menunjukkan bahwa hanya satu grafik yang dapat ditentukan dalam URL permintaan.