コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
def import_data(graph):
    data = import_csv_to_dict('On_Time_On_Time_Performance_2016_1.csv', headers=True)
    batch_upload(graph, data, query)
コード例 #5
0
ファイル: import.py プロジェクト: allanglen/flight_graph
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}) }),
コード例 #6
0
ファイル: import.py プロジェクト: ttklm20/neo4j-flights
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}) }),
コード例 #7
0
def import_data(graph):
    data = import_csv_to_dict('On_Time_On_Time_Performance_2016_1.csv',
                              headers=True)
    batch_upload(graph, data, query)
コード例 #8
0
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
コード例 #9
0
ファイル: import.py プロジェクト: Scatchell/flight_graph
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}) })