From 85cae6f5039e6b4eb202467e559c20207c56897f Mon Sep 17 00:00:00 2001 From: Vargha Csongor Date: Sat, 15 Mar 2025 11:01:24 +0100 Subject: [PATCH] switch to using built in object id in memgraph --- app/src/lib/server/queries/create_directed_relationship.cypher | 2 +- app/src/lib/server/queries/create_relationship.cypher | 2 +- .../server/queries/create_two_directed_relationships.cypher | 2 +- app/src/lib/server/queries/get_family_tree_by_id.cypher | 3 ++- app/src/lib/server/queries/get_person_by_id.cypher | 2 +- app/src/lib/server/queries/get_relationship.cypher | 3 ++- app/src/lib/server/queries/hard_delete_person_by_id.cypher | 3 ++- app/src/lib/server/queries/schema.cypher | 3 --- app/src/lib/server/queries/update_person.cypher | 3 ++- 9 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/src/lib/server/queries/create_directed_relationship.cypher b/app/src/lib/server/queries/create_directed_relationship.cypher index 2233cf1..fdd8a56 100644 --- a/app/src/lib/server/queries/create_directed_relationship.cypher +++ b/app/src/lib/server/queries/create_directed_relationship.cypher @@ -1,4 +1,4 @@ MATCH (a:Person), (b:Person) -WHERE a.id = $id1 AND b.id = $id2 +WHERE id(a) = $id1 AND id(b) = $id2 CREATE (a)-[r:Relationship $Relationship]->(b) RETURN r as relationship \ No newline at end of file diff --git a/app/src/lib/server/queries/create_relationship.cypher b/app/src/lib/server/queries/create_relationship.cypher index d87aa32..20f8f25 100644 --- a/app/src/lib/server/queries/create_relationship.cypher +++ b/app/src/lib/server/queries/create_relationship.cypher @@ -1,4 +1,4 @@ MATCH (a:Person), (b:Person) -WHERE a.id = $id1 AND b.id = $id2 +WHERE id(a) = $id1 AND id(b) = $id2 CREATE (a)-[r:Relationship $Relationship]-(b) RETURN r as relationship \ No newline at end of file diff --git a/app/src/lib/server/queries/create_two_directed_relationships.cypher b/app/src/lib/server/queries/create_two_directed_relationships.cypher index c1f964f..ec215c2 100644 --- a/app/src/lib/server/queries/create_two_directed_relationships.cypher +++ b/app/src/lib/server/queries/create_two_directed_relationships.cypher @@ -1,5 +1,5 @@ MATCH (a:Person), (b:Person) -WHERE a.id = $id1 AND b.id = $id2 +WHERE id(a) = $id1 AND id(b) = $id2 CREATE (a)-[r1:Relationship $Relationship1]->(b) CREATE (b)-[r2:Relationship $Relationship2]->(a) RETURN r1 as relationship1, r2 as relationship2 \ No newline at end of file diff --git a/app/src/lib/server/queries/get_family_tree_by_id.cypher b/app/src/lib/server/queries/get_family_tree_by_id.cypher index 347860c..a974c3b 100644 --- a/app/src/lib/server/queries/get_family_tree_by_id.cypher +++ b/app/src/lib/server/queries/get_family_tree_by_id.cypher @@ -1,4 +1,5 @@ -MATCH (n:Person { id: $id })-[p:Parent*1..]->(family:Person) +MATCH (n:Person)-[p:Parent*1..]->(family:Person) +WHERE id(n) = $id OPTIONAL MATCH (family)-[c:Child]->(children:Person) WITH family, p, children, c, n OPTIONAL MATCH (children)<-[p2:Parent]-(OtherParents:Person) diff --git a/app/src/lib/server/queries/get_person_by_id.cypher b/app/src/lib/server/queries/get_person_by_id.cypher index 4b3cccd..788470c 100644 --- a/app/src/lib/server/queries/get_person_by_id.cypher +++ b/app/src/lib/server/queries/get_person_by_id.cypher @@ -1 +1 @@ -MATCH (n:Person) WHERE n.id = $id RETURN n as person \ No newline at end of file +MATCH (n:Person) WHERE id(n) = $id RETURN n as person \ No newline at end of file diff --git a/app/src/lib/server/queries/get_relationship.cypher b/app/src/lib/server/queries/get_relationship.cypher index 813f9b8..631741e 100644 --- a/app/src/lib/server/queries/get_relationship.cypher +++ b/app/src/lib/server/queries/get_relationship.cypher @@ -1,2 +1,3 @@ -MATCH (n {id: $id1})-[r]-(o {id: $id2}) +MATCH (n)-[r]-(o) +WHERE id(n) = $id1 AND id(o) = $id2 RETURN r as relationship \ No newline at end of file diff --git a/app/src/lib/server/queries/hard_delete_person_by_id.cypher b/app/src/lib/server/queries/hard_delete_person_by_id.cypher index ee31067..1c0a17d 100644 --- a/app/src/lib/server/queries/hard_delete_person_by_id.cypher +++ b/app/src/lib/server/queries/hard_delete_person_by_id.cypher @@ -1,2 +1,3 @@ -MATCH (n:DeletedPerson {id: $id}) +MATCH (n:DeletedPerson) +WHERE id(n) = $id DETACH DELETE n; \ No newline at end of file diff --git a/app/src/lib/server/queries/schema.cypher b/app/src/lib/server/queries/schema.cypher index a20da5b..5920f8f 100644 --- a/app/src/lib/server/queries/schema.cypher +++ b/app/src/lib/server/queries/schema.cypher @@ -1,14 +1,11 @@ -CREATE CONSTRAINT ON (n:Person) ASSERT EXISTS (n.id); CREATE CONSTRAINT ON (n:Person) ASSERT EXISTS (n.last_name); CREATE CONSTRAINT ON (n:Person) ASSERT EXISTS (n.first_name); CREATE CONSTRAINT ON (n:Person) ASSERT EXISTS (n.born); CREATE CONSTRAINT ON (n:Person) ASSERT EXISTS (n.mothers_first_name); CREATE CONSTRAINT ON (n:Person) ASSERT EXISTS (n.mothers_last_name); -CREATE CONSTRAINT ON (n:Person) ASSERT n.id IS UNIQUE; CREATE CONSTRAINT ON (n:Person) ASSERT n.google_id IS UNIQUE; CREATE CONSTRAINT ON (n:Person) ASSERT n.last_name, n.first_name, n.born, n.mothers_first_name, n.mothers_last_name IS UNIQUE; -CREATE INDEX ON :Person(id); CREATE INDEX ON :Person(google_id); CREATE INDEX ON :Person(last_name); CREATE INDEX ON :Person(first_name); diff --git a/app/src/lib/server/queries/update_person.cypher b/app/src/lib/server/queries/update_person.cypher index 37f26fb..b44807a 100644 --- a/app/src/lib/server/queries/update_person.cypher +++ b/app/src/lib/server/queries/update_person.cypher @@ -1,3 +1,4 @@ -MATCH (n:Person $props) +MATCH (n:Person) +WHERE id(n) = $id SET n += $props RETURN n AS person \ No newline at end of file