В моем приложении у меня есть классы/узлы, такие как:
многих лица
-активность -company
Я могу создать отношения между:
- лицами и компаниями
- компания и деятельность
- деятельность и личность - человек и человек
- компания и компания
So. Возможно, что конкретная деятельность связана с человеком и компанией. Компания в основном является корнем. Но нет реальной иерархии. Это больше похоже на структуру сетки.
(я знаю, как создать отношения и т.д. Я видел уже несколько учебников. :))
Теперь. Я хочу получить все непосредственно связанные отношения с узлами определенного узла. Я НЕ хочу получать связанные данные по типу отношений. Я хочу (когда это возможно) один запрос, который читает все отношения и соответствующие узлы.
И второе требование: когда я получил все связанные отношения и узлы, я хочу получить отношения (если они существуют) между этими узлами!
Так что было бы здорово решить эту проблему с помощью 2 запросов!
Любые идеи?
Спасибо!Neo4jClient Получить все Реферировано Узлы
2
A
ответ
0
Как о чем-то вроде
start company = node(2) match company-[?:employs]-> person return company, person
См docs.neo4j.org/chunked/snapshot/cypher-query-lang.html подробности.
В противном случае вы можете искать компании, лица и т. Д. В индексе, например.
start comp=node:Companies(name='Cocal Cola'), person=node:Persons(name='Bob') ...
Это то, что вы ищете?
Первый запрос выглядит хорошо! Запрос вроде этого «node (*) соответствует n- [r?] -> m return n, type (r), m" возвращает все подключенные узлы. Мне не нужно запрашивать для каждого типа отношений. И я вижу взаимосвязи между «подушками». Например: A и B подключены к C. И между этими подузлами (A, B) существует также связь. – user1401611
Теперь я просто не знаю, как реализовать это в neo4jclient. Поскольку узлы A, B и C и отношения являются разными классами. И когда я беру данные, я не буду бросать узлы в соответствующие классы/типы ....:/ – user1401611
не уверен, может быть, обратитесь к автору библиотеки? –