Neo4j py2neo中的密码查询

Neo4j py2neo中的密码查询,neo4j,py2neo,Neo4j,Py2neo,我开始使用py2neo,并尝试处理一些样本数据集。以下是简化的原始查询集: CREATE (Ann:person{name:'Ann',gender:'female'}) CREATE (Target:store{name:'Target',location:'New York'}) CREATE (Ann)-[:PURCHASED {amount:'100',status:'denied'}]->(Target) 在py2neo中,我尝试了以下方法: ann,=graph_db.cre

我开始使用py2neo,并尝试处理一些样本数据集。以下是简化的原始查询集:

CREATE (Ann:person{name:'Ann',gender:'female'})
CREATE (Target:store{name:'Target',location:'New York'})
CREATE (Ann)-[:PURCHASED {amount:'100',status:'denied'}]->(Target)
在py2neo中,我尝试了以下方法:

ann,=graph_db.create(node({name:'Ann',gender:'female'}))
ann.add_labels("person")

target,=graph_db.create(node({name:'Target',location:'New York'}))
target.add_labels("merchant")

(ann,"PURCHASED",target,{'amount':'100', 'status':'denied'})
此查询返回

(Node('http://localhost:7474/db/data/node/0'),
 'PURCHASED',
 Node('http://localhost:7474/db/data/node/3'),
 {'amount': '100', 'status': 'denied'})
我有很多不同的用户,所以我想找到所有被拒绝交易的用户

query_string="""
MATCH (customer:person)-[r:PURCHASED]->(merchant)
WHERE r.status = "denied"
RETURN customer.name as customer_name
"""
然后我试着执行它

result = neo4j.CypherQuery(graph_db, query_string).execute()

它返回一个空对象。我做错了什么?

我建议在创建节点或关系时,分别使用merge\u one和create\u unique,以确保不会创建任何重复项

例如:


你的查询没有什么问题。你试过在浏览器中运行相同的程序吗?结果是我在创建关系时忘记了放置rel。
x=graph.merge_one("Boy","Name",bname)

y=graph.merge_one("Girl","Name",gname)

likes=Relationship(x, "LIKES", y)

graph.create_unique(likes)