如何在py2neo中获取与cypher查询的关系类型? 我有这段代码可行。
def print_row(row):
a,b = row
print (a["name"] + " " + b["name"])
cypher.execute(graph_db, "START a=node(1) MATCH (a) - [] - (b) RETURN a,b", row_handler=print_row)
这样我就可以打印出连接到输入节点的节点(1)。
ROCK PAPER
ROCK SCISSORS
然而,我想要打印这些节点具有的关系类型。
例如:
ROCK BEATS SCISSORS
ROCK BEATEN_BY PAPER
我尝试(和失败)的内容如下:
def print_row(row):
a,b,r = row
print (a["name"] + r["type"] + b["name"])
cypher.execute(graph_db,"START a=node(1) MATCH (a) -[r]->(b) RETURN a,b,r", row_handler=print_row)
如何使用py2neo执行此操作?
答案 0 :(得分:2)
您需要使用Cypher TYPE功能(http://docs.neo4j.org/chunked/milestone/query-functions-scalar.html#functions-type)。您的代码将如下所示:
def print_row(row):
a, r_type, b = row
print(a["name"] + " " + r_type + " " + b["name"])
cypher.execute(graph_db, "START a=node(1) MATCH (a)-[r]->(b) RETURN a, TYPE(r), b", row_handler=print_row)