def import_lookups(graph): data = import_csv_to_dict('L_UNIQUE_CARRIERS.csv', headers=True) query = """ MATCH (c:Carrier {abbr:UPPER({Code})}) SET c.name = UPPER({Description}) """ batch_upload(graph, data, query) data = import_csv_to_dict('L_AIRPORT_ID.csv', headers=True) # Split on colon to get only the airport name. for d in data: text = d['Description'] text = text.split(":") if(len(text) == 2): city, airport = text else: airport = text[0] airport = airport.strip() d['Description'] = airport query = """ MATCH (a:Airport {id:TOINT({Code})}) SET a.name = UPPER({Description}) """ batch_upload(graph, data, query)
def import_lookups(graph): data = import_csv_to_dict('L_UNIQUE_CARRIERS.csv', headers=True) query = """ MATCH (c:Carrier {abbr:UPPER({Code})}) SET c.name = UPPER({Description}) """ batch_upload(graph, data, query) data = import_csv_to_dict('L_AIRPORT_ID.csv', headers=True) # Split on colon to get only the airport name. for d in data: text = d['Description'] text = text.split(":") if (len(text) == 2): city, airport = text else: airport = text[0] airport = airport.strip() d['Description'] = airport query = """ MATCH (a:Airport {id:TOINT({Code})}) SET a.name = UPPER({Description}) """ batch_upload(graph, data, query)
from csv_things import import_csv_to_dict from py2neo import neo4j from batch_upload import batch_upload # Download lookup tables for carriers and airports. graph = neo4j.GraphDatabaseService("http://localhost:1491/db/data/") batch = neo4j.WriteBatch(graph) data = import_csv_to_dict('L_UNIQUE_CARRIERS.csv', headers = True) query = """ MATCH (c:Carrier {abbr:{Code}}) SET c.name = UPPER({Description}) """ batch_upload(batch, data, query) # Manual things done in Excel: split on colon and TRIM() to only get airport name in Description column. data = import_csv_to_dict('L_AIRPORT.csv', headers = True) query = """ MATCH (a:Airport {abbr:{Code}}) SET a.name = UPPER({Description}) """ batch_upload(batch, data, query)
def import_data(graph): data = import_csv_to_dict('On_Time_On_Time_Performance_2016_1.csv', headers=True) batch_upload(graph, data, query)
from csv_things import import_csv_to_dict from py2neo import neo4j from batch_upload import batch_upload graph = neo4j.GraphDatabaseService("http://localhost:7474/db/data/") batch = neo4j.WriteBatch(graph) data = import_csv_to_dict('On_Time_On_Time_Performance_2014_1.csv', headers = True) query = """ MERGE (oAirport:Airport {id: TOINT({OriginAirportID}) }) SET oAirport.abbr = UPPER({Origin}) MERGE (oCity:City {name: UPPER({OriginCityName}) }) MERGE (oState:State {abbr: UPPER({OriginState}), name: UPPER({OriginStateName}) }) MERGE (oCity)-[:IN_STATE]->(oState) MERGE (oAirport)-[:IN_CITY]->(oCity) MERGE (oAirport)-[:IN_STATE]->(oState) MERGE (dAirport:Airport {id: TOINT({DestAirportID}) }) SET dAirport.abbr = UPPER({Dest}) MERGE (dCity:City {name: UPPER({DestCityName}) }) MERGE (dState:State {abbr: UPPER({DestState}), name: UPPER({DestStateName}) }) MERGE (dCity)-[:IN_STATE]->(dState) MERGE (dAirport)-[:IN_CITY]->(dCity) MERGE (dAirport)-[:IN_STATE]->(dState) CREATE (f:Flight {flight_num: TOINT({FlightNum}) }),
from csv_things import import_csv_to_dict from py2neo import authenticate, Graph from batch_upload import batch_upload authenticate("localhost:7474", "neo4j", "neo4j") graph = Graph() data = import_csv_to_dict('On_Time_On_Time_Performance_2014_1.csv', headers = True) query = """ MERGE (oAirport:Airport {id: TOINT({OriginAirportID}) }) SET oAirport.abbr = UPPER({Origin}) MERGE (oCity:City {name: UPPER({OriginCityName}) }) MERGE (oState:State {abbr: UPPER({OriginState}), name: UPPER({OriginStateName}) }) MERGE (oCity)-[:IN_STATE]->(oState) MERGE (oAirport)-[:IN_CITY]->(oCity) MERGE (oAirport)-[:IN_STATE]->(oState) MERGE (dAirport:Airport {id: TOINT({DestAirportID}) }) SET dAirport.abbr = UPPER({Dest}) MERGE (dCity:City {name: UPPER({DestCityName}) }) MERGE (dState:State {abbr: UPPER({DestState}), name: UPPER({DestStateName}) }) MERGE (dCity)-[:IN_STATE]->(dState) MERGE (dAirport)-[:IN_CITY]->(dCity) MERGE (dAirport)-[:IN_STATE]->(dState) CREATE (f:Flight {flight_num: TOINT({FlightNum}) }),
from csv_things import import_csv_to_dict from py2neo import authenticate, Graph from batch_upload import batch_upload authenticate("localhost:7474", "neo4j", "neo4j") graph = Graph() data = import_csv_to_dict('L_UNIQUE_CARRIERS.csv', headers=True) query = """ MATCH (c:Carrier {abbr:UPPER({Code})}) SET c.name = UPPER({Description}) """ batch_upload(graph, data, query) data = import_csv_to_dict('L_AIRPORT_ID.csv', headers=True) # Split on colon to get only the airport name. for d in data: text = d['Description'] text = text.split(":") if (len(text) == 2): city, airport = text else: airport = text[0] airport = airport.strip() d['Description'] = airport
from py2neo import neo4j from batch_upload import batch_upload graph = neo4j.GraphDatabaseService("http://localhost:1491/db/data/") batch = neo4j.WriteBatch(graph) # Only need to run once. # neo4j.CypherQuery(graph, "CREATE CONSTRAINT ON (a:Airport) ASSERT a.id IS UNIQUE;").run() # neo4j.CypherQuery(graph, "CREATE CONSTRAINT ON (s:State) ASSERT s.name IS UNIQUE;").run() # neo4j.CypherQuery(graph, "CREATE CONSTRAINT ON (c:City) ASSERT c.name IS UNIQUE;").run() # neo4j.CypherQuery(graph, "CREATE CONSTRAINT ON (a:Aircraft) ASSERT a.tail_num IS UNIQUE;").run() # neo4j.CypherQuery(graph, "CREATE CONSTRAINT ON (c:Carrier) ASSERT c.id IS UNIQUE;").run() # neo4j.CypherQuery(graph, "CREATE CONSTRAINT ON (r:Reason) ASSERT r.name IS UNIQUE;").run() data = import_csv_to_dict('january.csv', headers = True) query = """ MERGE (oAirport:Airport {id: TOINT({OriginAirportID}) }) SET oAirport.abbr = UPPER({Origin}) MERGE (oCity:City {name: UPPER({OriginCityName}) }) MERGE (oState:State {abbr: UPPER({OriginState}), name: UPPER({OriginStateName}) }) MERGE (oCity)-[:IN_STATE]->(oState) MERGE (oAirport)-[:IN_CITY]->(oCity) MERGE (dAirport:Airport {id: TOINT({DestAirportID}) }) SET dAirport.abbr = UPPER({Dest}) MERGE (dCity:City {name: UPPER({DestCityName}) })