Neo4j - получить график отношений после агрегации - PullRequest
0 голосов
/ 16 мая 2019

Я новичок в CQL, и я попробовал несколько способов заставить график работать для моего запроса в браузере. Когда я запускаю запрос, приведенный ниже, я могу успешно получить агрегированную таблицу, но не график с узлами и отношениями для p и g. Я перепробовал много синтаксиса «ВОЗВРАТ», он не отображается. Как мне визуализировать имя человека и название компании?

Рабочий стол:

MATCH (p:person_name)-[m:WORKS_AT]->(g:company_name)
with p,count(g) as cnt
where cnt > 1
RETURN p.name,cnt
ORDER BY cnt DESC

Попробовал:

MATCH (p:person_name)-[m:WORKS_AT]->(g:company_name)
with p,count(g) as cnt
where cnt > 1
RETURN type(m) # Neo.ClientError.Statement.SyntaxError: Variable `m` not defined 

RETURN p.name,cnt # shows table 

RETURN p,g # Neo.ClientError.Statement.SyntaxError: Variable `g` not defined

RETURN (p)-[m]->(g) # Neo.ClientError.Statement.SyntaxError: Variable `m`

RETURN (p)-[r]->(g) # Neo.ClientError.Statement.SyntaxError: Variable `r`

RETURN * # gives only person_name nodes

Ответы [ 2 ]

0 голосов
/ 17 мая 2019
MATCH (p:person_name)-[m:WORKS_AT]->(g:company_name)
with p,count(g) as cnt, g
where cnt > 1
RETURN p.name, g 
ORDER BY cnt DESC
0 голосов
/ 16 мая 2019

Визуализатор будет показывать только возвращенные узлы, отношения и пути.Вы возвращаете свойство узла, а не сам узел, поэтому в визуализаторе ничего не будет отображаться.

Вместо этого можно попробовать этот запрос, который фильтрует: узлы person_name по степени: WORKS_AT взаимосвязей,а затем соответствует шаблону и возвращает найденные узлы и отношения:

MATCH (p:person_name)
WITH p, size((p)-[:WORKS_AT]->()) as degree
WHERE degree > 1
MATCH (p)-[m:WORKS_AT]->(g:company_name)
RETURN p, degree, m, g
ORDER BY degree DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...