Hi!
I am working with GDS pipelines and wanted to introspect the content of the projected graph with the streamNodeProperties function but it is currently failing to find the property in the projected graph.
Here is my code (using the Python client):
pipe, _ = gds.beta.pipeline.nodeClassification.create("pipe001")
pipe.addNodeProperty("pageRank", mutateProperty="pr")
pipe.selectFeatures(["pr"])
pipe.addRandomForest()
pgraph, _ = gds.graph.project(
"pgraph",
"Node",
{"REL": {"orientation": "UNDIRECTED"}},
nodeProperties=["target"]
)
model, _ = pipe.train(
pgraph,
modelName="modelRF",
targetProperty="target",
metrics=["ACCURACY"],
)
So far so good. My problem is now if I try to check the content of the louvain feature in the projected graph:
gds.graph.streamNodeProperties(pgraph, node_properties=["pr"])
It raises:
ClientError: Failed to invoke procedure `gds.graph.streamNodeProperties`: Caused by: java.lang.IllegalArgumentException: Expecting at least one node projection to contain property key(s) ['pr'].
I have also tried to run this code:
g, _ = gds.graph.project("testGraph", "Node", "LINK")
gds.pageRank.mutate(g, mutateProperty="pr")
gds.graph.streamNodeProperties(g, node_properties=["pr"])
which works as expected (returns a dataframe with louvain properties).
What am I doing wrong / did I misunderstood with the pipeline?
Any hint would be much appreciated