使用py2neo从CSV文件创建图形的正确语法

时间:2017-02-21 21:34:15

标签: csv py2neo

我认为这是一个非常简单的问题。我正在尝试在此页面上重新创建图表(向下滚动一下):

https://linkurio.us/visualizing-network-donald-trump/

在此页面上有代码可以创建图形,但我尝试使用py2neo等效项。我已经使用类似于下面的代码的语法在NetworkX中成功创建了这些相同的图形,但是下面的代码生成了一些完全不同的东西。我希望获得能够从CSV文件以适当的py2neo形式创建正确图形的代码。请注意,我搜索了答案,我已经查看了此链接,但不确定是否遵循:Creating neo4j graph database from csv file using py2neo

以下代码工作正常(否则),我使用的是最新版本的py2neo和Neo4j(CE)。我更喜欢简单的代码(生成器,列表推导等,可能不是最好的),但会采取我能得到的任何东西。就这么清楚,我正在阅读一个CSV文件,读出名为" Organization"," Person"和#34;连接"并使用这些值来创建一个显示连接的图表,如上面的链接。谢谢!

我正在使用的代码:

CMAKE_IMPORT_LIBRARY_SUFFIX

1 个答案:

答案 0 :(得分:1)

你可以使用py2neo的cypher。

def readCSV_forNeo4j_Trump(path):
    with open(path + '/Trump/TrumpWorldData_Person-Org.csv', ncoding='utf8') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        Organization = row['Organization']
        Person = row['Person']
        Connection = row['Connection']
        graph.run("MERGE (p:Person{name:{name}}) 
        MERGE (o:Organization{name:{organization}} )
        CREATE (p)-[:IS_CONNECTED{type:{relationship}}]->(o)",
        name=Person, organization=Organization , relationship = Connection )

我已经写了我头顶的查询...你可以从指令中复制cypher并从py2neo运行它。