簡體   English   中英

我們可以使用 Python 包 py2neo 在 Neo4j 中創建一個具有字典屬性的節點嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM