apoc.export.arrow.stream.query

This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime.

Details

Syntax

apoc.export.arrow.stream.query(query [, config ]) :: (value)

Description

Exports the given Cypher query as an arrow byte array.

Input arguments

Name

Type

Description

query

STRING

The query used to collect the data for export.

config

MAP

{ batchSize = 2000 :: INTEGER }. The default is: {}.

Return arguments

Name

Type

Description

value

BYTEARRAY

The data as a bytearray.

Usage Examples

Let’s suppose we have this data set:

CREATE (f:User {name:'Adam',age:42,male:true,kids:['Sam','Anna','Grace'], born:localdatetime('2015185T19:32:24'), place:point({latitude: 13.1, longitude: 33.46789})})-[:KNOWS {since: 1993, bffSince: duration('P5M1.5D')}]->(b:User {name:'Jim',age:42}),(c:User {name: 'John', age:12}),(d:Another {foo: 'bar'})

With this query:

CALL apoc.export.arrow.stream.query('MATCH (n:User) RETURN count(n) as count, n.name as name')
YIELD value RETURN value

We’ll have a table with the following columns:

  • count

  • name