Обнаружение отношений и меток узлов в существующем наборе данных Neo4j - PullRequest
0 голосов
/ 16 апреля 2020

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

Поддерживает ли Cypher запросы, которые могут отвечать на следующие вопросы?

  1. Список всех отношений
  2. Для каждого отношения типы узлов списка находятся с обеих сторон
  3. Для заданных узлов перечислите существующие на них отношения

Ответы [ 2 ]

1 голос
/ 18 апреля 2020

Большая часть этих данных хранится в хранилище счетчиков. Хотя вы можете создавать запросы Cypher, которые могут воспользоваться этим, лучший способ получить представление обо всей этой информации - сбросить данные хранилища счетчиков.

Если у вас установлены APO C Процедуры, вы можете используйте:

CALL apoc.meta.stats()

Если нет, то вы можете использовать:

CALL db.stats.retrieve('GRAPH COUNTS')

Вы также можете увидеть графическую версию меток и отношений на вашем графике с помощью:

CALL apoc.meta.graph()

или, если без APO C, то:

CALL db.schema.visualization()
1 голос
/ 16 апреля 2020

Функция TYPE () даст вам тип отношения. Чтобы увидеть количество связей по типу, выполните этот запрос.

MATCH ()-[r]->()
RETURN TYPE(r) AS relationshipType, COUNT(*) AS relationshipCount

Функция LABELS () выдаст вам метки на узле. Чтобы просмотреть типы узлов на каждой стороне отношения, выполните этот запрос.

MATCH (s)-[r]->(e)
RETURN labels(s) AS startLabels, 
TYPE(r) AS relationshipType,
LABELS(e) AS endLabels,
COUNT(*) AS relationshipCount

Чтобы просмотреть количество типов отношений, подключенных к узлам с данной меткой, выполните этот запрос, подставив имя своей метки для "myLabel."

MATCH (s:myLabel)-[r]-()
RETURN TYPE(r) AS relationshipType,
COUNT(*) AS relationshipCount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...