diff --git a/demos/guru_scripts/docker/tutorial/4.x/script/q8.gsql b/demos/guru_scripts/docker/tutorial/4.x/script/q8.gsql new file mode 100644 index 00000000..669f9bfc --- /dev/null +++ b/demos/guru_scripts/docker/tutorial/4.x/script/q8.gsql @@ -0,0 +1,33 @@ +USE GRAPH financialGraph + +CREATE OR REPLACE DISTRIBUTED QUERY q8 () SYNTAX V3 { + + SumAccum @@edgeCnt = 0; + MaxAccum @maxAmount = 0; + MinAccum @minAmount = 100000; + + MaxAccum @@maxSenderAmount = 0; + MinAccum @@minReceiverAmount = 100000; + SumAccum @@bCnt = 0; + SumAccum @@aCnt = 0; + + S = SELECT b + FROM (a:Account) - [e:transfer] -> (b:Account) + WHERE NOT a.isBlocked + ACCUM a.@maxAmount += e.amount, //sender max amount + b.@minAmount += e.amount, //receiver min amount + @@edgeCnt +=1 + POST-ACCUM (a) @@maxSenderAmount += a.@maxAmount + POST-ACCUM (b) @@minReceiverAmount += b.@minAmount + POST-ACCUM (a) @@aCnt +=1 + POST-ACCUM (b) @@bCnt +=1 ; + + PRINT @@maxSenderAmount, @@minReceiverAmount; + PRINT @@edgeCnt, @@aCnt, @@bCnt; + +} + +INSTALL QUERY q8 + + +RUN QUERY q8()