LABEL_UNIQUE_KEYS = """match (n{labels}) {exclude_labels} with keys(n) as keys unwind keys as key with collect(distinct key) as uniqueKeys return apoc.coll.sort(uniqueKeys);""" NODE_DATA = """MATCH (n{labels}) {exclude_labels} RETURN {properties};""" DUMP_JSON = """CALL apoc.export.json.query( "{query}", "{filename}");""" RELATION_UNIQUE_KEYS = """match (n{start_label})-[r{relationship}]->(k{end_label}) with keys(r) as keys unwind keys as key with collect(distinct key) as uniqueKeys return apoc.coll.sort(uniqueKeys);""" RELATION_DATA = """MATCH (n{start_label})-[r{relationship}]->(k{end_label}) RETURN {properties};""" INDEX_TEMPLATE = "CREATE INDEX {label}__{property}__index FOR (n:{label}) ON (n.{property});" LABEL_UPLOAD_TEMPLATE = """ CALL apoc.periodic.iterate( " WITH '{s3_url}' AS url CALL apoc.load.json(url) YIELD value RETURN value; ", " CREATE (n{labels}) SET n += value ; ", {{batchSize:10000, iterateList:true, parallel:true, concurrency: 10}} ); """ RELATION_UPLOAD_TEMPLATE = """ CALL apoc.periodic.iterate( " WITH '{s3_url}' AS url CALL apoc.load.json(url) YIELD value RETURN value; ", " MATCH (n{start_label} {{id: value.startId}}) MATCH (k{end_label} {{id: value.endId}}) CREATE (n)-[r{relation}]->(k) SET r += value, r.startId = null, r.endId = null ; ", {{batchSize:10000, iterateList:true, parallel:false, concurrency: 1}} ); """