python relationship in neo4j

Asked

Viewed 56 times

1

I have the following code where I am migrating a relational database to neo4j. I made a node for each latitude and longitude sensor and a distinct node for each rainfall recorded in my database.

    db = GraphDatabase("http://localhost:7474",username="neo4j", password="12345")
conn = psycopg2.connect("\
    dbname='bdTrmmTest'\
    user='postgres'\
    host='127.0.0.1'\
    password='1234'\
    ");
c = conn.cursor()
c.execute("SELECT latitude, longitude, gid FROM pontos")  
records = c.fetchall() #pega todos os resultados do select e armazena em uma tupla
#cria todos os sensores os latitude e longitute
sensorlatlong = db.labels.create("Latitude/Longitude")
for i in records:
    s = db.nodes.create(latitude=i[0],longitutde=i[1])
    sensorlatlong.add(s)

#cria os nos de precipitacao
e.execute("SELECT precipitacaoh, gidgeo_fk FROM historico GROUP BY precipitacaoh")
records2 = e.fetchall()
sensorprecip = db.labels.create("Precipitacao")
for i in records:
    s2 = db.nodes.create(precipitacao=i[0])
    sensorprecip.add(s2)

#cria as relacoes entre precipitacao e sensor latitude e longitude 

Now I want every latitude and longitude sensor that marked any of these precipitations to have a relationship MARKED with every precipitation node that it marked.

I’m thinking about doing a bow tie:

#cria as relacoes entre precipitacao e sensor latitude e longitude     
for i in records:
    for j in records2:
        if(i[2] == j[1]):
            s.relationships.create("MARCOU",s2)

But I don’t know if it’s right, and the database is very large. Any suggestions?

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.