美文网首页
构建Neo4J图数据库(二)将csv数据导入Neo4J

构建Neo4J图数据库(二)将csv数据导入Neo4J

作者: 菜菜鑫 | 来源:发表于2019-08-11 21:11 被阅读0次

    Neo4J在Ubuntu下的安装比较简单,不在此赘述,具体请参考:

    https://blog.csdn.net/qq_27009517/article/details/80067115

    我们首先尝试在可视化界面的命令行导入csv文件
    利用之前从mysql中导出的csv文件,我们尝试将csv数据导入Neo4J图数据库.
    地区.csv:

    id,paramchname,paramcode
    100000,全国,001
    

    机构.csv:

    id,companyname,companysname,companytypecode,companytypename,regaddress,officeaddress,orgform,founddate
    10324824,华夏银行股份有限公司武汉硚口支行,华夏银行武汉硚口支行,01,银行,,,,
    10324851,国家开发银行股份有限公司贵州省分行,国家开发银行贵州省分行,01,银行,,,,
    

    机构-地区.csv:

    startid,endid
    10324820,110000
    10324831,330000
    

    从命令行导入的方式一般采用LOAD CSV的Cypher语句
    首先将需要导入的文件放到neo4j***/import文件夹下
    如果想从任意路径导入csv文件
    需要将配置文件neo4j.conf中的

    dbms.directories.import=import#注释掉
    

    改为

    # dbms.directories.import=import
    

    之后指定导入文件的绝对路径

    而对于具有标题行和没有标题行分别有两种方式,可以自行选择:

    没有标题行的csv导入实体:

    LOAD CSV FROM 'file:///地区.csv' AS line CREATE (:地区 { id: line[0], paramchname: line[1], paramcode: line[2] })
    对于机构.csv同理

    没有标题行的csv导入关系:

    LOAD CSV FROM 'file:///机构-地区.csv' AS line MATCH (m:机构), (g:地区) WHERE m.id= line[0] AND g.id= line[1] CREATE (m) - [r:所属地区] -> (g) RETURN r

    对于有标题行的csv导入实体

    LOAD CSV WITH HEADERS FROM 'file:///地区.csv' AS line CREATE (:地区 { id: line.id, paramchname: line.paramchname, paramcode: line.paramcode })
    对于机构.csv同理

    对于有标题行的csv导入关系

    LOAD CSV WITH HEADERS FROM 'file:///机构-地区.csv' AS line MATCH (m:机构), (g:地区) WHERE m.id= line.startid AND g.id= line.endid CREATE (m) - [r:所属地区] -> (g) RETURN r

    导入成功,bin文件夹下./neo4j console启动服务器
    访问http://localhost:7474/即可看到数据已经成功导入了

    \color{red}{(涉及公司机密,完整代码和数据无法提供,请见谅,转载请注明来源)}

    相关文章

      网友评论

          本文标题:构建Neo4J图数据库(二)将csv数据导入Neo4J

          本文链接:https://www.haomeiwen.com/subject/wizsjctx.html