Ответ 1
MATCH (s)
WHERE ID(s) = 65110
RETURN s
Функция ID
получает идентификатор node или отношения. Это отличается от любого свойства, называемого ID
или ID
, которое вы создаете.
Я использую neo4j для одного из моих проектов, там node, который имеет только одно свойство как name
, я хочу получить этот node с помощью ID, у него уже есть идентификатор, но когда я использую этот код
MATCH (s:SKILLS{ID:65110}) return s
Он ничего не возвращает, heres my node
Если запрос неверен, то как я могу его запросить с помощью номера
MATCH (s)
WHERE ID(s) = 65110
RETURN s
Функция ID
получает идентификатор node или отношения. Это отличается от любого свойства, называемого ID
или ID
, которое вы создаете.
Предупреждение. Следующий ответ неверен! START должен использоваться только при доступе к устаревшим индексам. Это отключено в Cypher 2.2 и выше.
Neo4j рекомендует использовать
WHERE ID(n) =
и, кроме того, утверждает, что он потребуется только один поиск (не сканирует каждый node, чтобы найти соответствующий идентификатор)Сохраняя этот ответ, чтобы кто-либо не допустил ошибку.
Вы можете использовать WHERE ID(s) = 65110
, но это проверит идентификатор каждого node в вашей базе данных.
Существует более эффективный способ сделать это:
START s=NODE(517) MATCH(s) RETURN s
вы можете сказать:
(n:User) where id(n) >=20 RETURN n
это вернет все узлы типа User с идентификатором ссылки node более 20