Я хочу получить список отношений узлов, упорядоченный по свойствам отношений.Например, у меня есть две метки для моих узлов, которые являются Org и Company, между ними есть только один тип отношений - INVEST_IN.Отношение INVEST_IN имеет свойство «Series», которое может быть «Series A», «Series B», «Series C», поэтому график выглядит следующим образом:
merge (o:Org{name:'Google'})
merge (o2:Org{name:'Facebook'})
merge (c:Company{name:'Company1'})
merge (c2:Company{name:'Company2'})
merge (o)-[:INVEST_IN{series:'A'}]-(c)
merge (o)-[:INVEST_IN{series:'B'}]-(c)
merge (o)-[:INVEST_IN{series:'C'}]-(c)
merge (o)-[:INVEST_IN{series:'A'}]-(c2)
merge (o)-[:INVEST_IN{series:'B'}]-(c2)
merge (o2)-[:INVEST_IN{series:'C'}]-(c)
merge (o2)-[:INVEST_IN{series:'B'}]-(c2)
merge (o2)-[:INVEST_IN{series:'C'}]-(c2)
Так что мне нужен результат как:
Org order_series
Google [A, B, C]
Facebook [C, B]
Результат упорядочен по количеству серий отношений каждой организации.У Google есть 2 серии A, 2 серии B, 1 серия C, поэтому в результате получается [A, B, C] Facebook имеет 1 серию B и 2 серии C, поэтому получается [C, B]
match (o:Org)-[r:INVEST_IN]->(c:Company)
return o.name, r.series, count(r.series)
верните
и я не понимаю разницы между
match (o:Org)-[r:INVEST_IN]->(c:Company)
return o.name, r.series, count(r.series)
и
match (o:Org)-[r:INVEST_IN]->(c:Company)
with o, r, count(r.series) as cr
return o.name, r.series, cr
Они такие разные,Я не мог заказать отношения и собрать их.Может кто-нибудь показать мне, как мне это сделать?