選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Neptune 如何使用陳述式索引來處理 Gremlin 查詢

焦點模式
Neptune 如何使用陳述式索引來處理 Gremlin 查詢 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

陳述式會在 Amazon Neptune 中透過三個陳述式索引的方式存取,如 陳述式在 Neptune 中如何編製索引 中所述。Neptune 從 Gremlin 查詢中擷取陳述式「模式」,其中某些位置已知,其餘位置則留給索引搜尋進行探索。

Neptune 假設屬性圖結構描述的大小不大。這表示不同邊緣標籤和屬性名稱的數量相當低,導致不同的述詞總數很低。Neptune 會在個別索引中追蹤不同的述詞。它會使用此述詞快取來執行的 { all P x POGS } 聯合掃描,而不是使用 OSGP 索引。避免需要反向周遊 OSGP 索引,可同時節省儲存空間和載入輸送量。

Neptune Gremlin Explain/設定檔 API 可讓您在圖形中取得述詞計數。然後,您可以判斷您的應用程式是否會使屬性圖結構描述很小的 Neptune 假設失效。

以下範例可協助說明 Neptune 如何使用索引來處理 Gremlin 查詢。

問:什麼是頂點 v1 的標籤?

Gremlin code: g.V('v1').label() Pattern: (<v1>, <~label>, ?, ?) Known positions: SP Lookup positions: OG Index: SPOG Key range: <v1>:<~label>:*

問:什麼是頂點 v1 的「已知」外邊緣?

Gremlin code: g.V('v1').out('knows') Pattern: (<v1>, <knows>, ?, ?) Known positions: SP Lookup positions: OG Index: SPOG Key range: <v1>:<knows>:*

問:哪些頂點有 Person 頂點標籤?

Gremlin code: g.V().hasLabel('Person') Pattern: (?, <~label>, <Person>, <~>) Known positions: POG Lookup positions: S Index: POGS Key range: <~label>:<Person>:<~>:*

問:什麼是指定邊緣 e1 的來源/目標頂點?

Gremlin code: g.E('e1').bothV() Pattern: (?, ?, ?, <e1>) Known positions: G Lookup positions: SPO Index: GPSO Key range: <e1>:*

Neptune 沒有的陳述式索引是反向周遊 OSGP 索引。此索引可用來收集所有邊緣標籤的所有傳入邊緣,如下列範例所示。

問:什麼是傳入的相鄰頂點v1

Gremlin code: g.V('v1').in() Pattern: (?, ?, <v1>, ?) Known positions: O Lookup positions: SPG Index: OSGP // <-- Index does not exist

下一個主題:

查詢處理

上一個主題:

陳述式
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。