параметры не читаются в py2neo

Я пытаюсь выполнить запрос по номеру узла и вернуть список свойств. Следующий запрос cypher работает в браузере neo4j, но когда я пытаюсь передать тот же запрос cypher через py2neo, я получаю:

"Expected a property container or number here, but got:91"

где «91» - это номер узла, по которому я запрашиваю.

отрывок из моего кода:

def neighbor_finder(a):
     try:                    
        graph_db = neo4j.GraphDatabaseService(url)                     

        query = neo4j.CypherQuery(graph_db,
         """CYPHER 2.0                         
            MATCH (n)-[r]-(m)            
            WHERE ID(n) = {t}
            WITH collect (Distinct m.size) as sizes, collect (Distinct m.weight) as weights, collect (Distinct m.color) as colors, collect (distinct n.label) as node_
            RETURN sizes, weights, colors, node_                                    
            """)                                                                                                                                     
        result = query.execute(t=a)

        for r in result:
            column = [str(item) for item in r.columns]
            value = [str(item) for item in r.values]                                             
            db_dict={k: v for k, v in zip(column, value)}
            for x, y in db_dict.items():
                print x, y

    except Exception as e:
        print e

person adam    schedule 02.05.2014    source источник


Ответы (2)


Можете ли вы предоставить подробную информацию о типе и значении аргумента a, который передается в эту функцию? Без него я не могу увидеть, что py2neo передает в параметры запроса.

person Nigel Small    schedule 03.05.2014
comment
Я передаю 91 в качестве аргумента - он должен иметь возможность читать в любом номере узла - person adam; 03.05.2014

аргумент «a» не читается, потому что он должен быть объявлен как целое число, cypher / py2neo в настоящее время читает его как строку.

person adam    schedule 26.06.2014