Cypher строго не поддерживает операцию PIVOT, хотя операция WITH может сделать точно такой же эффект, используя карту.
Единственная причина, по которой я могу придумать создание (псевдо) динамической карты для сводной области, - это использовать fromPairs из APOC.
Вот пример того, что я имею в виду, с указанием пола, чтобы показать, что он должен функционировать точно так же, как PIVOT
MATCH (s:Student)
WITH s.city as city, AVG(s.score) as score, s.gender as gender
WITH gender, COLLECT([city, score]) as key_value_pair_list
// Create city_name:score map for pivot
WITH gender, apoc.map.fromPairs(key_value_pair_list) YIELD value
// Convert map values to column by key
RETURN gender, value['New York'] as 'New York', value['Huston'] as 'Huston'