Mendapatkan laporan ringkasan singkat tentang grafik Anda - Amazon Neptune

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 read-only label node dan edge 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 hanya-baca, bersama dengan jumlah paha depan, subjek, dan predikat.

catatan

API ringkasan grafik diperkenalkan dalam rilis mesin Neptunus 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 Neptune Workbench. %summary Dalam aplikasi grafik, API dapat digunakan untuk meningkatkan hasil pencarian dengan memberikan label node atau tepi yang ditemukan sebagai bagian dari pencarian.

Data ringkasan grafik diambil dari statistik DFE yang dihitung oleh mesin DFE Neptunus selama runtime, dan tersedia setiap kali statistik DFE tersedia. Statistik diaktifkan secara default saat Anda membuat cluster DB Neptunus baru.

catatan

Pembuatan statistik dinonaktifkan 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 secara otomatis belum dinonaktifkan, statistik diperbarui secara otomatis secara berkala.

Jika Anda ingin memastikan bahwa statistik seterbaru mungkin saat Anda 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/summary

  • https://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-baca, dan hanya mendukung operasi HTTP. GET Jika $GRAPH_SUMMARY_ENDPOINT diatur ke alamat titik akhir mana pun yang ingin Anda kueri, Anda dapat mengambil data ringkasan menggunakan dan HTTP sebagai berikut: curl 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 mode URL 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 bidang tambahansubjectStructures. Untuk grafik properti, respons ringkasan grafik terperinci berisi dua bidang tambahan, yaitu nodeStructures danedgeStructures.

Untuk meminta respons 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 secara ?mode=basic eksplisit, ini tidak perlu.

Respons 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-bidang berikut:

  • status— kode pengembalian HTTP dari permintaan. Jika permintaan berhasil, kodenya adalah 200.

    Lihat Kesalahan ringkasan grafik umum untuk daftar kesalahan umum.

  • payload

    • version— Versi respons ringkasan grafik ini.

    • lastStatisticsComputationTime Stempel waktu, dalam format ISO 8601, saat Neptunus terakhir menghitung statistik.

    • graphSummary

      • numNodes— Jumlah node dalam grafik.

      • numEdges— Jumlah tepi dalam grafik.

      • numNodeLabels— Jumlah label node 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 di mana setiap properti digunakan.

      • totalNodePropertyValues— Jumlah total penggunaan semua properti node.

      • totalEdgePropertyValues— Jumlah total penggunaan semua properti tepi.

      • nodeStructures- Bidang ini hanya mode=detailed ada ketika ditentukan dalam permintaan. Ini berisi daftar struktur simpul, yang masing-masing berisi bidang-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 hadir dalam struktur khusus ini.

      • edgeStructures- Bidang ini hanya mode=detailed ada ketika ditentukan dalam permintaan. Ini berisi daftar struktur tepi, yang masing-masing berisi bidang-bidang berikut:

        • count— Jumlah tepi yang memiliki struktur khusus ini.

        • edgeProperties— Daftar properti tepi yang ada dalam struktur khusus ini.

Respons 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-bidang berikut:

  • status— kode pengembalian HTTP dari permintaan. Jika permintaan berhasil, kodenya adalah 200.

    Lihat Kesalahan ringkasan grafik umum untuk daftar kesalahan umum.

  • payload

    • version— Versi respons ringkasan grafik ini.

    • lastStatisticsComputationTime Stempel waktu, dalam format ISO 8601, saat Neptunus terakhir menghitung statistik.

    • graphSummary

      • numDistinctSubjects— Jumlah subjek yang berbeda dalam grafik.

      • numDistinctPredicates— Jumlah predikat berbeda dalam grafik.

      • numQuads— Jumlah paha depan dalam grafik.

      • numClasses— Jumlah kelas dalam grafik.

      • classes— Daftar kelas dalam grafik.

      • predicates— Daftar predikat dalam grafik, bersama dengan jumlah predikat.

      • subjectStructures- Bidang ini hanya mode=detailed ada ketika ditentukan dalam permintaan. Ini berisi daftar struktur subjek, yang masing-masing berisi bidang-bidang berikut:

        • count— Jumlah kemunculan struktur khusus ini.

        • predicates— Daftar predikat yang ada dalam struktur khusus ini.

Contoh respons ringkasan grafik properti (PG)

Berikut adalah respon ringkasan rinci untuk grafik properti yang berisi contoh dataset rute udara grafik properti:

{ "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 respons ringkasan grafik RDF

Berikut adalah respons ringkasan terperinci untuk grafik RDF yang berisi sampel dataset rute udara 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" ] } ] } } }

Menggunakan otentikasi AWS Identity and Access Management (IAM) dengan titik akhir ringkasan grafik

Anda dapat mengakses titik akhir ringkasan grafik secara aman dengan otentikasi IAM dengan menggunakan awscurl atau alat lain yang bekerja dengan HTTPS dan IAM. Lihat Menggunakan awscurl dengan kredensyal sementara untuk terhubung dengan aman ke cluster DB dengan otentikasi IAM diaktifkan untuk melihat cara mengatur kredensil yang tepat. Setelah Anda melakukannya, Anda kemudian dapat membuat permintaan seperti ini:

awscurl "$GRAPH_SUMMARY_ENDPOINT" \ --region (your region) \ --service neptune-db

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

AccessDeniedException

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: (pengguna ARN) tidak berwenang untuk melakukan: neptune-db: pada sumber daya: (GetGraphSummary sumber daya ARN).

Kebijakan IAM tidak mengizinkan GetGraphRingkasan tindakan saat permintaan ringkasan grafik dikirim ke database Neptunus dengan IAM diaktifkan.

Pastikan bahwa kebijakan IAM yang dilampirkan pada pengguna atau peran yang membuat permintaan memungkinkan GetGraphSummary tindakan.

BadRequestException

400

Statistik dinonaktifkan, jadi ringkasan grafik juga dinonaktifkan.

Mencoba mengambil ringkasan pada jenis instance burstable (t3ataut4g) di mana statistik dinonaktifkan.

Gunakan jenis instans di mana pembuatan statistik diaktifkan (semua instance yang didukung kecuali t3 dant4g).

400

Rute buruk: /rdf/statistics/summarypathapi

Permintaan dikirim ke jalur yang tidak valid.

Gunakan rute yang benar untuk titik akhir ringkasan grafik.

InvalidParameterException

400

Permintaan berisi parameter yang tidak diketahui: '(parameter atau parameter tidak diketahui)'.

Ketika parameter yang tidak valid ditentukan dalam permintaan.

Hanya gunakan parameter yang valid (sepertimode) dalam permintaan.

InvalidParameterException

400

Parameter kueri URI 'mode' memiliki nilai 'yang tidak didukung' (nilai tidak valid) '.

Ketika parameter URL 'mode' dalam permintaan diikuti oleh nilai yang tidak valid.

Gunakan nilai yang valid (seperti basic ataudetailed) saat menentukan parameter URL 'mode'.

MethodNotAllowedException

405

Metode Tidak Diizinkan.

Memanggil titik akhir ringkasan dengan metode HTTP apa pun selain GET (seperti POST atauDELETE).

Gunakan GET metode HTTP saat memanggil titik akhir ringkasan.

StatisticsNotAvailableException

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 sampai pembuatan statistik selesai. Anda dapat memeriksa status pembuatan statistik menggunakan API status statistik.

400

Batas statistik tercapai, sehingga ringkasan grafik tidak tersedia.

Generasi 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 dalam database Neptunus yang mengaktifkan autentikasi 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" }