openCypher 数据模型 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

openCypher 数据模型

Neptune openCypher 引擎建立在与 Gremlin 相同的属性图模型之上。具体而言:

  • 每个节点都有一个或多个标签。如果您插入一个没有标签的节点,则会附加一个名为 vertex 的默认标签。如果您尝试删除节点的所有标签,则会引发错误。

  • 关系是一个正好只有一种关系类型的实体,它在两个节点之间形成单向连接(即其中一个节点另一个节点)。

  • 节点和关系都可以具有属性,但不是必须具有属性。Neptune 支持具有零个属性的节点和关系。

  • Neptune 不支持元属性,这些元属性也未包含在 openCypher 规范中。

  • 如果图形中的属性是使用 Gremlin 创建的,则它们可以是多值的。也就是说,节点或关系属性可以有一组不同的值,而不仅仅是一个值。Neptune 扩展了 openCypher 语义,以从容地处理多值属性。

openCypher 数据格式中记录了支持的数据类型。但是,我们目前不建议将 Array 属性值插入到 openCypher 图形中。尽管可以使用批量加载程序插入数组属性值,但当前 Neptune openCypher 版本将其视为一组多值属性,而不是单个列表值。

以下是此版本支持的数据类型列表:

  • Bool

  • Byte

  • Short

  • Int

  • Long

  • Float(包括正负无穷大和 NaN,但不包括 INF)

  • Double(包括正负无穷大和 NaN,但不包括 INF)

  • DateTime

  • String