检查点
Neo4j 简介
探索 Neo4j 图数据库,学习如何在 Neo4j 中创建和查询节点与关系。
...
Neo4j 图数据库
安装 Neo4j Python 驱动的命令
1pip install neo4j
导入 Neo4j 模块
1from neo4j import GraphDatabase
连接到 Neo4j 实例
1connection_uri = "" # Neo4j 实例的连接 URI(Bolt URL) 2username = "" # Neo4j 账户用户名 3password = "" # Neo4j 账户密码 4driver = GraphDatabase.driver(connection_uri, auth=(username, password))
开启会话以执行查询
1with driver.session() as session: 2 result = session.run(query) 3driver.close()
...
实体及其之间的关系
在 Neo4j 中创建节点
1CREATE (EmperorShahJahan:Person {name: 'Shah Jahan', aged: '74'})
在 Neo4j 中创建另一个节点
1CREATE (TajMahal:Monument {name: "Taj Mahal"})
如果这两个实体之间已存在类型为 RELATION 的关系,则会新增一条相同的关系,导致出现重复
1CREATE (TajMahal)-[:RELATION {name: 'BUILT_BY', year: 1643}]->(EmperorShahJahan)
如果两个节点已存在,则不会创建新节点
1MERGE (EmperorShahJahan:Person {name: 'Shah Jahan', aged: '74'}) 2MERGE (TajMahal:Monument {name: "Taj Mahal"})
MERGE 可避免在相同节点间创建重复的关系
1MERGE (TajMahal)-[:RELATION {name: 'BUILT_BY', year: 1643}]->(EmperorShahJahan)
代码示例
1MATCH (TajMahal:Monument {name: 'Taj Mahal'}), (EmperorShahJahan:Person {name: 'Shah Jahan'}) 2MERGE (TajMahal)-[:RELATION {name: 'BUILT_BY', year: 1643}]->(EmperorShahJahan)
No configuration found for ID: 9819f2883d4b51425bbbcbc8de32fdbae9cf54d5526869adf45451099f2ca472
Cypher 查询:获取 Neo4j 实例中所有实体及关系
1MATCH (n)-[r]->(m) 2RETURN n, r, m
No configuration found for ID: fea9ecd88672e8c3b5f24bf0726db46c2124a9d2811c3c022ff234cae9423a86
...
在 Neo4j 工作区预览页面上对构建的知识图谱进行更优可视化展示
Cypher 查询:查找特定实体及其与其他实体的关系
1MATCH (n {name: 'Taj Mahal'})-[r]->(m) 2RETURN n, r, m
No configuration found for ID: 5c94ca64429bb6c9ca5ebc55adb6e07cc34d2122ceb477a48ddfec53488ed4e7
Cypher 查询:查找并删除特定关系
1MATCH ()-[r:RELATION {name: 'BUILT_BY'}]->() 2DELETE r
Cypher 查询:删除节点及其关联的所有关系
1MATCH (n:Person {name: 'Shah Jahan'}) 2DETACH DELETE n
Cypher 查询:删除所有关系
1MATCH ()-[r]->() 2DELETE r
Cypher 查询:删除所有节点和关系
1MATCH (n) 2DETACH DELETE n
No configuration found for ID: a40d26bb87b13d9c87ac9c643f473ede5d38faacff1b104142377d6a133944d1
Quiz
单选题
在 Neo4j 的属性图模型中,节点代表什么?
1 / 7