pithhelmet
pithhelmet

Reputation: 2282

'Session' object has no attribute 'session'

I am receiving an error

enter image description here

this is my code block (simplified, but still demonstrates error)

import neo4j
import sys
import uuid

from neo4j import GraphDatabase


def create_population_point(tx, _point, _uuid, _tl, _tr, _ll, _lr, _band):
    print("Add a record block  A")
    tx.run("CREATE (n:Population_Point 
    {point:$point,uuid:$uuid,TL:$tl,TR:$tr,BL:$bl,BR:$br,Band_1:$band}),"
          "point=_point,uuid=_uuid,tl=_tl,tr=_tr,ll=_ll,lr=_lr,band=_band")


def main():
uri = "neo4j://localhost:7687"
username = "neo4j"
password = "P@ssword2"

databaseConnection = GraphDatabase.driver(uri, auth=(username, password))
databaseSession = databaseConnection.session()
print("Connection established")
print("Variables assigned values")
_point = "D007_S001_T001"
_uuid = uuid.uuid4()
_tl = "28.27291"
_tr = "-81.65765"
_ll = "28.27291"
_lr = "-81.65765"
_band = "455"
print("Ready to execute")
with databaseSession.session() as session:
    result = session.write_transaction(create_population_point, _point, _uuid, _tl, _tr, _ll, 
   _lr, _band)
databaseConnection.close()
print("Connection closed")


if __name__ == "__main__":
    main()

This is the line that is throwing the error

with databaseSession.session() as session:

running python 3.10.4

Upvotes: 1

Views: 1851

Answers (1)

furas
furas

Reputation: 142651

First you create

databaseSession = databaseConnection.session()

next you use

with databaseSession.session() as session:

so finally you try to use

databaseConnection.session().session()

and this is wrong.

You could use directly

result = databaseSession.write_transaction(..)

or use databaseConnection instead of databaseSession in

with databaseConnection.session() as session:
     result = session.write_transaction(..)

(and remove databaseSession = databaseConnection.session() because you don't use it)

Upvotes: 1

Related Questions