AttributeError: 'Graph' object has no attribute 'cypher' in migration of data from Postgress to Neo4j(Graph Database)

13,220

Solution 1

I had this problem too. In my case I was looking at the py2neo v2 documentation but on my machine was installed py2neo v3. You should check your py2neo version and replace .cyper({query}) with .run({query})

The previous version of py2neo allowed Cypher execution through Graph.cypher.execute(). This facility is now instead accessible via Graph.run() and returns a lazily-evaluated Cursor rather than an eagerly-evaluated RecordList.

Solution 2

I have resolved issue. Issue was with version of py2neo. I have installed version 3 while version 2.08 is latest in V2.

py2neo allowed Cypher execution through Graph.cypher.execute().

pip uninstall py2neo
pip install py2neo==2.0.8
Share:
13,220
Usman Maqbool
Author by

Usman Maqbool

Principal Software Engineer at Nextbridge(PVT)

Updated on June 08, 2022

Comments

  • Usman Maqbool
    Usman Maqbool about 2 years

    I am working on migration of data from postgres to Graph Database manually.

    I have wrote script below:

    import psycopg2
    from py2neo import authenticate, Graph
    
    authenticate("localhost:7474", "neo4j", "password")
    n4j_graph = Graph("http://localhost:7474/db/data/")
    
    
    try:
        conn=psycopg2.connect("dbname='db_name' user='user' password='password'")
    except:
        print "good bye"
    
    cur = conn.cursor()
    try:
        cur.execute("""SELECT * from table_name""")
    except:
        print "not found"
    rows = cur.fetchall()
    
    
    for row in rows:
        username = row[4]
        email = row[7]
        s = '''MERGE (u:User { username: "%(username)s"}) MERGE (e:Email { email: "%(email)s"}) CREATE UNIQUE (u)-[:BELONGS_TO]->(e)''' %{"username": username, "email": email}
        print s
        n4j_graph.cypher.execute(s)
    

    Error:

    AttributeError: 'Graph' object has no attribute 'cypher'

    This issue I resolved by updating py2neo to version 2.0.8.

    pip uninstall py2neo
    pip install py2neo==2.0.8
    

    I am following documentation of py2neo.

    While for production I am still getting:

    AttributeError: 'Graph' object has no attribute 'cypher'

    GET 404 response

    What can be issue?