Как найти начало ряда связанных узлов в Neo4j с помощью Cypher?

#neo4j #cypher

#neo4j #cypher

Вопрос:

Я все еще новичок в Neo4j, и я думал, что это будет действительно простая задача, но после некоторых серьезных усилий я понял, что это, вероятно, не так просто (или я просто использовал неправильные ключевые слова …)

Я пытаюсь найти начало ряда узлов, связанных с определенным отношением. Связь основана на свойстве timestamp каждого узла. Вот моя первая попытка запроса:

 MATCH (n1)-[:RELATIONSHIP*]->()
ORDER BY n1.timestamp
RETURN n1
 

Затем я нашел startNode функцию и попробовал:

 MATCH ()-[rel:RELATIONSHIP]->()
RETURN startNode(rel)
 

Но это не всегда возвращает начальные узлы. Иногда он возвращает некоторые узлы в середине. Я хотел бы найти все заголовки и соединить их с узлами некоторых других меток. Спасибо!

Ответ №1:

Оказалось, что ответ чрезвычайно прост…спасибо @tomasi из Neo4j Slack Group.

Здесь на случай, если кому-то это нужно:

 MATCH (n:Label)
WHERE NOT ()-[:RELATIONSHIP]->(n)
RETURN n