Skip to content

Commit a852db5

Browse files
changed /ancestors /children /parents/ descendants queries to omit fields at the query level rather than removing them later
1 parent 09a9076 commit a852db5

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/schema/schema_neo4j_queries.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ def get_children(neo4j_driver, uuid, property_key = None):
178178
f"WHERE e.uuid='{uuid}' AND e.entity_type <> 'Lab' "
179179
# COLLECT() returns a list
180180
# apoc.coll.toSet() reruns a set containing unique nodes
181-
f"RETURN apoc.coll.toSet(COLLECT(child)) AS {record_field_name}")
181+
f"RETURN apoc.coll.toSet(COLLECT(apoc.create.vNode(labels(child), apoc.map.removeKeys(properties(child), {fields_to_omit})))) AS {record_field_name}")
182182

183183
logger.info("======get_children() query======")
184184
logger.info(query)
@@ -233,7 +233,7 @@ def get_parents(neo4j_driver, uuid, property_key = None):
233233
f"WHERE e.uuid='{uuid}' AND parent.entity_type <> 'Lab' "
234234
# COLLECT() returns a list
235235
# apoc.coll.toSet() reruns a set containing unique nodes
236-
f"RETURN apoc.coll.toSet(COLLECT(parent)) AS {record_field_name}")
236+
f"RETURN apoc.coll.toSet(COLLECT(apoc.create.vNode(labels(parent), apoc.map.removeKeys(properties(parent), {fields_to_omit})))) AS {record_field_name}")
237237

238238
logger.info("======get_parents() query======")
239239
logger.info(query)
@@ -401,7 +401,7 @@ def get_ancestors(neo4j_driver, uuid, property_key = None):
401401
f"WHERE e.uuid='{uuid}' AND ancestor.entity_type <> 'Lab' "
402402
# COLLECT() returns a list
403403
# apoc.coll.toSet() reruns a set containing unique nodes
404-
f"RETURN apoc.coll.toSet(COLLECT(ancestor)) AS {record_field_name}")
404+
f"RETURN apoc.coll.toSet(COLLECT(apoc.create.vNode(labels(ancestor), apoc.map.removeKeys(properties(ancestor), {fields_to_omit})))) AS {record_field_name}")
405405

406406
logger.info("======get_ancestors() query======")
407407
logger.info(query)
@@ -457,7 +457,7 @@ def get_descendants(neo4j_driver, uuid, property_key = None):
457457
f"WHERE e.uuid='{uuid}' AND e.entity_type <> 'Lab' "
458458
# COLLECT() returns a list
459459
# apoc.coll.toSet() reruns a set containing unique nodes
460-
f"RETURN apoc.coll.toSet(COLLECT(descendant)) AS {record_field_name}")
460+
f"RETURN apoc.coll.toSet(COLLECT(apoc.create.vNode(labels(descendant), apoc.map.removeKeys(properties(descendant), {fields_to_omit})))) AS {record_field_name}")
461461

462462
logger.info("======get_descendants() query======")
463463
logger.info(query)

0 commit comments

Comments
 (0)