Подсчет отношений по типам в Neo4j - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть много типов отношений в базе данных.Как подсчитать отношения по каждому типу без использования apoc?

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

В 3.5.x также есть встроенная процедура, которую вы можете использовать для извлечения отсчетов, но для того, чтобы добраться до тех, кто вас интересует, требуется небольшая фильтрация:

CALL db.stats.retrieve('GRAPH COUNTS') YIELD data
UNWIND [data IN data.relationships WHERE NOT exists(data.startLabel) AND NOT exists(data.endLabel)] as relCount
RETURN coalesce(relCount.relationshipType, 'all') as relationshipType, relCount.count as count
0 голосов
/ 21 ноября 2018

Решение

MATCH ()-[relationship]->() 
RETURN TYPE(relationship) AS type, COUNT(relationship) AS amount
ORDER BY amount DESC;

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

Пример результата

╒══════════════╤════════╕
│"type"        │"amount"│
╞══════════════╪════════╡
│"BELONGS_TO"  │1234567 │
├──────────────┼────────┤
│"CONTAINS"    │432552  │
├──────────────┼────────┤
│"IS_PART_OF"  │947227  │
├──────────────┼────────┤
│"HOLDS"       │4       │
└──────────────┴────────┘
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...