Привет, я хочу отобразить график направленного усилия, используя D3. Я пытаюсь смоделировать его с помощью Neo4j.
Требования - украсить "Темы" и "Ребра" "Вложениями". Темы и края отображаются на графике D3. Вложения в подробном представлении Topic или Edge.
Это концептуальная модель (темы и ребра показаны на D3):
(attach1) -> (topic1) --edge12--> (topic2) <--edge23-- (topic3) <- (attach2)
| | | |
(attach3) (attach4) (attach4) (attach5)
Самое простое, что не работает:
Topics -> Nodes
Edges -> Relationships
Attachments -> Nodes
Neo4j не имеет «гиперребер», так что вместо этого:
Topics -> Nodes
Edges -> Nodes that relate only to Topics
Attachments -> Nodes that relate to Topics and Edges
Это шатко, но работоспособно. Альтернативой может быть создание свойства Edge с идентификаторами вложений, но это кажется беспорядочным.
Следующим требованием является выполнение «многотематического поиска», который представляет собой список кратчайших путей между 2+ темами, но только по темам и краям.
Я нашел эти < href="https://stackoverflow.com/questions/23239167/finding-shortest-path-that-excludes-particular-edges">вопросы, которые я не совсем понимаю, но, похоже, объясняют, как для фильтрации результатов. Они не кажутся очень эффективными для OLAP.
Есть ли лучший способ смоделировать этот ориентированный граф в Neo4j?
Есть ли лучший способ сделать отфильтрованный поиск по нескольким узлам?
Спасибо!
FOR
, и мой запрос не указывает, что это тип для соответствия. Поэтому вложения никогда не будут включены в кратчайшие пути. 29.05.2015TO_EDGE
сFROM_EDGE
). 29.09.2015