Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
02-22-2019 11:10 PM
Folks,
I was thinking to use mapParallel instead of UNWIND to run the query on a set in parallel using the system resource. This gave me the same execution time to return the result.
CALL apoc.cypher.mapParallel('Optional Match(:VideoFeed {pyid: _})<-[rr :HAS_VIEWED {skip:false}]-(:User) RETURN SUM(rr.views) as count', {}, ["a", "b", "c", "d","e"]) yield value RETURN value.count
UNWIND [{Idx:0, Id:"a"}, {Idx:1, Id:"b"}, {Idx:2, Id:"c"}, {Idx:3, Id:"d"}, {Idx:4, Id:"e"}] as row
Optional Match(:VideoFeed {pyid: row.Id})<-[rr :HAS_VIEWED {skip:false}]-(:User)
WITH row, SUM(rr.views) as count
RETURN count ORDER BY row.Id
Is this expected? Does UNWIND behave the same as mapParallel?
Also is the return order of mapParallel guaranteed to be the same as the input set?
For UNWIND, the order comes different. So I need to map with an index to make sure it is returned in the same way.
-Karthik
All the sessions of the conference are now available online