赞
踩
py2neo
Neo4j 是一个基于图形结构的 NoSQL 数据库,它允许你使用图的形式存储和查询数据。图数据库使用节点(Node)、关系(Relationship)和属性(Property)来表示数据,这种数据模型特别适合存储和查询复杂的关系和层级结构。
Docker 是一种便捷的容器化技术,可以快速部署和管理应用程序。使用 Docker 安装 Neo4j 十分方便。
docker run \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-d \
neo4j:latest
你也可以从 Neo4j 官方网站直接下载并安装 Neo4j Community Edition。
neo4j
脚本启动 Neo4j 服务器。# Linux/Mac
./bin/neo4j start
# Windows
.\bin\neo4j.bat start
启动 Neo4j 后,可以通过浏览器访问 Neo4j 浏览器界面,默认地址是 http://localhost:7474
。初始用户名和密码都是 neo4j
,第一次登录后需要重置密码。
Cypher 是 Neo4j 的查询语言,类似于 SQL,但更适合图数据操作。以下是一些基本操作示例:
CREATE (n:Person {name: 'Alice', age: 30})
CREATE (n:Person {name: 'Bob', age: 25})
创建关系:
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[:KNOWS]->(b)
MATCH (a:Person)-[:KNOWS]->(b:Person)
RETURN a.name, b.name
更新节点属性:
MATCH (n:Person {name: 'Alice'})
SET n.age = 31
RETURN n
删除节点和关系:
MATCH (n:Person {name: 'Alice'})
DETACH DELETE n
使用 py2neo
库可以在 Python 中与 Neo4j 交互。
py2neo
pip install py2neo
from py2neo import Graph, Node, Relationship # 连接到 Neo4j 数据库 graph = Graph("bolt://localhost:7687", auth=("neo4j", "your_password")) # 清空现有图谱 graph.delete_all() # 创建节点 alice = Node("Person", name="Alice", age=30) bob = Node("Person", name="Bob", age=25) # 添加节点到图谱 graph.create(alice) graph.create(bob) # 创建关系 knows = Relationship(alice, "KNOWS", bob) # 添加关系到图谱 graph.create(knows) # 查询节点和关系 query = """ MATCH (a:Person)-[:KNOWS]->(b:Person) RETURN a.name AS Alice, b.name AS Bob """ results = graph.run(query) for record in results: print(f"Alice knows {record['Bob']}")
Neo4j 提供了许多插件和扩展来增强功能,如 APOC(Awesome Procedures On Cypher)库,支持各种实用的存储过程和函数。
安装 APOC 插件:
plugins
文件夹中。neo4j.conf
文件中启用 APOC:dbms.security.procedures.unrestricted=apoc.*
CREATE INDEX FOR (n:Person) ON (n.name)
dbms.memory.pagecache.size=2G
neo4j-admin import
工具批量导入大量数据。Neo4j 是一个功能强大的图数据库,适用于处理复杂关系和大规模数据。通过图结构存储数据,结合 Cypher 查询语言,可以高效地进行复杂查询。Neo4j 在社交网络、推荐系统、欺诈检测、知识图谱等场景中有广泛的应用。希望这份指南对你理解和使用 Neo4j 有帮助,如果有进一步的问题,请随时提问。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。