Я довольно новичок в neo4j, и на самом деле это мой первый вопрос о переполнении стека, поэтому, пожалуйста, будьте осторожны :)
Есть ли элегантное решение, как сгруппировать подграфы в новые узлы и использовать эти узлы в качестве гражданина первого класса?в то время как все еще можно расширить эти узлы в их прежнюю структуру подграфа?
Справочная информация: Моя цель состоит в создании некой системы типов на графе:
У меня есть определенные подграфы в моем графе neo4j-базы данных, которые удовлетворяют определенному общему шаблону (комбинации определенных тегов, свойств и ребер).Давайте назовем их {s1, s2, s3, s4}.
Теперь я хочу сгруппировать эти подграфы с этим определенным шаблоном (назовем его p1) в новые узлы как экземпляры нового типа t1.Я хочу тогда иметь возможность запрашивать узлы типа T1.Ребра этих новых узлов будут тогда первыми ребрами, соединяющими подграф с остальной частью графа.Тем не менее я хочу иметь возможность расширить эти узлы в их прежнюю структуру подграфа.Также я хочу иметь возможность сгруппировать другой подграф s5 (возможно, даже содержащий некоторые части s1), который формирует шаблон p2, в новый узел типов t2.
Тогда было бы также неплохо сгруппировать t1 и t2в тип t3 и т. д. для построения иерархии типов абстрактных типов данных.
Мое решение до сих пор состояло бы в создании "узла контейнера", который указал ребра для моих подграфов-узлов, а затем подключил эти контейнерыузлы таким же образом, чтобы "тип узлов".Затем подключите узлы типов к иерархии типов.Но мне кажется, это довольно хакерский способ сделать это.Может быть, есть лучший подход.
Существует ли встроенное решение или элегантный способ для достижения этой функциональности (желательно в neo4j, но также и в других базах данных графов)?