2013-01-21 6 views
1

임 I를 실행하려고 할 때 제가AttributeError는 'TraversalDescription'개체에는 속성 '평가자'없다

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 

이다 유래로부터 my_evaluator 기능을 차용

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) 

사용 그래프 호랑이 용기하려고 코드 추적 코드 (가장 최근에 마지막으로 호출) : 파일 "C : \ Users \ firas \ Desktop \ ACO_neo4j.py", 줄 747, 에 traverser = G.traversal(). 평가자 (my_evaluator) .tr averse (루트) AttributeError : 'TraversalDescription'객체에 '평가자'속성이 없습니다.

이 문제를 해결할 수 있습니까? 감사.

피 라스

답변

0

당신은 항상 동일로에 사이퍼 쿼리를 사용할 수 있습니다.

여기서 문제는 evaluator 함수가 네이티브 드라이버에서 임베디드 Python 드라이버 인 Neo4j 녀석에게 빌려온 것입니다. 지금까지 트래버스를 사용하여 그래프를 가로 지르는 데는 몇 가지 제한 사항이 있습니다 (neo4-rest-client). 아래에는 REST 인터페이스가 사용되므로 Evaluator를 작성하는 유일한 방법은 Javascript 함수 AFAIK를 작성하는 것입니다.

관련 문제