Neo4j是一个高性能的NoSQL图形数据库,它可以将结构化数据存储在网络上而不是表中
- Py2neo:Py2neo是一个用于访问Neo4j的Python库,它提供了简单的API来创建、查询和更新Neo4j数据库。Py2neo支持Cypher查询语言,这是Neo4j的默认查询语言。要使用Py2neo,首先需要安装它:
pip install py2neo
然后,你可以使用以下代码示例连接到Neo4j数据库并执行一些基本操作:
from py2neo import Graph, Node, Relationship # 连接到Neo4j数据库 graph = Graph("http://localhost:7474", username="neo4j", password="your_password") # 创建节点 person = Node("Person", name="Alice") graph.create(person) # 创建关系 graph.create(Relationship(person, "KNOWS", Node(name="Bob"))) # 查询节点和关系 for node in graph.nodes.match("Person"): print(node["name"]) for rel in graph.relationships.match("KNOWS"): print(rel.start_node["name"], rel.end_node["name"])
- Neo4j驱动程序:Neo4j官方提供了一个Python驱动程序,它提供了更高级的功能和更好的性能。要使用Neo4j驱动程序,首先需要安装它:
pip install neo4j
然后,你可以使用以下代码示例连接到Neo4j数据库并执行一些基本操作:
from neo4j import GraphDatabase # 连接到Neo4j数据库 uri = "bolt://localhost:7687" user = "neo4j" password = "your_password" driver = GraphDatabase.driver(uri, auth=(user, password)) def create_person(tx, name): query = "CREATE (p:Person {name: $name}) RETURN p" result = tx.run(query, name=name) return result.single()[0] def main(): with driver.session() as session: person = session.read_transaction(create_person, "Alice") print(person["name"]) if __name__ == "__main__": main()
这两个库都可以满足你的需求,具体选择哪个库取决于你的项目需求和个人喜好。Py2neo的API更简单,易于上手,而Neo4j驱动程序提供了更多高级功能和更好的性能。