本文共 1893 字,大约阅读时间需要 6 分钟。
使用Python调用Neo4j,首先需要安装相关库。建议使用py2neo,这是Neo4j的官方Python驱动。安装完成后,可以按照以下代码连接到Neo4j数据库:
from py2neo import Graph, Node, Relationshipgraph = Graph("http://localhost:7474", username="neo4j", # 替换为你的用户名 password="123456") # 替换为你的密码 为了更直观地理解操作,我们使用家有儿女中的人物关系来操作。前提是确保数据库中没有以往的图数据,可以执行以下命令清理数据库:
graph.delete_all()
接下来,逐一创建人物节点。使用Node创建节点,graph.create()执行操作:
node_1 = Node("person", name="夏东海")node_2 = Node("person", name="刘梅")node_3 = Node("person", name="刘星")node_4 = Node("person", name="刘星")# ... 后续依次创建其他人物节点graph.create(node_1)graph.create(node_2)# ... 依次执行创建命令 关系是关联图谱的核心。以实际案例为例,创建人物之间的关系:
# 创造双向关系node_1 = Node("person", name="夏东海")node_2 = Node("person", name="刘梅")# 创建双向关系marriage = Relationship(node_1, "丈夫", node_2)divorce = Relationship(node_2, "前妻", node_1)graph.create(marriage)graph.create(divorce) 推荐使用create命令创建节点和关系,确保图结构的连通性:
node_1 = Node("person", name="夏东海")node_2 = Node("person", name="刘梅")# 创建双向关系marriage = Relationship(node_1, "丈夫", node_2)divorce = Relationship(node_2, "前妻", node_1)graph.create(node_1)graph.create(node_2)graph.create(marriage)graph.create(divorce) 使用Cypher语句查询节点:
results = graph.match("MATCH n RETURN n")# 或直接使用DataFrame展示节点信息import pandas as pddf = pd.DataFrame(results)print(df) 提取特定关系类型的信息:
results = graph.match("MATCH r RETURN r")# 或指定关系类型results = graph.match("MATCH r WHERE r.type='父亲'")print(results) 为节点添加信息:
node_1["性别"] = "男"graph.push(node_1)
给关系增加注释:
relation = Relationship(node_1, "丈夫", node_2)relation["结婚时间"] = "2020年"graph.push(relation)
删除无用节点或关系:
graph.delete(node_1)graph.delete(relation)
以上只是基础操作,后续内容将深入探讨如何利用模型算法进行犯罪团伙洞察和预警。关注我们后续文章,将有更多技术精髓解析。
友情提示:如果觉得有用,请长按issue支持开发者,持续输出更多高质量内容!
转载地址:http://ngkhz.baihongyu.com/