您现在的位置是:首页 > 文章详情

Neo4j导入数据的几种方法

日期:2019-11-19点击:1052

20190114152114385

  1. create语句
CREATE (a:Person {name: '张三', sex: '男'})

如利用create批量写入,这里我使用的是scala+spark,代码如下:

object Neo4jConnect {
  def main(args: Array[String]):Unit = {
    //数据库连接
    val spark=SparkSession.builder().appName("play")
      .master("local[*]")
      .config("spark.neo4j.bolt.url", "bolt://localhost:7687")
      .config("spark.neo4j.bolt.user", "neo4j")
      .config("spark.neo4j.bolt.password", "neo4j")
      .getOrCreate()
    val neo=Neo4j(spark.sparkContext)
    val sql="CREATE (a:Person {name: '张三', sex: '男'}) RETURN a"
    //测试语句
    val rawGraphnode=neo.cypher(sql).loadRowRdd
    rawGraphnode.take(10).foreach(println(_))
    }
  }
}

java也测试过,速度很慢

public class createConn {
       /**
     * 创建节点并增加属性
     */
    public static void createNode(){
        Session session = driver.session();
        session.run( "CREATE (a:Person {name: {name}, title: {title}})",
                parameters( "name", "Arthur001", "title", "King001" ) );

        StatementResult result = session.run( "MATCH (a:Person) WHERE a.name = {name} " +
                        "RETURN a.name AS name, a.title AS title",
                parameters( "name", "Arthur001" ) );
        while ( result.hasNext())
        {
            Record record = result.next();
            System.out.println( record.get( "title" ).asString() + " " + record.get( "name" ).asString() );
        }
        session.close();
        driver.close();
    }
}
  1. load csv 命令导入
LOAD CSV FROM "file:///actors.csv" AS line
CREATE (a:actors{personId:line[0],name:line[1],type:line[2]})

actors.csv放入neo4j安装目录下的import文件夹下

其他几种暂时没有用过,因为现阶段需要实时插入。
持续更新。。。

原文链接:https://yq.aliyun.com/articles/727583
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章