Neptune简介
- Amazon Neptune 是一项快速、可靠且完全托管的图形数据库服务,可帮助您轻松构建和运行需要处理高度互连数据集的应用程序。
- Neptune 的核心是一个专门打造的高性能图形数据库引擎,它经过优化,可存储数十亿个关系并能以毫秒级延迟进行图形查询。
- Neptune 支持主流图形查询语言 Apache TinkerPop Gremlin 和 W3C SPARQL,可让您轻松构建高效地导航高度互连数据集的查询。
- Neptune 支持图形用例,如建议引擎、欺诈检测、知识图形、药物开发和网络安全。
- Neptune 使用节点 (数据实体)、边缘 (关系) 和属性等图形结构来表示和存储数据。这些关系存储为数据模型的一等公民。这样,系统便可直接关联节点中的数据,从而显著提高用于导航数据中的关系的查询的性能。Neptune 中的大规模交互式性能可有效地实现各种图形使用案例。
- 图形数据库中的图形可依据具体的边缘类型进行遍历,或者也可对整个图形进行遍历。
Neptune 与Tinkerpop-Gremlin的实现区别
gremlin> g.addV('label1').property(id, 'customid')
gremlin> g.addV('label2').property(id, 'customid')
gremlin> g.V('customid').label()
==>label1::label2
- 顶点属性 ID
- 顶点属性 ID 会自动生成且可以在查询时显示为正数或负数。
- 顶点属性的基数
- Neptune 支持集基数和单一基数。如果未指定集基数,请选中它。这意味着,如果您设置一个属性值,它会向该属性添加新值,但是仅当它未显示在一组值中时。这是 Set 的 Gremlin 枚举值。
- 不支持 List。有关属性基数的更多信息,请参阅 Gremlin JavaDoc 中的顶点主题。
- 更新顶点属性
- 要更新属性值而无需向一组值添加其他值,请在 property 步骤中指定 single 基数。
g.V('exampleid01').property(single, 'age', 25)
**注意:**这将删除该属性的所有现有值。
- 标签
- Neptune 支持一个顶点的多个标签。创建标签时,您可以指定多个标签,同时使用 :: 分隔它们。例如,g.addV(“Label1::Label2::Label3”) 添加具有三个不同标签的顶点。hasLabel 步骤与具有以下任一三个标签的此顶点相匹配:hasLabel(“Label1”)、hasLabel(“Label2”) 和 hasLabel(“Label3”)。
- 重要::: 分隔符仅用于此用途。您不能在 hasLabel 步骤中指定多个标签。例如,hasLabel(“Label1::Label2”) 与任何内容都不匹配。
- 变量
- Neptune 不支持 Gremlin 变量且不支持 bindings 属性。
- 超时
- Gremlin 控制台命令 :remote config timeout 仅设置本地超时。要为 Neptune 设置远程查询超过,请使用 neptune_query_timeout 参数。
- Groovy 限制
- Neptune 不支持不以 g 开头的 Groovy 命令。这包括数学 (例如:1+1)、系统调用 (例如:System.nanoTime()) 和变量定义 (例如:1+1)。
- 重要:Neptune 不支持完全限定类名称。例如,您在 Groovy 请求中必须使用 single,不能使用 org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality.single。
- Gremlin 图形支持的功能
- 以下是一组由 Neptune Gremlin 图形实现的功能。这些功能与由 graph.features() 命令返回的功能相同。
- 连接地址
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26692020/viewspace-3122925/
,如需转载,请注明出处,否则将追究法律责任。