Hi,
I'm trying to create a graph projection using a list of node IDs (generated by applying a train-test split algorithm for the purposes of graphSAGE model training). Neo4j Desktop version is 1.4.5 and Neo4j database version is 4.2.6, with Graph Data Science plugin v1.5.2. Here's the query I'm using:
CALL gds.graph.create.cypher(
'train_citations',
'MATCH (n:Publication) WHERE ID(n) IN $ids RETURN ID(n) as id, n.feature_vector AS features, n.label_vector AS labels',
'MATCH (n:Publication)-[:CITES]-(m:Publication) WHERE ID(n) IN $ids AND ID(m) IN $ids RETURN ID(n) AS source, ID(m) AS target',
{parameters: { ids: [3501, 44757, 17332, 29883, 76708] }})
YIELD graphName, nodeCount, relationshipCount
RETURN graphName, nodeCount, relationshipCount
I'm running into an error that suggests GDS isn't properly interpreting my Cypher queries:
Failed to invoke procedure `gds.graph.create.cypher`: Caused by: java.lang.IllegalArgumentException: Type of column `labels` should be of type List, but was `[D@32efdba4`
Note that I'm able to run the node query that seems to be the source of the problem by itself in Neo4j Browser (using a pre-set list of IDs parameter).
Does anyone know why it may be returning this error? It sounds like it's seeing some kind of uninterpretable data type instead of the list of floats for the labels column I intended (from the node query).