1

我试图遍历一个图使用

from neo4jrestclient.client import GraphDatabase
G = GraphDatabase("http://localhost:7474/db/data/")
# G is generated here in my program but for space purpose I removed these steps
traverser = G.traversal().evaluator(my_evaluator).traverse(root)

我从stackoverflow借了my_evaluator函数,它是

def my_evaluator(path):
    # Filter on end node property
    if path.end['value'] == 105:
        return Evaluation.INCLUDE_AND_CONTINUE
    # Filter on last relationship type
    if path.last_relationship.type.name() == 'edge':
        return Evaluation.INCLUDE_AND_PRUNE
    # You can do even more complex things here, like subtraversals.
    return Evaluation.EXCLUDE_AND_CONTINUE

当我尝试执行代码时,我收到以下错误消息: Traceback(最近一次调用最后一次):文件“C:\Users\firas\Desktop\ACO_neo4j.py”,第 747 行,在 traverser = G.traversal() 中。 evaluator(my_evaluator).traverse(root) AttributeError: 'TraversalDescription' 对象没有属性 'evaluator'

你能帮我吗?谢谢。

菲拉斯

4

1 回答 1

0

您始终可以使用 Cypher 查询来相同。

这里的问题是该evaluator功能可能是 Neo4j 家伙从本机驱动程序中借用的,嵌入式 Python 驱动程序。到目前为止,使用neo4-rest-client遍历来遍历图有一些限制。因为在它下面使用的是 REST 接口,所以编写评估器的唯一方法是编写一个 Javascript 函数,AFAIK。

于 2013-03-10T18:01:05.190 回答