Связать узлы вместе

У меня есть база данных на основе Graph, такая как Neo4j или Giraph, скажем, с существующими 50 вершинами и некоторыми ребрами, связывающими их вместе.

Теперь я хочу ввести новую вершину - X в график. Однако Vertex необходимо запустить алгоритм подобия для всех других узлов. Узел/узлы, с которыми показатель сходства будет самым высоким, сформируют новые ребра графа.

Мой вопрос - 1 - Возможно ли это сделать в Giraph/Neo4j? 2 - Любая справочная ссылка, которую вы можете предоставить для реализации этого?

Спасибо, Маниш


person myloginid    schedule 29.04.2015    source источник


Ответы (1)


Да, это возможно, например. представьте, что ваши узлы имеют свойство числового значения:

MATCH (n:Label)
WITH abs(n.value-{new_value}) as delta,n
ORDER BY delta DESC LIMIT 1
CREATE (m:Label {value:{new_value})-[:LINKED]->(n)
person Michael Hunger    schedule 01.05.2015
comment
Просто дополнительный вопрос. При вычислении abs(n.value-{new_value}) можем ли мы использовать код Python или R для сравнения двух значений и реализации таких функций, как алгоритмы Левенштейна или Хэмминга. - person myloginid; 04.05.2015