Обнаружение сообщества neo4j с 2 типами узлов - PullRequest
0 голосов
/ 07 октября 2018

Я новичок в neo4j.Я рассмотрел обнаружение сообщества на примере: play data_science с использованием отношений персонажей Game of Thrones.

В этом примере есть только один тип узла (Персонаж), и обнаружение сообщества выполняется с использованием распространения меток

CALL algo.labelPropagation(
  'MATCH (c:Character) RETURN id(c) as id',
  'MATCH (c:Character)-[rel]->(c2) RETURN id(c) as source, id(c2) as target, SUM(rel.weight) as weight',
  'OUTGOING',
  {graph:'cypher', partitionProperty: 'community'})

Можно ли выполнить обнаружение сообщества на графике, имеющем 2 типа узлов (скажем, «Персонаж» и «Место», где нам нужно сообщество символов и где символы связаны косвенно через места, которые у них есть)посетил)?

Я пробовал следующие запросы:

CALL algo.labelPropagation(
  'MATCH (c:Character) RETURN id(c) as id',
  'MATCH (c:Character)-[*1..2]->(p:Character) RETURN id(c) as source, id(p) as target',
  'OUTGOING',
  {graph:'cypher', partitionProperty: 'community'})

Он создает сообщества персонажей, но не так, как я ожидал, основываясь на просмотре графика с использованием

match (c:Character)-[r]->(l:Location) return *

Это правильный подход, которому нужно следовать?

Спасибо

...