Gds.graph.create doesn't support String for nodeProperties data type?

call gds.graph.create('graph', 'Person', 'HELPS', {nodeProperties:['name'], relationshipProperties:['weight']}) yield graphName

I got the following error.

"Failed to invoke procedure gds.graph.create: Caused by: java.lang.UnsupportedOperationException: Loading of values of type String is currently not supported."

I tested it on Neo4j Desktop latest version when I follow Neo4j training.
I can run the same query without error if I use a number type property as nodeProperties.

Correct; we don't currently support strings as properties in GDS. Because none of the algorithms use strings as input values, we haven't prioritized supporting them in the in memory graph.

We'd love to know more about your use case though - what are you trying to do with the name property in GDS?

Thank you for replying to my question. What I thought was to load graph in memory with the property and use it to query later for better performance. Now I realized the graph projection(native or cypher) is for graph algorithm (only?) not for normal cypher query.

Thanks anyway. God bless you.

I stumbled upon this post wanting to do the same thing. My use case is to run a graph algorithm in "mutate" mode, then export it as a new Neo4j database using gds.graph.export. I'd like to be able to query that exported graph as I would the original, however if I cannot transfer the string-based node properties, then this methodology would not be possible.

2 Likes