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)

私は my_evaluator 関数を stackoverflow から借りました。

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 (most recent call last): File "C:\Users\firas\Desktop\ACO_neo4j.py", line 747, in traverser = G.traversal(). evaluator(my_evaluator).traverse(root) AttributeError: 'TraversalDescription' オブジェクトに属性 'evaluator' がありません

これで私を助けてくれませんか。ありがとう。

フィラス

4

1 に答える 1

0

Cypher クエリをいつでも同じように使用できます。

ここでの問題はevaluator、組み込み Python ドライバーである Neo4j の連中によって、関数がネイティブ ドライバーから借用される可能性があることです。これまでのところ、トラバーサルを使用したグラフのトラバースにはいくつかの制限がありneo4-rest-clientます。その下でRESTインターフェースを使用しているため、エバリュエーターを作成する唯一の方法は、Javascript関数、AFAIKを作成することです。

于 2013-03-10T18:01:05.190 に答える