Skip to content

Commit 65a0810

Browse files
committed
WIP
1 parent 6d58a94 commit 65a0810

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

graphdatascience/graph/graph_remote_project_runner.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from __future__ import annotations
22

3+
from typing import Any
4+
35
from ..call_parameters import CallParameters
46
from ..error.illegal_attr_checker import IllegalAttrChecker
57
from ..query_runner.session_query_runner import SessionQueryRunner
@@ -21,6 +23,7 @@ def __call__(
2123
inverse_indexed_relationship_types: list[str] | None = None,
2224
batch_size: int | None = None,
2325
logging: bool = True,
26+
query_parameters: dict[str, Any] = None,
2427
) -> GraphCreateResult:
2528
if inverse_indexed_relationship_types is None:
2629
inverse_indexed_relationship_types = []

graphdatascience/query_runner/protocol/project_protocols.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ def project_params(
113113
config = {
114114
"undirectedRelationshipTypes": params["undirected_relationship_types"],
115115
"inverseIndexedRelationshipTypes": params["inverse_indexed_relationship_types"],
116+
"queryParameters": params["query_parameters"],
116117
}
117118
if "concurrency" in params:
118119
config["concurrency"] = params["concurrency"]

graphdatascience/tests/unit/session/test_aura_graph_data_science.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,35 @@ def test_remote_projection_defaults(mocker: MockerFixture) -> None:
7070
}
7171

7272

73+
def test_remote_projection_query_parameters(mocker: MockerFixture) -> None:
74+
v = ServerVersion(9, 9, 9)
75+
query_runner = CollectingQueryRunner(v)
76+
gds = AuraGraphDataScience(
77+
query_runner=query_runner,
78+
delete_fn=lambda: True,
79+
gds_version=v,
80+
v2_endpoints=mocker.Mock(),
81+
)
82+
83+
g = gds.graph.project("foo", "RETURN gds.graph.project($one, $two)", query_parameters={"one": 1, "two": 2})
84+
85+
assert g.graph.name() == "foo"
86+
assert (
87+
query_runner.last_query()
88+
== "CALL gds.arrow.project($graph_name, $query, $job_id, $concurrency, $undirected_relationship_types, $inverse_indexed_relationship_types, $arrow_configuration)"
89+
)
90+
assert query_runner.last_params() == {
91+
"graph_name": "foo",
92+
"query": "RETURN gds.graph.project($one, $two)",
93+
"job_id": None,
94+
"concurrency": 4,
95+
"undirected_relationship_types": [],
96+
"inverse_indexed_relationship_types": [],
97+
"arrow_configuration": {},
98+
"query_parameters": {"one": 1, "two": 2},
99+
}
100+
101+
73102
def test_remote_algo_write(mocker: MockerFixture) -> None:
74103
v = ServerVersion(9, 9, 9)
75104
query_runner = CollectingQueryRunner(v)

0 commit comments

Comments
 (0)