什么是 Neo4j?
如何与 Neo4j 交互
Neo4j 使用 Cypher®,这是一种声明式查询语言,类似于 SQL,但针对图进行了优化。其他数据库(如 SAP HANA Graph)也通过 openCypher 项目使用相同的语言。
另一种选择是使用库。Neo4j 目前支持 Java、JavaScript、.NET、Python、Go、GraphQL、Spring 等。
创建 Neo4j 实例
部署数据库是探索 Neo4j 的第一步。从以下选项中选择适合您项目的部署方法:
全托管云服务
Neo4j AuraDB 是一种全托管云服务,让您可以直接在浏览器中开始探索 Neo4j。
如果您是数据科学家,您可能还想查看 Neo4j AuraDS 并获取超过 65 种预调优的图算法。
Neo4j Aura 包含免费版和订阅版。查看完整比较。
自托管云服务
您还可以选择将图数据库部署在云平台上。Neo4j 支持 Amazon Web Services (AWS)、Google Cloud (GCP) 和 Microsoft Azure。
对于自托管云服务,如果您的项目不在生产环境中,您需要在本地安装 Neo4j 或使用 Neo4j Desktop。
自托管本地部署
如果您喜欢本地部署:如果您的项目不在生产环境中,请安装 Neo4j Desktop 或在本地安装 Neo4j。
Docker 上的 Neo4j
Neo4j 可以在 Docker 容器中运行。官方的 Neo4j 镜像提供了标准、即用型的 Neo4j 社区版和企业版,支持多种版本,可从 DockerHub 下载。它适用于 macOS、Windows 和 Linux。
Kubernetes 上的 Neo4j
使用 Neo4j Helm Charts,您可以在 Kubernetes 上部署独立版和集群版 Neo4j,并使用适用于最常见场景的配置选项。
Neo4j 提供免费版和订阅版许可选项。了解更多可用版本。 |
使用数据
创建数据库后,您的学习路径会根据您是想使用自己的数据还是 Neo4j 的示例数据集而有所不同
-
示例数据集:Aura 和 Neo4j Browser 都内置了指南,可让您创建示例数据集并开始查询。要访问它们,请在 Aura 右上角使用学士帽图标,或在 Neo4j Browser 中输入
:guide
。
您还可以下载示例数据集,然后将其导入到您的实例中。
Neo4j 工具
Neo4j 拥有一系列可用于数据库管理、数据可视化等多种用途的工具。您可以在工具中心查看所有产品。
支持的库
Neo4j 支持多种最流行的查询语言,并提供专有库以实现定制体验
-
Neo4j 图数据科学 (GDS) 库提供了常见图算法和机器学习流水线的实现,用于训练预测性监督模型。例如,您可以使用它们来解决图问题,例如预测缺失关系。
-
对象图映射 (OGM) 库将图中的节点和关系映射到领域模型中的对象和引用。您可以使用此资源来开始跟踪更改,并最大限度地减少必要的更新和传递持久化(读取和更新对象的邻域)。
API
Neo4j 目前提供三种专有API
-
通过 Neo4j HTTP API,您可以通过 HTTP 请求对 Neo4j 实例执行一系列 Cypher 语句。
-
通过变更数据捕获 (CDC) API,您可以实时捕获和跟踪数据库更改,并保持数据源最新。
-
通过 Neo4j 查询 API,您可以用 Neo4j 目前不支持的语言开发客户端应用程序。
在 Neo4j Labs,您可以找到实验性项目,包括 API、库和可视化工具。 |
持续学习
您还可以在 Neo4j 社区网站上联系 Neo4j 社区的其他成员。
术语表
- 标签
-
将节点标记为命名和索引子集的一个成员。一个节点可以被分配零个或多个标签。
- 标签
-
标签将节点标记为命名和索引子集的一个成员。一个节点可以被分配零个或多个标签。
- 节点
-
节点代表图数据模型中的实体或离散对象。节点可以通过关系连接,在属性中保存数据,并按标签分类。
- 节点
-
节点代表图数据模型中的实体或离散对象。节点可以通过关系连接,在属性中保存数据,并按标签分类。
- 关系
-
关系代表图数据模型中节点之间的连接。关系连接源节点到目标节点,在属性中保存数据,并按类型分类。
- 关系
-
关系代表图数据模型中节点之间的连接。关系连接源节点到目标节点,在属性中保存数据,并按类型分类。
- 属性
-
属性是用于在节点和关系上存储数据的键值对。
- 属性
-
属性是用于在节点和关系上存储数据的键值对。
- 集群
-
一个 Neo4j DBMS 跨越多个服务器协同工作,以提高容错能力和/或读取可伸缩性。集群中的数据库可以配置为在集群中的服务器之间复制,从而实现读取可伸缩性或高可用性。
- 集群
-
一个 Neo4j DBMS 跨越多个服务器协同工作,以提高容错能力和/或读取可伸缩性。集群中的数据库可以配置为在集群中的服务器之间复制,从而实现读取可伸缩性或高可用性。
- 图
-
节点集合的逻辑表示,其中一些节点对通过关系连接。
- 图
-
节点集合的逻辑表示,其中一些节点对通过关系连接。
- 模式
-
为节点和关系规定的属性存在和数据类型。
- 模式
-
为节点和关系规定的属性存在和数据类型。
- [[数据库模式]]数据库模式
-
为节点和关系规定的属性存在和数据类型。
- 索引
-
提高数据库读取性能的数据结构。了解更多关于支持的索引类别。
- 已索引
-
提高数据库读取性能的数据结构。了解更多关于支持的索引类别。
- 约束
-
约束是一组数据建模规则,用于确保数据的一致性和可靠性。查看 Cypher 中可用的约束。
- 数据模型
-
数据模型定义了信息在数据库中的组织方式。一个好的数据模型将使查询和理解数据变得更容易。在 Neo4j 中,数据模型具有图结构。
- 数据模型
-
数据模型定义了信息在数据库中的组织方式。一个好的数据模型将使查询和理解数据变得更容易。在 Neo4j 中,数据模型具有图结构。