Neo4j安装教程及常用简单命令
·
Neo4j创建新的数据库及常用简单命令——社区版
一、创建新的数据库
Neo4j社区版数据库不支持在运行时动态创建或删除数据库。需要再Neo4j启动之前配置数据库。
1.编辑配置文件
找到Neo4j的配置文件neo4j.conf(通常位于<Neo4j安装目录>/conf/下)。

2.配置数据库:在neo4j.conf文件中,你可以指定多个数据库,例如:

3.重启Neo4j服务:
保存配置文件后,重启Neo4j服务以应用更改。
4.使用新数据库:
重启后,你可以通过Neo4j Browser或Cypher Shell连接到新数据库。
需要注意版本:Java11+Neo4J 4.4.38。Neo4J的版本过低则无法使用LangChian连接(3.X.X),版本过高则找不到 apoc 插件
报错解决方法
1.APOC权限不足
neo4j.exceptions.ClientError: {code: Neo.ClientError.Procedure.ProcedureRegistrationFailed} {message: apoc.meta.data is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.}
解决方法:
vim $NEO4J_HOME/conf/neo4j.conf
# 参考
# vim /root/neo4j-community-4.4.30/conf/neo4j.conf
找到security.procedures.unrestricted
在其下方添加以下代码:
dbms.security.procedures.unrestricted=apoc.*
2.APOC未安装
ValueError: Could not use APOC procedures. Please ensure the APOC plugin is installed in Neo4j and that 'apoc.meta.data()' is allowed in Neo4j configuration
解决方法(注意版本对应):
Installation - APOC Extended Documentation
如果一直报错,则这样操作:

-
从neo4j安装目录中的labs目录下找到”apoc-5.25.1-core.jar“,将复制到neo4j目录下的plugins。
-
修改neo4j安装目录下conf/neo4j.conf。修改内容:
添加这两行:
dbms.security.procedures.unrestricted=apoc.* dbms.security.procedures.allowlist=apoc.* -
重启neo4j,问题完美解决!
二、常用Cypher语句
1. 查询数据库中所有的节点
match(n) return n
match是匹配规则,(n)表示所有节点,语法要求加上小括号。
return n表示返回匹配到的所有节点
2. 创建一个节点
CREATE (p1:Person { name: "Liu Da", age: 20})
p1是变量名,Person是节点名,{}内包含了节点的两个属性。
3. 创建两个节点之间的关系
create
(p1:Person{name:"Liu Da", age:20}),
(p2:Person{name:"Chen Er", age:22}),
(p1)-[:KNOWS]->(p2)
这里创建了两个节点,并且Liu Da知道Chen Er,但Chen Er不知道Liu Da
4. 查询两个节点的关系
MATCH (p1: Person)-[KNOWS]-(p2: Person) return p1,KNOWS,p2
5. 删除两个节点和它们的关系
注意:Neo4j删除节点时,要求把关系一并删除掉,不能只删除节点,不删除关系
MATCH (p1: Person)-[KNOWS]-(p2: Person)
DELETE p1, KNOWS, p2
6. 为节点增加属性
create(p1:Person{name:"Liu Da"})
match(p1) set p1.age = 20
7. 修改节点属性
match(p1) set p1.age = 33
8. 查询节点所有属性
CREATE
(p2:Person { name: "Liu Er", age: 15, learn: "Muay Thai" }),
(p3:Person { name: "Zhang San", age: 25, sex: “Male” }),
(p4:Person { name: "Li Si", age: 30, hobby: "Muay Thai" }),
(p2)-[:KNOWS]->(p3),
(p3)-[:KNOWS]->(p2),
(p3)-[:KNOWS]->(p4)
9. 删除指定节点
MATCH (p:Person)
DELETE p
10. 清空数据库
MATCH (n)
DETACH DELETE n
更多推荐
所有评论(0)