Skip to content

Commit 69abbe4

Browse files
fix(neo4j): handled missing name on nodes
1 parent f77a674 commit 69abbe4

File tree

2 files changed

+54
-58
lines changed

2 files changed

+54
-58
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "brainapi2"
3-
version = "1.5.6-dev"
3+
version = "1.5.8-dev"
44
description = "Version 1.x.x of the BrainAPI memory layer."
55
authors = [
66
{name = "Christian",email = "[email protected]"}

src/lib/neo4j/client.py

Lines changed: 53 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -382,16 +382,14 @@ def get_by_uuid(self, uuid: str) -> Node:
382382
RETURN n.uuid as uuid, n.name as name, labels(n) as labels, n.description as description, properties(n) as properties
383383
"""
384384
result = self.driver.execute_query(cypher_query)
385-
return (
386-
Node(
387-
uuid=result.records[0]["uuid"],
388-
name=result.records[0]["name"],
389-
labels=result.records[0]["labels"],
390-
description=result.records[0]["description"],
391-
properties=result.records[0]["properties"],
392-
)
393-
if result.records
394-
else None
385+
if not result.records or len(result.records) == 0:
386+
return None
387+
return Node(
388+
uuid=result.records[0].get("uuid", ""),
389+
name=result.records[0].get("name", "") or "",
390+
labels=result.records[0].get("labels", []) or [],
391+
description=result.records[0].get("description", "") or "",
392+
properties=result.records[0].get("properties", {}) or {},
395393
)
396394

397395
def get_by_uuids(self, uuids: list[str]) -> list[Node]:
@@ -405,11 +403,11 @@ def get_by_uuids(self, uuids: list[str]) -> list[Node]:
405403
result = self.driver.execute_query(cypher_query)
406404
return [
407405
Node(
408-
uuid=record["uuid"],
409-
name=record["name"],
410-
labels=record["labels"],
411-
description=record["description"],
412-
properties=record["properties"],
406+
uuid=record.get("uuid", ""),
407+
name=record.get("name", "") or "",
408+
labels=record.get("labels", []) or [],
409+
description=record.get("description", "") or "",
410+
properties=record.get("properties", {}) or {},
413411
)
414412
for record in result.records
415413
]
@@ -437,16 +435,14 @@ def get_by_identification_params(
437435
RETURN n.uuid as uuid, n.name as name, labels(n) as labels, n.description as description, properties(n) as properties
438436
"""
439437
result = self.driver.execute_query(cypher_query)
440-
return (
441-
Node(
442-
uuid=result.records[0]["uuid"],
443-
name=result.records[0]["name"],
444-
labels=result.records[0]["labels"],
445-
description=result.records[0]["description"],
446-
properties=result.records[0]["properties"],
447-
)
448-
if result.records
449-
else None
438+
if not result.records or len(result.records) == 0:
439+
return None
440+
return Node(
441+
uuid=result.records[0].get("uuid", ""),
442+
name=result.records[0].get("name", "") or "",
443+
labels=result.records[0].get("labels", []) or [],
444+
description=result.records[0].get("description", "") or "",
445+
properties=result.records[0].get("properties", {}) or {},
450446
)
451447

452448
def get_graph_property_keys(self) -> list[str]:
@@ -493,23 +489,23 @@ def get_neighbors(
493489
neighbors.append(
494490
(
495491
Node(
496-
uuid=record["uuid"],
497-
name=record["name"],
498-
labels=record["labels"],
499-
description=record["description"],
500-
properties=record["properties"],
492+
uuid=record.get("uuid", ""),
493+
name=record.get("name", "") or "",
494+
labels=record.get("labels", []) or [],
495+
description=record.get("description", "") or "",
496+
properties=record.get("properties", {}) or {},
501497
),
502498
Predicate(
503499
name=rel_type or "",
504500
description=rel_desc or "",
505501
direction=direction,
506502
),
507503
Node(
508-
uuid=record["c_uuid"],
509-
name=record["c_name"],
510-
labels=record["c_labels"],
511-
description=record["c_description"],
512-
properties=record["c_properties"],
504+
uuid=record.get("c_uuid", ""),
505+
name=record.get("c_name", "") or "",
506+
labels=record.get("c_labels", []) or [],
507+
description=record.get("c_description", "") or "",
508+
properties=record.get("c_properties", {}) or {},
513509
),
514510
)
515511
)
@@ -578,23 +574,23 @@ def get_neighbor_node_tuples(
578574
tuples.append(
579575
(
580576
Node(
581-
uuid=record["n_uuid"],
582-
name=record["n_name"],
583-
labels=record["n_labels"],
584-
description=record["n_description"],
585-
properties=record["n_properties"],
577+
uuid=record.get("n_uuid", ""),
578+
name=record.get("n_name", "") or "",
579+
labels=record.get("n_labels", []) or [],
580+
description=record.get("n_description", "") or "",
581+
properties=record.get("n_properties", {}) or {},
586582
),
587583
Predicate(
588584
name=rel_type,
589585
description=rel_desc,
590586
direction=direction,
591587
),
592588
Node(
593-
uuid=record["m_uuid"],
594-
name=record["m_name"],
595-
labels=record["m_labels"],
596-
description=record["m_description"],
597-
properties=record["m_properties"],
589+
uuid=record.get("m_uuid", ""),
590+
name=record.get("m_name", "") or "",
591+
labels=record.get("m_labels", []) or [],
592+
description=record.get("m_description", "") or "",
593+
properties=record.get("m_properties", {}) or {},
598594
),
599595
)
600596
)
@@ -635,23 +631,23 @@ def get_connected_nodes(
635631
return [
636632
(
637633
Node(
638-
uuid=record["uuid"],
639-
name=record["name"],
640-
labels=record["labels"],
641-
description=record["description"],
642-
properties=record["properties"],
634+
uuid=record.get("uuid", ""),
635+
name=record.get("name", "") or "",
636+
labels=record.get("labels", []) or [],
637+
description=record.get("description", "") or "",
638+
properties=record.get("properties", {}) or {},
643639
),
644640
Predicate(
645-
name=record["rel_type"] or "",
646-
description=record["rel_description"] or "",
641+
name=record.get("rel_type", "") or "",
642+
description=record.get("rel_description", "") or "",
647643
direction=record.get("direction", "neutral"),
648644
),
649645
Node(
650-
uuid=record["n_uuid"],
651-
name=record["n_name"],
652-
labels=record["n_labels"],
653-
description=record["n_description"],
654-
properties=record["n_properties"],
646+
uuid=record.get("n_uuid", "") or "",
647+
name=record.get("n_name", "") or "",
648+
labels=record.get("n_labels", []) or [],
649+
description=record.get("n_description", "") or "",
650+
properties=record.get("n_properties", {}) or {},
655651
),
656652
)
657653
for record in result.records

0 commit comments

Comments
 (0)