本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 openCypher
无论如何加载,您都可以使用 openCypher 在 Neptune 中查询属性图数据,但不能使用 openCypher 来查询以 RDF 形式加载的数据。
Neptune 批量加载程序接受采用 Gremlin 的 CSV 格式和 openCypher 的 CSV 格式的属性图数据。当然,你也可以使用 Gremlin and/or OpenCypher 查询将属性数据添加到图表中。
有许多在线教程可用于学习 Cypher 查询语言。在这里,一些 openCypher 查询的简短示例可以帮助您了解这种语言,但是到目前为止,开始使用 openCypher 查询 Neptune 图形的最好、最简单的方法是在 Neptune Workbench 中使用 openCypher 笔记本。该工作台是开源的,托管 GitHub 在。https://github.com/aws-samples/amazon-neptune-samples
你可以在 Neptune GitHub 图形笔记本存储库中找到 OpenCypher 笔记本。
OpenCypher 处理的数据采用一系列无序地图的形式。 key/value 完善、操作和增强这些映射的主要方法是使用子句来执行诸如模式匹配、插入、更新和删除 key/value 对映射之类的任务。
openCypher 中有几个子句用于在图形中查找数据模式,其中 MATCH
最常用。MATCH
允许您指定要在图形中查找的节点、关系和筛选条件的模式。例如:
-
获取所有节点
MATCH (n) RETURN n
-
查找连接的节点
MATCH (n)-[r]->(d) RETURN n, r, d
-
查找路径
MATCH p=(n)-[r]->(d) RETURN p
-
获取所有带有标签的节点
MATCH (n:airport) RETURN n
请注意,上面的第一个查询返回图形中的每单个节点,接下来的两个查询返回每个具有关系的节点,但通常不建议这样做!几乎在所有情况下,您都希望缩小返回的数据的范围,这可以通过指定节点或关系标签和属性来实现,如第四个示例所示。
您可以在 Neptune github 示例存储库