[英]Can we create a node in Neo4j having properties as dictionary using Python package py2neo?
我想使用 py2neo 創建一個在字典中具有屬性的節點。
query = CREATE (movie:Movie {'a': 'b', 'c': 'd'}) RETURN movie
graph_db.cypher.execute(query)
然后它給出了一個錯誤。
所以我需要將節點的屬性更改為{a: 'b', c: 'd'}
。
有沒有辦法使用 py2neo 做到這一點? 或者有什么替代方法?
謝謝
您可以使用查詢參數來創建節點,如下所述: http : //neo4j.com/docs/stable/cypher-parameters.html
parameter_dict = {'params': {'a': 'b', 'c': 'd'}}
query = "CREATE (movie:Movie {params}) RETURN movie"
graph.cypher.execute(query, parameters=parameter_dict)
以下是py2neo v3代碼,用於使用字典創建具有 'a' 和 'b'屬性的電影節點
import py2neo
from py2neo import Graph, Node
def authenticateAndConnect():
# Authenticate
py2neo.authenticate('localhost:7474', '<yourUserName>', '<yourPassword>')
# Connect (your folder names may be different)
return Graph('http://localhost:7474/default.graphdb/data/')
def foo():
graph = authenticateAndConnect()
# Define a list of labels
labels = [ 'Movie' ]
# Define a dictionary
properties = {'a': 'b', 'c':'d'}
node = Node(*labels, **properties)
graph.create(node)
if __name__ == '__main__':
foo()
這將適用於py2neo
包(當前版本 2021.0.1)
from py2neo import Graph
graph_db = Graph()
query = "CREATE (movie:Movie $props) RETURN movie"
graph_db.run(query, props={'a': 'b', 'c': 'd'})
以及官方的neo4j
包
from neo4j import GraphDatabase
driver = GraphDatabase.driver()
graph_db = driver.session()
query = "CREATE (movie:Movie $props) RETURN movie"
graph_db.run(query, props={'a': 'b', 'c': 'd'})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.