连接到 Neo4j
Neo4j 语言指南
Neo4j 提供了**Python、JavaScript、Java、.NET 和 Go 的官方库**。
我们的社区贡献者为所有主要编程语言的所有协议和 API 提供了驱动程序。在本节中,我们为几种语言和 Neo4j 驱动程序提供了介绍和一致的示例应用程序。
您应该熟悉图数据库概念和属性图模型。您应该已创建了 Neo4j AuraDB 云实例,或在本地安装了 Neo4j。
通过 GraphAcademy 学习
我们提供了一系列Neo4j 开发者课程,这些课程将教会您如何使用我们每个官方支持的驱动程序来构建连接到 Neo4j 的应用程序。
如何连接到 Neo4j?
如果您已创建AuraDB 实例,或安装并在系统上启动了 Neo4j 作为服务器,则您已经可以通过内置的 Neo4j 浏览器与数据库进行交互式操作,您可以在 AuraDB 控制台中找到它,或者如果您在本地运行,则可以在localhost:7474上找到它。
要构建应用程序,您希望从您的技术栈连接到 Neo4j,使用通过 Bolt 或 HTTP 连接到 Neo4j 的驱动程序。
Neo4j 驱动程序
Neo4j 为多种流行的编程语言提供了官方驱动程序。您可以在下面找到指向其参考文档的链接
始终使用最新版本的驱动程序,因为它始终可以与之前的 Neo4j 长期支持版本以及当前和下一个主要版本一起使用。最新的 5.x 驱动程序支持连接到任何 Neo4j 5 和 4.4 实例,并且也将与 Neo4j 6 兼容。 |
为了演示在不同的编程语言中连接和使用 Neo4j,创建了一个示例应用程序。它是一个简单的单页 Web 应用程序,它使用 Neo4j 的电影演示数据库(电影、演员、导演)作为数据集。所有应用程序中的相同前端网页都使用由不同编程语言和驱动程序实现的后端提供的三个 REST 端点
-
按标题搜索电影
-
单个电影列表
-
领域模型的图形可视化
语言示例的源代码在GitHub上作为单独的存储库提供,可以克隆并用作起点。
查询 API
查询 API 允许您通过 HTTP/HTTPS 查询 Neo4j 服务器。
有关更多信息,请参阅文档 → 查询 API。
示例请求
POST http://localhost:7474/db/neo4j/query/v2
Authorization: Basic bmVvNGo6dmVyeXNlY3JldA==
Content-Type: application/json
{
"statement": "MERGE (n:Person {name: $name, age: $age}) RETURN n AS alice",
"parameters": {
"name": "Alice",
"age": 42
}
}
示例响应
202: Accepted
Content-Type: application/json
{
"data": {
"fields": [
"alice"
],
"values": [
{
"elementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:0",
"labels": [
"Person"
],
"properties": {
"name": "Alice",
"age": 42
}
}
]
},
"bookmarks": [
"FB:kcwQ/wTfJf8rS1WY+GiIKXsCXgmQ"
]
}
HTTP API
HTTP API 允许您通过 HTTP/HTTPS 查询 Neo4j 服务器。
有关更多信息,请参阅文档 → HTTP API。
示例请求
POST http://localhost:7474/db/neo4j/tx/commit
Accept: application/json;charset=UTF-8
Content-Type: application/json
Authorization: Basic bmVvNGo6dmVyeXNlY3JldA==
{
"statements": [
{
"statement": "MERGE (n:Person {name: $name, age: $age}) RETURN n",
"parameters": {
"name": "Alice",
"age": 42
}
}
]
}
示例响应
200: OK
Content-Type: application/json;charset=utf-8
{
"results": [ {
"columns": ["n"],
"data": [ {
"row": [ {
"name": "Alice",
"age": 42
} ],
"meta": [ {
"id": 36,
"elementId": "4:0ea4a108-32c5-498c-99e7-95cc67ab5f7d:36",
"type": "node",
"deleted": false
} ]
} ]
} ],
"errors": [],
"lastBookmarks": [
"FB:kcwQDqShCDLFSYyZ55XMZ6tffRuQ"
]
}
通过 GraphAcademy 学习
通过来自Neo4j GraphAcademy的免费动手课程,学习构建 Neo4j 应用程序所需的一切知识。