Neo4j:对特定数据库进行查询?
Neo4j: Do queries on specific database?
我是 Neo4j 的新手,想实现一个使用它的服务。
我已经阅读了文档并进行了搜索,但是我仍然没有得到这个简单问题的答案:
如何在 Neo4j 查询中指定要查询的数据库?
例如我连接到 bolt://localhost:7687,那里有三个数据库:system、neo4j 和 mydb。 neo4j 数据库是标准的。
当我打开 Neo4j 浏览器并执行诸如 MATCH (n) RETURN n
的查询时,它会自动假定我要查询名为 neo4j 的标准数据库。但是,我想查询另一个,mydb。
当我查询上述查询时,我的输出是
{
"query": {
"text": "match (n) return n",
"parameters": {}
},
"queryType": "r",
"counters": {
"_stats": {
"nodesCreated": 0,
"nodesDeleted": 0,
"relationshipsCreated": 0,
"relationshipsDeleted": 0,
"propertiesSet": 0,
"labelsAdded": 0,
"labelsRemoved": 0,
"indexesAdded": 0,
"indexesRemoved": 0,
"constraintsAdded": 0,
"constraintsRemoved": 0
},
"_systemUpdates": 0
},
"updateStatistics": {
"_stats": {
"nodesCreated": 0,
"nodesDeleted": 0,
"relationshipsCreated": 0,
"relationshipsDeleted": 0,
"propertiesSet": 0,
"labelsAdded": 0,
"labelsRemoved": 0,
"indexesAdded": 0,
"indexesRemoved": 0,
"constraintsAdded": 0,
"constraintsRemoved": 0
},
"_systemUpdates": 0
},
"plan": false,
"profile": false,
"notifications": [],
"server": {
"address": "localhost:7687",
"version": "Neo4j/4.4.5",
"agent": "Neo4j/4.4.5",
"protocolVersion": 4.4
},
"resultConsumedAfter": {
"low": 2,
"high": 0
},
"resultAvailableAfter": {
"low": 8,
"high": 0
},
"database": {
"name": "neo4j"
}
}
最后的JSON值是查询在数据库neo4j.
上执行的证明
我必须向我的查询添加什么才能查询同一 DBMS 中的另一个数据库?
您可以使用以下选项change/specify 数据库。
从 Neo4j 浏览器,您可以 select sidebar 中的数据库。
在 Cypher 语法中,use 命令允许您选择不同的数据库。
:use mydb
.
如果通过Application驱动连接到Neo4j,可以在创建session对象时指定数据库。
例如,如果您使用 Python driver:
from neo4j import GraphDatabase
driver = GraphDatabase.driver(uri, auth=(user, password))
session = driver.session(database="mydb")
- 通过修改config_dbms.default_database value in the the neo4j.conf file.
以system-wide方式指定默认数据库
我是 Neo4j 的新手,想实现一个使用它的服务。
我已经阅读了文档并进行了搜索,但是我仍然没有得到这个简单问题的答案:
如何在 Neo4j 查询中指定要查询的数据库?
例如我连接到 bolt://localhost:7687,那里有三个数据库:system、neo4j 和 mydb。 neo4j 数据库是标准的。
当我打开 Neo4j 浏览器并执行诸如 MATCH (n) RETURN n
的查询时,它会自动假定我要查询名为 neo4j 的标准数据库。但是,我想查询另一个,mydb。
当我查询上述查询时,我的输出是
{
"query": {
"text": "match (n) return n",
"parameters": {}
},
"queryType": "r",
"counters": {
"_stats": {
"nodesCreated": 0,
"nodesDeleted": 0,
"relationshipsCreated": 0,
"relationshipsDeleted": 0,
"propertiesSet": 0,
"labelsAdded": 0,
"labelsRemoved": 0,
"indexesAdded": 0,
"indexesRemoved": 0,
"constraintsAdded": 0,
"constraintsRemoved": 0
},
"_systemUpdates": 0
},
"updateStatistics": {
"_stats": {
"nodesCreated": 0,
"nodesDeleted": 0,
"relationshipsCreated": 0,
"relationshipsDeleted": 0,
"propertiesSet": 0,
"labelsAdded": 0,
"labelsRemoved": 0,
"indexesAdded": 0,
"indexesRemoved": 0,
"constraintsAdded": 0,
"constraintsRemoved": 0
},
"_systemUpdates": 0
},
"plan": false,
"profile": false,
"notifications": [],
"server": {
"address": "localhost:7687",
"version": "Neo4j/4.4.5",
"agent": "Neo4j/4.4.5",
"protocolVersion": 4.4
},
"resultConsumedAfter": {
"low": 2,
"high": 0
},
"resultAvailableAfter": {
"low": 8,
"high": 0
},
"database": {
"name": "neo4j"
}
}
最后的JSON值是查询在数据库neo4j.
上执行的证明我必须向我的查询添加什么才能查询同一 DBMS 中的另一个数据库?
您可以使用以下选项change/specify 数据库。
从 Neo4j 浏览器,您可以 select sidebar 中的数据库。
在 Cypher 语法中,use 命令允许您选择不同的数据库。
:use mydb
.如果通过Application驱动连接到Neo4j,可以在创建session对象时指定数据库。
例如,如果您使用 Python driver:
from neo4j import GraphDatabase
driver = GraphDatabase.driver(uri, auth=(user, password))
session = driver.session(database="mydb")
- 通过修改config_dbms.default_database value in the the neo4j.conf file. 以system-wide方式指定默认数据库