neo4j

Neo4j与Python集成有何方法

小樊
81
2024-10-31 17:09:07
栏目: 编程语言

Neo4j是一个高性能的NoSQL图形数据库,它可以将结构化数据存储在网络上而不是表中

  1. 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"])
  1. 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驱动程序提供了更多高级功能和更好的性能。

0
看了该问题的人还看了