Neo4j Cypher Projection Query

Viewed 32

I am trying to write a cypher query via py2neo.

#UserList to be passed as array   
params = {}
   params['UserList'] = ['Mason']

    # Cypher Projection
    queCreateGraph = """
                    CALL gds.graph.create.cypher(
                    'Test1',
                    'MATCH (n) WHERE n.name in $UserList OR n:FunctionNode RETURN id(n) AS id, labels(n) AS labels',
                    'MATCH (n)-[r:LikedBy]->(m) WHERE m.name in $UserList RETURN id(n) AS source, id(m) AS target, type(r) AS type')
                    YIELD
                    graphName AS graph, nodeQuery, nodeCount AS nodes, relationshipCount AS rels
                     """
    graph.query(queCreateGraph, params)

I am basically trying to use UserList as a list to pass into the cypher projection but I am getting this error - py2neo.errors.ClientError: [Procedure.ProcedureCallFailed] Failed to invoke procedure gds.graph.create.cypher: Caused by: org.neo4j.exceptions.ParameterNotFoundException: Expected parameter(s): UserList

1 Answers

This Code Works:

CALL gds.graph.create.cypher(
                    'Test1',
                    'MATCH (n) WHERE n.name in $UserList OR n:FunctionNode RETURN id(n) AS id, labels(n) AS labels',
                    'MATCH (n)-[r:LikedBy]->(m) WHERE m.name in $UserList RETURN id(n) AS source, id(m) AS target, type(r) AS type',
                    {parameters: {UserList: $UserList } } )
                    YIELD
                    graphName AS graph, nodeQuery, nodeCount AS nodes, relationshipCount AS rels
Related