Skip to content

Commit 4faa4f2

Browse files
committed
Filter out tests in graph projections
1 parent a60f5c9 commit 4faa4f2

6 files changed

+16
-5
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Prepare projection by e.g. filling in default values for missing properties
2+
3+
MATCH (source)-[DEPENDS_ON]->(target)
4+
WHERE $dependencies_projection_node IN labels(source)
5+
AND $dependencies_projection_node IN labels(target)
6+
SET source.testMarkerInteger = coalesce(source.testMarkerInteger, 0)
7+
,target.testMarkerInteger = coalesce(target.testMarkerInteger, 0)
8+
RETURN count(*) AS numberOfDependencies

cypher/Dependencies_Projection/Dependencies_3_Create_Projection.cypher

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
$dependencies_projection_node,
66
'DEPENDS_ON', {
77
relationshipProperties: [$dependencies_projection_weight_property],
8-
nodeProperties: ['incomingDependencies', 'outgoingDependencies']
9-
})
8+
nodeProperties: ['incomingDependencies', 'outgoingDependencies', 'testMarkerInteger']
9+
}
10+
)
1011
YIELD graphName, nodeCount, relationshipCount
1112
RETURN graphName, nodeCount, relationshipCount

cypher/Dependencies_Projection/Dependencies_3b_Create_Multi_Relationship_Projection.cypher

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
defaultValue: 1.0
1717
}
1818
},
19-
nodeProperties: ['incomingDependencies', 'outgoingDependencies']
19+
nodeProperties: ['incomingDependencies', 'outgoingDependencies', 'testMarkerInteger']
2020
}
2121
)
2222
YIELD graphName, nodeCount, relationshipCount

cypher/Dependencies_Projection/Dependencies_4_Create_Undirected_Projection.cypher

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ CALL gds.graph.project(
1010
},
1111
{
1212
relationshipProperties: [$dependencies_projection_weight_property],
13-
nodeProperties: ['incomingDependencies', 'outgoingDependencies']
13+
nodeProperties: ['incomingDependencies', 'outgoingDependencies', 'testMarkerInteger']
1414
}
1515
)
1616
YIELD graphName, nodeCount, relationshipCount

cypher/Dependencies_Projection/Dependencies_5_Create_Subgraph.cypher

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
CALL gds.graph.filter(
44
$dependencies_projection + '-cleaned',
55
$dependencies_projection,
6-
'n.outgoingDependencies > 0 OR n.incomingDependencies > 0',
6+
'n.testMarkerInteger = 0 AND (n.outgoingDependencies > 0 OR n.incomingDependencies > 0)',
77
'*'
88
)
99
YIELD graphName, fromGraphName, nodeCount, relationshipCount, nodeFilter

scripts/projectionFunctions.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ createDirectedDependencyProjection() {
137137
logNoDataForProjection "${@}"
138138
return 1
139139
fi
140+
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_0_Prepare_Projection.cypher" "${@}"
140141
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_1_Delete_Projection.cypher" "${@}" >/dev/null
141142
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_2_Delete_Subgraph.cypher" "${@}" >/dev/null
142143
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_3_Create_Projection.cypher" "${@}"
@@ -175,6 +176,7 @@ createUndirectedDependencyProjection() {
175176
if [ "${projectionCheckResult}" -lt 1 ]; then
176177
return 1
177178
fi
179+
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_0_Prepare_Projection.cypher" "${@}"
178180
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_1_Delete_Projection.cypher" "${@}" >/dev/null
179181
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_2_Delete_Subgraph.cypher" "${@}" >/dev/null
180182
execute_cypher "${PROJECTION_CYPHER_DIR}/Dependencies_4_Create_Undirected_Projection.cypher" "${@}"

0 commit comments

Comments
 (0)