Усреднение ошибок в Neo4j с использованием языка запросов Cypher - PullRequest
1 голос
/ 24 марта 2020

Здравствуйте, я пытаюсь усреднить значения узла "Response", которые являются числами (нравится рейтинг). Однако, когда я запрашиваю следующее:

MATCH (p:Panelist)<-[BY_PANELIST]-(r:Response)[ON_ATTRIBUTE]->(a:Attribute)-[OF_ATTRIBUTETYPE]->(at:AttributeType)
WHERE a.name = 'Liking'
AND at.name = 'Hedonic'
RETURN avg(r)

я получаю следующую ошибку:

Несоответствие типов: ожидаемое число с плавающей запятой, целое число или продолжительность, но был узел "RETURN avg (r)"

Что мне нужно изменить в ответе, чтобы сделать его числовым?

1 Ответ

0 голосов
/ 24 марта 2020

У вас есть многочисленные очевидные опечатки в вашем запросе, которые я постараюсь исправить в запросе ниже (после предположения о том, что вы хотели).

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

Например, если у узла Response есть свойство foo, которое вы хотите усреднить:

MATCH (:Panelist)<-[:BY_PANELIST]-(r:Response)-[:ON_ATTRIBUTE]->(a:Attribute)-[:OF_ATTRIBUTETYPE]->(at:AttributeType)
WHERE a.name = 'Liking'
  AND at.name = 'Hedonic'
RETURN AVG(r.foo) AS avg_foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...