Подтвердить что ты не робот

Neo4J получает node по ID

Я использую neo4j для одного из моих проектов, там node, который имеет только одно свойство как name, я хочу получить этот node с помощью ID, у него уже есть идентификатор, но когда я использую этот код

MATCH (s:SKILLS{ID:65110}) return s

Он ничего не возвращает, heres my node

enter image description here

Если запрос неверен, то как я могу его запросить с помощью номера

4b9b3361

Ответ 1

MATCH (s)
WHERE ID(s) = 65110
RETURN s

Функция ID получает идентификатор node или отношения. Это отличается от любого свойства, называемого ID или ID, которое вы создаете.

Ответ 2

Предупреждение. Следующий ответ неверен! START должен использоваться только при доступе к устаревшим индексам. Это отключено в Cypher 2.2 и выше.

Neo4j рекомендует использовать WHERE ID(n) = и, кроме того, утверждает, что он потребуется только один поиск (не сканирует каждый node, чтобы найти соответствующий идентификатор)

Сохраняя этот ответ, чтобы кто-либо не допустил ошибку.

Вы можете использовать WHERE ID(s) = 65110, но это проверит идентификатор каждого node в вашей базе данных.

Существует более эффективный способ сделать это:

START s=NODE(517) MATCH(s) RETURN s

Ответ 3

вы можете сказать:

(n:User) where id(n) >=20 RETURN n

это вернет все узлы типа User с идентификатором ссылки node более 20