Skip to content

Commit 6dacb85

Browse files
committed
Tune cypher queries for cyclic dependencies
1 parent 40e53ca commit 6dacb85

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

cypher/Cyclic_Dependencies/Cyclic_Dependencies_as_List.cypher

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
MATCH (package:Package)-[:CONTAINS]->(forwardSource:Type)-[:DEPENDS_ON]->(forwardTarget:Type)<-[:CONTAINS]-(dependentPackage:Package)
44
MATCH (dependentPackage)-[:CONTAINS]->(backwardSource:Type)-[:DEPENDS_ON]->(backwardTarget:Type)<-[:CONTAINS]-(package)
5+
WHERE package <> dependentPackage
56
WITH package
67
,dependentPackage
78
,collect(DISTINCT forwardSource.name + '->' + forwardTarget.name) AS forwardDependencies
@@ -13,8 +14,7 @@ MATCH (dependentPackage)-[:CONTAINS]->(backwardSource:Type)-[:DEPENDS_ON]->(back
1314
,size(forwardDependencies) AS numberOfForwardDependencies
1415
,size(backwardDependencies) AS numberOfBackwardDependencies
1516
,size(forwardDependencies) + size(backwardDependencies) AS numberOfAllCyclicDependencies
16-
WHERE package <> dependentPackage
17-
AND (size(forwardDependencies) > size(backwardDependencies)
17+
WHERE (size(forwardDependencies) > size(backwardDependencies)
1818
OR (size(forwardDependencies) = size(backwardDependencies)
1919
AND size(package.fqn) >= size(dependentPackage.fqn)))
2020
RETURN package.fqn AS packageName

cypher/Cyclic_Dependencies/Cyclic_Dependencies_as_unwinded_List.cypher

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
MATCH (package:Package)-[:CONTAINS]->(forwardSource:Type)-[:DEPENDS_ON]->(forwardTarget:Type)<-[:CONTAINS]-(dependentPackage:Package)
44
MATCH (dependentPackage)-[:CONTAINS]->(backwardSource:Type)-[:DEPENDS_ON]->(backwardTarget:Type)<-[:CONTAINS]-(package)
5+
WHERE package <> dependentPackage
56
WITH package
67
,dependentPackage
78
,collect(DISTINCT forwardSource.name + '->' + forwardTarget.name) AS forwardDependencies
@@ -13,8 +14,7 @@ MATCH (dependentPackage)-[:CONTAINS]->(backwardSource:Type)-[:DEPENDS_ON]->(back
1314
,size(forwardDependencies) AS numberOfForwardDependencies
1415
,size(backwardDependencies) AS numberOfBackwardDependencies
1516
,size(forwardDependencies) + size(backwardDependencies) AS numberOfAllCyclicDependencies
16-
WHERE package <> dependentPackage
17-
AND (size(forwardDependencies) > size(backwardDependencies)
17+
WHERE (size(forwardDependencies) > size(backwardDependencies)
1818
OR (size(forwardDependencies) = size(backwardDependencies)
1919
AND size(package.fqn) >= size(dependentPackage.fqn)))
2020
UNWIND (backwardDependencies + forwardDependencies) AS dependency

cypher/Cyclic_Dependencies/Cyclic_Dependencies_between_Artrifacts_as_unwinded_List.cypher

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ MATCH (package:Package)-[:CONTAINS]->(forwardSource:Type)-[:DEPENDS_ON]->(forwar
44
MATCH (dependentPackage)-[:CONTAINS]->(backwardSource:Type)-[:DEPENDS_ON]->(backwardTarget:Type)<-[:CONTAINS]-(package)
55
MATCH (artifact:Artifact)-[:CONTAINS]->(package)
66
MATCH (dependentArtifact:Artifact)-[:CONTAINS]->(dependentPackage)
7+
WHERE artifact <> dependentArtifact
8+
AND package <> dependentPackage
79
WITH artifact
810
,dependentArtifact
911
,package
@@ -19,9 +21,7 @@ MATCH (dependentArtifact:Artifact)-[:CONTAINS]->(dependentPackage)
1921
,size(forwardDependencies) AS numberOfForwardDependencies
2022
,size(backwardDependencies) AS numberOfBackwardDependencies
2123
,size(forwardDependencies) + size(backwardDependencies) AS numberOfAllCyclicDependencies
22-
WHERE artifact <> dependentArtifact
23-
AND package <> dependentPackage
24-
AND (size(forwardDependencies) > size(backwardDependencies)
24+
WHERE (size(forwardDependencies) > size(backwardDependencies)
2525
OR (size(forwardDependencies) = size(backwardDependencies)
2626
AND size(package.fqn) >= size(dependentPackage.fqn)))
2727
UNWIND (backwardDependencies + forwardDependencies) AS dependency

0 commit comments

Comments
 (0)