

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

# 开始使用 openCypher
<a name="access-graph-opencypher-overview-getting-started"></a>

无论如何加载，您都可以使用 openCypher 在 Neptune 中查询属性图数据，但不能使用 openCypher 来查询以 RDF 形式加载的数据。

[Neptune 批量加载程序](bulk-load.md)接受采用 [Gremlin 的 CSV 格式](bulk-load-tutorial-format-gremlin.md)和 [openCypher 的 CSV 格式](bulk-load-tutorial-format-opencypher.md)的属性图数据。当然，你也可以使用 Gremlin and/or OpenCypher 查询将属性数据添加到图表中。

有许多在线教程可用于学习 Cypher 查询语言。在这里，一些 openCypher 查询的简短示例可以帮助您了解这种语言，但是到目前为止，开始使用 openCypher 查询 Neptune 图形的最好、最简单的方法是在 [Neptune Workbench](graph-notebooks.md) 中使用 openCypher 笔记本。该工作台是开源的，托管 GitHub 在。[https://github.com/aws-samples/amazon-neptune-samples](https://github.com/aws-samples/amazon-neptune-samples/)

[你可以在 Neptune GitHub 图形笔记本存储库中找到 OpenCypher 笔记本。](https://github.com/aws/graph-notebook/tree/main/src/graph_notebook/notebooks)特别是，请查看 openCypher 的 [Air-routes visualization](https://github.com/aws/graph-notebook/blob/main/src/graph_notebook/notebooks/02-Visualization/Air-Routes-openCypher.ipynb) 和 [English Premier Teams](https://github.com/aws/graph-notebook/blob/main/src/graph_notebook/notebooks/02-Visualization/EPL-openCypher.ipynb) 笔记本。

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 示例存储库](https://github.com/aws-samples/amazon-neptune-samples/tree/master/opencypher/Cheatsheet.md)中找到 openCypher 语法的便捷备忘单。