Я играю с neo4j и заметил, что все запросы Cypher нуждаются в отправной точке в предложении START
. Мне было интересно, как я могу найти все отключенные узлы с помощью Cypher?Как найти отсоединенные узлы на neo4j с Cypher?
спасибо
Я играю с neo4j и заметил, что все запросы Cypher нуждаются в отправной точке в предложении START
. Мне было интересно, как я могу найти все отключенные узлы с помощью Cypher?Как найти отсоединенные узлы на neo4j с Cypher?
спасибо
Если все ваши узлы проиндексированы (например, посредством автоматической индексации), вы можете использовать индексный запрос в качестве начальной точки, а затем найти те узлы, у которых нет исходящих отношений.
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
Вы не можете. Графические глобальные запросы невозможны с сегодняшним Cypher.
они теперь (Neo4j 1.7) с начальным n = node (*) соответствуют ... где ... return n –
этот ответ получает downvoted в конце концов, но он был точным в момент публикации, как кажется –
я использую что-то вроде этого, но только тогда, когда я использую пружинный данных-Neo4j:
start n = node:__types__(className="com.app.entity.Model")
// match, where...
return n
Надежда, что помогает!
в любом случае индексировать задним числом? – Dan
Да, но вам нужно будет создать нужные индексы, затем пройти через все узлы и добавить их там, где это необходимо. В native java api вы должны использовать [GlobalGraphOperations.getAllNodes()] (http://components.neo4j.org/neo4j/1.6.M02/apidocs/org/neo4j/tooling/GlobalGraphOperations.html#getAllNodes()) – akollegger
Боюсь, я могу использовать только REST или webadmin ... есть ли надежда? – Dan