openCypher 資料模型 - Amazon Neptune

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

openCypher 資料模型

Neptune openCypher 引擎以與 Gremlin 相同的屬性圖形模型為基礎。尤其是:

  • 每個節點都有一個或多個標籤。如果插入沒有標籤的節點,則會附加名為 vertex 的預設標籤。如果嘗試刪除節點的所有標籤,則會擲回錯誤。

  • 關係是只有一種關係類型的實體,而且其會在兩個節點之間形成單向連線 (也就是說,「從」其中一個節點「到」另一個節點)。

  • 節點和關係都可以具有屬性,但不必如此。Neptune 支援沒有屬性的節點和關係。

  • Neptune 不支援中繼資料,這些中繼資料也未包含在 openCypher 規格中。

  • 如果您圖形中的屬性是使用 Gremlin 建立的,則它們可以是多值的。也就是說,一個節點或關係屬性可有一組不同的值,而不是只有一個值。Neptune 已擴展 openCypher 語義,以正常處理多值屬性。

支援的資料類型記載於 openCypher 資料格式。但是,我們不建議將Array屬性值插入目前openCypher圖表。雖然可以使用大量載入器插入陣列屬性值,但目前的 Neptune openCypher 版本會將其視為一組多值屬性,而非單一清單值。

以下是此版本支援的資料類型清單:

  • Bool

  • Byte

  • Short

  • Int

  • Long

  • Float (包含加減 Infinity 和 NaN ,但不包括 INF)

  • Double (包含加減 Infinity 和 NaN ,但不包括 INF)

  • DateTime

  • String