2017-12-19 9 views
0

を返すために、COLLECTでCOUNT:のNeo4j、サイファー使用すると、私はこのようなJSONオブジェクトを返すようにしようとしているJSON

{ "rels": [ 
    { 
     "rel": "type_1", 
     "foos": 15 
    }, 
    { 
     "rel": "type_2", 
     "foos": 2073 
    }, 
    { 
     "rel": "type_3", 
     "foos": 23 
    } ] } 

クエリを使用しました。

MATCH (n:bar)<-[r:REL]-(n1:foo) 
WHERE n.bar_id='1234567890' 
RETURN collect({rel: r.rel_status, foos: count(r.rel_status)}) AS rels 

ここで、REL関係にはrel_statusというプロパティがあります。

ERROR: Can't use aggregate functions inside of aggregate functions.

答えて

2

あなたが許可されていないcollect()、内部のcount()を使用しようとしているためです。あなたは一度にこれらの一歩をする必要があります。

MATCH (n:bar)<-[r:REL]-(:foo) 
WHERE n.bar_id='1234567890' 
WITH r.rel_status as rel, count(r) as foos 
RETURN collect({rel: rel, foos: foos}) AS rels 
+0

正確に必要なもの。ありがとうございました! – jwebb

関連する問題