Процент узлов по меткам в Neo4j - PullRequest
0 голосов
/ 05 февраля 2019

Как я могу получить процент узлов по лабораториям в Neo4j?

Должно быть что-то вроде этого?:

MATCH (n)
WITH COUNT(*) As total
MATCH (n)
WHERE NOT (n)--()
WITH DISTINCT count(labels(n)) as c, labels(n) as l
RETURN (c/total)*100, l;

Заранее спасибо.

1 Ответ

0 голосов
/ 05 февраля 2019

Самый быстрый способ получить эту информацию - через хранилище счетчиков, и Процедуры APOC имеют самый простой способ получить доступ ко всему этому сразу:

CALL apoc.meta.stats() YIELD nodeCount, labels
WITH toFloat(nodeCount) as nodeCount, labels
UNWIND keys(labels) as label
RETURN label, labels[label] as count, round(labels[label] / nodeCount * 100) as percentage

Имейте в видучто, поскольку узлы могут быть с несколькими метками, ваши проценты, вероятно, превысят 100%.

...