1

如何在 py2neo 中获取与密码查询的关系类型?我有这段代码有效。

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 做到这一点?

4

1 回答 1

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)
于 2013-07-17T21:34:19.897 回答