Как найти отключенные узлы на neo4j с помощью Cypher? - PullRequest
4 голосов
/ 29 декабря 2011

Я играю с neo4j и заметил, что все запросы Cypher нуждаются в начальной точке в предложении START. Мне было интересно, как я могу найти все отключенные узлы, используя Cypher?

спасибо

Ответы [ 4 ]

7 голосов
/ 30 декабря 2011

Если все ваши узлы проиндексированы (например, с помощью автоматической индексации), вы можете использовать запрос индекса в качестве начальной точки, а затем найти те узлы, которые не имеют исходящих отношений.

start n=node:node_auto_index("id:*")
match n-[r?]->m
where r is null
return n

В настоящее время я предпочел бы использовать:

start n=node:node_auto_index("id:*")
where not (n-->m)
return n
2 голосов
/ 09 апреля 2012

Я использую что-то вроде этого, но только когда я использую spring-data-neo4j:

    start n = node:__types__(className="com.app.entity.Model")
    // match, where...
    return n

Надеюсь, это поможет!

0 голосов
/ 02 июля 2018

С Neo4j v3.0 + я просто использую;

MATCH (n)
WHERE NOT (n)--()
RETURN n

(или их варианты). Запрос достаточно быстрый.

0 голосов
/ 29 декабря 2011

Вы не можете. Графические глобальные запросы невозможны с сегодняшним Cypher.

...