Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mendapatkan laporan ringkasan singkat tentang grafik Anda
API ringkasan grafik Neptunus mengambil informasi berikut tentang grafik Anda:
Untuk grafik properti (PG), API ringkasan grafik mengembalikan daftar label node dan tepi yang hanya dapat dibaca dan kunci properti, bersama dengan jumlah node, tepi, dan properti.
Untuk grafik kerangka deskripsi sumber daya (RDF), API ringkasan grafik mengembalikan daftar kelas dan kunci predikat yang hanya dapat dibaca, bersama dengan jumlah empat, subjek, dan predikat.
catatan
API ringkasan grafik diperkenalkan di rilis mesin Neptune 1.2.1.0.
Dengan API ringkasan grafik, Anda dapat dengan cepat mendapatkan pemahaman tingkat tinggi tentang ukuran dan konten data grafik Anda. Anda juga dapat menggunakan API secara interaktif dalam notebook Neptunus menggunakan sihir %summary Neptune Workbench. Dalam aplikasi grafik, API dapat digunakan untuk meningkatkan hasil pencarian dengan menyediakan label node atau tepi yang ditemukan sebagai bagian dari pencarian.
Data ringkasan grafik diambil dari statistik DFE yang dihitung oleh mesin Neptune DFE selama runtime, dan tersedia kapan pun statistik DFE tersedia. Statistik diaktifkan secara default saat Anda membuat cluster Neptune DB baru.
catatan
Pembuatan statistik dinonaktifkan pada t3 dan tipe t4 instance (yaitu, tipe on db.t3.medium dan db.t4g.medium instance) untuk menghemat memori. Akibatnya, data ringkasan grafik juga tidak tersedia pada jenis instance tersebut.
Anda dapat memeriksa status statistik DFE menggunakan API status statistik. Selama pembuatan statistik otomatis belum dinonaktifkan, statistik secara otomatis diperbarui secara berkala.
Jika Anda ingin memastikan bahwa statistik terkini mungkin saat meminta ringkasan grafik, Anda dapat memicu pembaruan statistik secara manual tepat sebelum mengambil ringkasan. Jika grafik berubah saat statistik sedang dihitung, mereka tentu akan sedikit tertinggal, tetapi tidak banyak.
Menggunakan API ringkasan grafik untuk mengambil informasi ringkasan grafik
Untuk grafik properti yang Anda kueri menggunakan Gremlin atau OpenCypher, Anda dapat mengambil ringkasan grafik dari titik akhir ringkasan grafik properti. Ada URI panjang dan pendek untuk titik akhir ini:
https://your-neptune-host:port/propertygraph/statistics/summaryhttps://your-neptune-host:port/pg/statistics/summary
Untuk grafik RDF yang Anda kueri menggunakan SPARQL, Anda dapat mengambil ringkasan grafik dari titik akhir ringkasan RDF:
https://your-neptune-host:port/rdf/statistics/summary
Titik akhir ini hanya bisa dibaca, dan hanya mendukung operasi HTTP. GET Jika $GRAPH_SUMMARY_ENDPOINT disetel ke alamat titik akhir mana pun yang ingin Anda kueri, Anda dapat mengambil data ringkasan menggunakan curl dan HTTP sebagai berikut: GET
curl -G "$GRAPH_SUMMARY_ENDPOINT"
Jika tidak ada statistik yang tersedia saat Anda mencoba mengambil ringkasan grafik, responsnya terlihat seperti ini:
{ "detailedMessage": "Statistics are not available. Summary can only be generated after statistics are available.", "requestId": "48c1f788-f80b-b69c-d728-3f6df579a5f6", "code": "StatisticsNotAvailableException" }
Parameter kueri URL mode untuk API ringkasan grafik
API ringkasan grafik menerima parameter kueri URL bernamamode, yang dapat mengambil salah satu dari dua nilai, yaitu basic (default) dandetailed. Untuk grafik RDF, respons ringkasan grafik detailed mode berisi subjectStructures bidang tambahan. Untuk grafik properti, respons ringkasan grafik terperinci berisi dua bidang tambahan, yaitu nodeStructures danedgeStructures.
Untuk meminta tanggapan ringkasan detailed grafik, sertakan mode parameter sebagai berikut:
curl -G "$GRAPH_SUMMARY_ENDPOINT?mode=detailed"
Jika mode parameter tidak ada, basic mode digunakan secara default, jadi meskipun dimungkinkan untuk menentukan ?mode=basic secara eksplisit, ini tidak perlu.
Tanggapan ringkasan grafik untuk grafik properti (PG)
Untuk grafik properti kosong, respons ringkasan grafik terperinci terlihat seperti ini:
{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-01-10T07:58:47.972Z", "graphSummary" : { "numNodes" : 0, "numEdges" : 0, "numNodeLabels" : 0, "numEdgeLabels" : 0, "nodeLabels" : [ ], "edgeLabels" : [ ], "numNodeProperties" : 0, "numEdgeProperties" : 0, "nodeProperties" : [ ], "edgeProperties" : [ ], "totalNodePropertyValues" : 0, "totalEdgePropertyValues" : 0, "nodeStructures" : [ ], "edgeStructures" : [ ] } } }
Respons ringkasan grafik properti (PG) memiliki bidang berikut:
-
status— kode pengembalian HTTP dari permintaan. Jika permintaan berhasil, kodenya adalah 200.Lihat Kesalahan ringkasan grafik umum untuk daftar kesalahan umum.
-
payloadversion— Versi tanggapan ringkasan grafik ini.lastStatisticsComputationTime- Stempel waktu, dalam format ISO 8601, dari waktu di mana Neptunus terakhir menghitung statistik. Mengelola statistik untuk Neptune DFE yang akan digunakan-
graphSummarynumNodes— Jumlah node dalam grafik.numEdges— Jumlah tepi dalam grafik.numNodeLabels— Jumlah label simpul yang berbeda dalam grafik.numEdgeLabels— Jumlah label tepi yang berbeda dalam grafik.nodeLabels— Daftar label simpul yang berbeda dalam grafik.edgeLabels— Daftar label tepi yang berbeda dalam grafik.numNodeProperties— Jumlah properti node yang berbeda dalam grafik.numEdgeProperties— Jumlah properti tepi yang berbeda dalam grafik.nodeProperties— Daftar properti node yang berbeda dalam grafik, bersama dengan jumlah node di mana setiap properti digunakan.edgeProperties— Daftar properti tepi yang berbeda dalam grafik bersama dengan jumlah tepi tempat setiap properti digunakan.totalNodePropertyValues— Jumlah total penggunaan semua properti node.totalEdgePropertyValues— Jumlah total penggunaan semua properti tepi.-
nodeStructures— Bidang ini hanyamode=detailedada bila ditentukan dalam permintaan. Ini berisi daftar struktur simpul, yang masing-masing berisi bidang berikut:count— Jumlah node yang memiliki struktur khusus ini.nodeProperties— Daftar properti simpul yang ada dalam struktur khusus ini.distinctOutgoingEdgeLabels— Daftar label tepi keluar yang berbeda yang ada dalam struktur khusus ini.
-
edgeStructures— Bidang ini hanyamode=detailedada bila ditentukan dalam permintaan. Ini berisi daftar struktur tepi, yang masing-masing berisi bidang berikut:count— Jumlah tepi yang memiliki struktur khusus ini.edgeProperties— Daftar properti tepi yang ada dalam struktur khusus ini.
Tanggapan ringkasan grafik untuk grafik RDF
Untuk grafik RDF kosong, respons ringkasan grafik terperinci terlihat seperti ini:
{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-01-10T07:58:47.972Z", "graphSummary" : { "numDistinctSubjects" : 0, "numDistinctPredicates" : 0, "numQuads" : 0, "numClasses" : 0, "classes" : [ ], "predicates" : [ ], "subjectStructures" : [ ] } } }
Respons ringkasan grafik RDF memiliki bidang berikut:
-
status— kode pengembalian HTTP dari permintaan. Jika permintaan berhasil, kodenya adalah 200.Lihat Kesalahan ringkasan grafik umum untuk daftar kesalahan umum.
-
payloadversion— Versi tanggapan ringkasan grafik ini.lastStatisticsComputationTime- Stempel waktu, dalam format ISO 8601, dari waktu di mana Neptunus terakhir menghitung statistik. Mengelola statistik untuk Neptune DFE yang akan digunakan-
graphSummarynumDistinctSubjects— Jumlah subjek yang berbeda dalam grafik.numDistinctPredicatesJumlah predikat yang berbeda dalam grafik.numQuads— Jumlah quad dalam grafik.numClasses— Jumlah kelas dalam grafik.classes— Daftar kelas dalam grafik.predicates— Daftar predikat dalam grafik, bersama dengan jumlah predikat.-
subjectStructures— Bidang ini hanyamode=detailedada bila ditentukan dalam permintaan. Ini berisi daftar struktur subjek, yang masing-masing berisi bidang berikut:count— Jumlah kemunculan struktur khusus ini.predicates— Daftar predikat yang ada dalam struktur khusus ini.
Contoh tanggapan ringkasan grafik properti (PG)
Berikut adalah tanggapan ringkasan terperinci untuk grafik properti yang berisi kumpulan data rute udara grafik properti sampel:
{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-03-01T14:35:03.804Z", "graphSummary" : { "numNodes" : 3748, "numEdges" : 51300, "numNodeLabels" : 4, "numEdgeLabels" : 2, "nodeLabels" : [ "continent", "country", "version", "airport" ], "edgeLabels" : [ "contains", "route" ], "numNodeProperties" : 14, "numEdgeProperties" : 1, "nodeProperties" : [ { "desc" : 3748 }, { "code" : 3748 }, { "type" : 3748 }, { "country" : 3503 }, { "longest" : 3503 }, { "city" : 3503 }, { "lon" : 3503 }, { "elev" : 3503 }, { "icao" : 3503 }, { "region" : 3503 }, { "runways" : 3503 }, { "lat" : 3503 }, { "date" : 1 }, { "author" : 1 } ], "edgeProperties" : [ { "dist" : 50532 } ], "totalNodePropertyValues" : 42773, "totalEdgePropertyValues" : 50532, "nodeStructures" : [ { "count" : 3471, "nodeProperties" : [ "city", "code", "country", "desc", "elev", "icao", "lat", "lon", "longest", "region", "runways", "type" ], "distinctOutgoingEdgeLabels" : [ "route" ] }, { "count" : 161, "nodeProperties" : [ "code", "desc", "type" ], "distinctOutgoingEdgeLabels" : [ "contains" ] }, { "count" : 83, "nodeProperties" : [ "code", "desc", "type" ], "distinctOutgoingEdgeLabels" : [ ] }, { "count" : 32, "nodeProperties" : [ "city", "code", "country", "desc", "elev", "icao", "lat", "lon", "longest", "region", "runways", "type" ], "distinctOutgoingEdgeLabels" : [ ] }, { "count" : 1, "nodeProperties" : [ "author", "code", "date", "desc", "type" ], "distinctOutgoingEdgeLabels" : [ ] } ], "edgeStructures" : [ { "count" : 50532, "edgeProperties" : [ "dist" ] } ] } } }
Contoh tanggapan ringkasan grafik RDF
Berikut adalah tanggapan ringkasan terperinci untuk grafik RDF yang berisi kumpulan data rute udara sampel RDF:
{ "status" : "200 OK", "payload" : { "version" : "v1", "lastStatisticsComputationTime" : "2023-03-01T14:54:13.903Z", "graphSummary" : { "numDistinctSubjects" : 54403, "numDistinctPredicates" : 19, "numQuads" : 158571, "numClasses" : 4, "classes" : [ "http://kelvinlawrence.net/air-routes/class/Version", "http://kelvinlawrence.net/air-routes/class/Airport", "http://kelvinlawrence.net/air-routes/class/Continent", "http://kelvinlawrence.net/air-routes/class/Country" ], "predicates" : [ { "http://kelvinlawrence.net/air-routes/objectProperty/route" : 50656 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/dist" : 50656 }, { "http://kelvinlawrence.net/air-routes/objectProperty/contains" : 7004 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/code" : 3747 }, { "http://www.w3.org/2000/01/rdf-schema#label" : 3747 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/type" : 3747 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/desc" : 3747 }, { "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" : 3747 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/icao" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/lat" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/region" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/runways" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/longest" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/elev" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/lon" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/country" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/city" : 3502 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/author" : 1 }, { "http://kelvinlawrence.net/air-routes/datatypeProperty/date" : 1 } ], "subjectStructures" : [ { "count" : 50656, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/dist" ] }, { "count" : 3471, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/city", "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/country", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/elev", "http://kelvinlawrence.net/air-routes/datatypeProperty/icao", "http://kelvinlawrence.net/air-routes/datatypeProperty/lat", "http://kelvinlawrence.net/air-routes/datatypeProperty/lon", "http://kelvinlawrence.net/air-routes/datatypeProperty/longest", "http://kelvinlawrence.net/air-routes/datatypeProperty/region", "http://kelvinlawrence.net/air-routes/datatypeProperty/runways", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://kelvinlawrence.net/air-routes/objectProperty/route", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 238, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://kelvinlawrence.net/air-routes/objectProperty/contains", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 31, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/city", "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/country", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/elev", "http://kelvinlawrence.net/air-routes/datatypeProperty/icao", "http://kelvinlawrence.net/air-routes/datatypeProperty/lat", "http://kelvinlawrence.net/air-routes/datatypeProperty/lon", "http://kelvinlawrence.net/air-routes/datatypeProperty/longest", "http://kelvinlawrence.net/air-routes/datatypeProperty/region", "http://kelvinlawrence.net/air-routes/datatypeProperty/runways", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 6, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] }, { "count" : 1, "predicates" : [ "http://kelvinlawrence.net/air-routes/datatypeProperty/author", "http://kelvinlawrence.net/air-routes/datatypeProperty/code", "http://kelvinlawrence.net/air-routes/datatypeProperty/date", "http://kelvinlawrence.net/air-routes/datatypeProperty/desc", "http://kelvinlawrence.net/air-routes/datatypeProperty/type", "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2000/01/rdf-schema#label" ] } ] } } }
Penggunaan AWS Identity and Access Management (IAM) otentikasi dengan titik akhir ringkasan grafik
Anda dapat mengakses titik akhir ringkasan grafik dengan aman dengan otentikasi IAM dengan menggunakan awscurl
awscurl "$GRAPH_SUMMARY_ENDPOINT" \ --region(your region)\ --service neptune-db
penting
Identitas atau peran IAM yang membuat kredenSIAL sementara harus memiliki kebijakan IAM yang dilampirkan yang memungkinkan tindakan GetGraphSummary IAM.
Lihat Kesalahan Autentikasi IAM daftar kesalahan IAM umum yang mungkin Anda temui.
Kode kesalahan umum yang dapat dikembalikan oleh permintaan ringkasan grafik
| Kode kesalahan layanan Neptunus | Status HTTP | Pesan | Skenario Kesalahan | Mitigasi |
|---|---|---|---|---|
|
403 |
Token Otentikasi Hilang. |
Permintaan yang tidak ditandatangani atau ditandatangani salah dikirim ke database Neptunus dengan IAM diaktifkan. |
Tanda tangani permintaan dengan SIGv4 sebelum mengirim (lihatIAM dan ringkasan grafik). |
403 |
Pengguna: tidak |
Kebijakan IAM tidak mengizinkan tindakan GetGraphSummary saat permintaan ringkasan grafik dikirim ke database Neptune dengan IAM diaktifkan. |
Pastikan kebijakan IAM yang dilampirkan pada pengguna atau peran yang membuat permintaan memungkinkan |
|
|
400 |
Statistik dinonaktifkan, jadi ringkasan grafik juga dinonaktifkan. |
Mencoba mengambil ringkasan pada jenis instans yang dapat meledak ( |
Gunakan jenis instance di mana pembuatan statistik diaktifkan (semua instans yang didukung kecuali |
400 |
Rute buruk: |
Permintaan dikirim ke jalur yang tidak valid. |
Gunakan rute yang benar untuk titik akhir ringkasan grafik. |
|
|
400 |
Permintaan berisi parameter yang tidak diketahui: ' |
Ketika parameter yang tidak valid ditentukan dalam permintaan. |
Hanya gunakan parameter yang valid (seperti |
|
400 |
Parameter kueri URI 'mode' memiliki nilai yang tidak didukung ' |
Ketika parameter URL 'mode' dalam permintaan diikuti oleh nilai yang tidak valid. |
Gunakan nilai yang valid (seperti |
|
405 |
Metode Tidak Diizinkan. |
Memanggil titik akhir ringkasan dengan metode HTTP apa pun selain |
Gunakan |
|
400 |
Statistik belum dihitung, ringkasan grafik akan tersedia setelah perhitungan statistik selesai. |
Tidak ada statistik yang tersedia saat permintaan dikirim ke titik akhir ringkasan. |
Tunggu hingga pembuatan statistik selesai. Anda dapat memeriksa status pembuatan statistik menggunakan API status statistik. |
400 |
Batas statistik tercapai, sehingga ringkasan grafik tidak tersedia. |
Pembuatan statistik telah berhenti karena mencapai batas ukuran statistik. |
Ringkasan grafik tidak tersedia pada grafik ini. |
Misalnya, jika Anda membuat permintaan untuk membuat grafik titik akhir ringkasan di database Neptune yang mengaktifkan otentikasi IAM, dan izin yang diperlukan tidak ada dalam kebijakan IAM pemohon, maka Anda akan mendapatkan respons seperti berikut:
{ "detailedMessage": "User: arn:aws:iam::(account ID):(user or user name)is not authorized to perform: neptune-db:GetGraphSummary on resource: arn:aws:neptune-db:(region):(account ID):(cluster resource ID)/*", "requestId": "7ac2b98e-b626-d239-1d05-74b4c88fce82", "code": "AccessDeniedException" }