赞
踩
Neo4j是一种图形数据库管理系统,它使用图形模型来存储和处理数据。它被广泛用于各种领域,包括社交网络、网络安全、生命科学、金融服务和知识管理。
总之,Neo4j是一种强大的图形数据库管理系统,它使用图形模型来存储和处理数据。它提供了丰富的查询语言、ACID事务和许多高级功能,是处理复杂数据的理想选择。
下载链接:https://www.oracle.com/java/technologies/downloads/: 之后直接安装即可。
下载链接:https://neo4j.com/download-center/#community: 下载之后直接解压即可,无需安装。
安装:连接Neo4j图数据库需要使用py2neo库。Py2neo是一个Python库,提供了一个简单的接口来连接Neo4j图数据库,并使用Python代码执行各种操作。
from py2neo import Graph, Node, Relationship, NodeMatcher # 连接数据库 graph = Graph("bolt://localhost:7687", auth=("neo4j", "password")) # 创建一个Person节点 person = Node("Person", name="Alice", age=30) # 将节点添加到数据库 graph.create(person) # 创建一个Movie节点 movie = Node("Movie", title="The Matrix", released=1999) # 将节点添加到数据库 graph.create(movie) # 创建一个Director节点 director = Node("Director", name="Lana Wachowski") # 将节点添加到数据库 graph.create(director) # 添加节点之间的关系 graph.create(Relationship(person, "ACTED_IN", movie, roles=["Trinity"])) graph.create(Relationship(director, "DIRECTED", movie)) # 查询节点 matcher = NodeMatcher(graph) alice = matcher.match("Person", name="Alice").first() matrix = matcher.match("Movie", title="The Matrix").first() print(alice) print(matrix) # 查询关系 query = "MATCH (p:Person)-[r:ACTED_IN]->(m:Movie) WHERE m.title = 'The Matrix' RETURN p, r, m" results = graph.run(query) for record in results: print(record) # 更新节点 alice['name'] = 'Alice Smith' graph.push(alice) # 删除节点和关系 graph.delete(alice) graph.delete(matrix) graph.delete(director) # 删除已有的内容 graph.delete_all()
这个示例代码演示了以下操作:
需要注意的是,上面的示例代码只是一个简单的入门示例,实际使用中可能需要进行更多的操作和查询。如果需要更多关于py2neo的信息和文档,请访问官方文档:https://py2neo.org/
安装服务:bin\neo4j install-service 卸载服务:bin\neo4j uninstall-service 启动Neo4j服务器: neo4j start 停止Neo4j服务器: neo4j stop 打开Neo4j控制台: cypher-shell 创建节点: CREATE (:Label {property: value}) 创建关系: MATCH (a:Label1), (b:Label2) WHERE a.property = value1 AND b.property = value2 CREATE (a)-[:RELATIONSHIP]->(b) 查询节点: MATCH (n:Label) WHERE n.property = value RETURN n 查询关系: MATCH (a:Label1)-[r:RELATIONSHIP]->(b:Label2) WHERE a.property = value1 AND b.property = value2 RETURN r 更新节点: MATCH (n:Label {property: oldValue}) SET n.property = newValue 删除节点: MATCH (n:Label {property: value}) DELETE n 删除关系: MATCH (a:Label1)-[r:RELATIONSHIP]->(b:Label2) WHERE a.property = value1 AND b.property = value2 DELETE r 显示数据库信息: CALL dbms.showCurrentUser() 显示当前数据库中所有标签: CALL db.labels() 显示当前数据库中所有关系类型: CALL db.relationshipTypes() 显示当前数据库中所有节点: MATCH (n) RETURN n 显示当前数据库中所有关系: MATCH ()-[r]->() RETURN r 显示节点的所有属性: MATCH (n:Label {property: value}) RETURN properties(n) 显示关系的所有属性: MATCH (a:Label1)-[r:RELATIONSHIP]->(b:Label2) WHERE a.property = value1 AND b.property = value2 RETURN properties(r) 显示节点的所有标签: MATCH (n:Label {property: value}) RETURN labels(n) 显示节点的所有关系类型: MATCH (a:Label1)-[r]->(b:Label2) WHERE a.property = value1 AND b.property = value2 RETURN type(r) 计算节点数量: MATCH (n:Label) RETURN count(n) 计算关系数量: MATCH ()-[r]->() RETURN count(r) 按属性值排序显示节点: MATCH (n:Label) RETURN n ORDER BY n.property ASC/DESC 按属性值排序显示关系: MATCH ()-[r]->() RETURN r ORDER BY r.property ASC/DESC 显示节点度数(入度和出度): MATCH (n:Label {property: value}) RETURN size((n)-[:RELATIONSHIP]->()), size(()-[:RELATIONSHIP]->(n)) 执行聚合函数: MATCH (n:Label) RETURN sum(n.property), avg(n.property), min(n.property), max(n.property) 使用WHERE子句过滤查询结果: MATCH (n:Label) WHERE n.property >= value RETURN n 使用LIMIT子句限制查询结果数量: MATCH (n:Label) RETURN n LIMIT value 使用SKIP子句跳过查询结果的前几行: MATCH (n:Label) RETURN n SKIP value 使用WITH子句进行结果分组和传递: MATCH (a:Label1)-[:RELATIONSHIP]->(b:Label2)-[:RELATIONSHIP]->(c:Label3) WITH a, c, count(*) as count WHERE count > value RETURN a.property, c.property
# 执行build_medicalgraph.py时发生错误。
# 该错误为graph_name为空时的问题, 即在连接时需要指定name属性,则报错解除。
self.g = Graph("http://localhost:7474/browser/", auth=("user", "password"), name='neo4j')
# 在open的函数最后加上编码encoding='utf-8'即可,错误解决!
for data in open(self.data_path, encoding='utf-8'):
# 初始代码如下:
self.g = Graph(
# host="", # neo4j 搭载服务器的ip地址,ifconfig可获取到
http_port=, # neo4j 服务器监听的端口号
user="", # 数据库user name,如果没有更改过,应该是neo4j
pasword="")
# 只要将上边代码格式更改为:
self.g = Graph("http://localhost:7474/browser/", auth=("user", "password"), name='neo4j')
即可。
# 也可以直接安装旧版本
pip uninstall py2neo
pip install py2neo==4.3.0
# 包的名字改了,改为
pip install pyahocorasick
参考文章:
关于使用Py2neo连接Neo4j图数据库出现“ValueError: The following settings are not supported”报错的解决方案.
github开源项目:医疗知识图谱构建.
超详细neo4j安装教程.
图数据库—Neo4j使用指南.
图数据库neo4j的安装与基本使用(一).
Py2neo 手册.
又是一个周五,想出去玩。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。