Neo4j - свойство как переменная для возврата

Я использую драйвер python для neo4j (neo4j.v1) и пытаюсь написать обобщенную функцию, которая получает уникальный идентификатор узла и свойство и возвращает значение свойства этого узла с уникальным идентификатором.

Я попытался использовать следующий код без успеха:

def prop_by_node_id(tx, node_id, prop):
    prop = "s." + prop
    result = tx.run("MATCH (s) WHERE s.id = $id return $prop", id=node_id, prop=prop)

Я нашел решение в APOC и не смог его найти. Спасибо

1 ответ

Решение

Метки, типы отношений и свойства не могут быть динамическими в запросе шифра. Так что вам нужно сгенерировать ваш запрос шифра в Python.

Более того, ваш запрос не будет производительным, потому что на узле отсутствует метка s, так что вы будете делать all node scan это действительно плохо.

Другие вопросы по тегам