当前位置: 首页 > news >正文

免费qq空间网站网站建设推广代理

免费qq空间网站,网站建设推广代理,广州外贸网站建设推广,一流本科专业建设点网站接Java初始化大量数据到Neo4j中(一)继续探索,之前用create命令导入大量数据发现太过耗时,查阅资料说大量数据初始化到Neo4j需要使用neo4j-admin import 业务数据说明可以参加Java初始化大量数据到Neo4j中(一),这里主要是将处理好的节点数据和…

接Java初始化大量数据到Neo4j中(一)继续探索,之前用create命令导入大量数据发现太过耗时,查阅资料说大量数据初始化到Neo4j需要使用neo4j-admin import

业务数据说明可以参加Java初始化大量数据到Neo4j中(一),这里主要是将处理好的节点数据和关系数据分别导出为csv

在这里插入代码片

入口controller.java

//导出节点数据到csv文件中
@GetMapping("exportNodeData")
public void exportNodeData(HttpServletResponse response) {service.exportNodeData(response);
}//导出关系数据到csv文件中
@GetMapping("exportRelationData")
public void exportRelationData(HttpServletResponse response) {service.exportRelationData(response);
}

service.java

//导出节点数据@Overridepublic void exportNodeData(HttpServletResponse response) {//节点数据,按照自己的实际业务添加,我这里对应的是所有表的数据,因为我业务中所有表结果基本一样,也即节点属性都一样。每个表的数据一个map,key是表名作为节点的标签Map<String, List<NodeData>> nodeDataMap;List<Map<String,String>> data = new ArrayList<>();for(String key:nodeDataMap.keySet()){List<NodeData> dataList = nodeDataMap.get(key);if (StringUtils.isEmpty(key) || dataList ==null || dataList .isEmpty()) {continue;}for (NodeData nodeData:dataList ) {Map<String,String> map = new HashMap<>();String id = nodeData.getId();String name = nodeData.getName();String table = nodeData.getName();//因为不同表的id会重复,需要一个不重复的值作为节点唯一值(我这里用的是表id拼接表数据id)String uniqueValue = nodeData.getUniqueValue(); map.put(":LABEL",table );map.put("id",id);map.put("name",name);map.put("uniqueValue:ID",uniqueValue);data.add(map);}}try {response.setCharacterEncoding("UTF-8");response.setHeader("Content-Disposition", "attachment;filename=" + new String("nodeimport.csv".getBytes(StandardCharsets.UTF_8), "ISO8859-1"));response.setContentType(ContentType.APPLICATION_OCTET_STREAM.toString());CsvWriter csvWriter =  CsvUtil.getWriter(response.getWriter()) ;csvWriter.writeBeans(data);csvWriter.close();} catch (IOException e) {e.printStackTrace();}
}//导出关系数据@Overridepublic void exportRelationData(HttpServletResponse response) {//关系数据,将每一个表数据的关系作为RelationData实体List<RelationData> relationDatas;List<Map<String,String>> data = new ArrayList<>();for (RelationData relation : relationDatas)  {Map<String,String> map = new HashMap<>();String relationName = relation .getRelationName();String id = relation .getId();//因为节点是通过表id拼接数据id,所以关系这里也需要加上拼接后不重复的值//开始节点唯一的值String uniqueStartValue = relation .getUniqueStartValue();//结束节点唯一的值String uniqueEndValue = relation .getUniqueEndValue();map.put("relationName",relationName) ;map.put("id",id) ;map.put(":START_ID",uniqueStartValue) ;map.put(":END_ID",uniqueEndValue) ;map.put(":TYPE",relationName) ;data.add(map);}try {response.setCharacterEncoding("UTF-8");response.setHeader("Content-Disposition", "attachment;filename=" + new String("relationimport.csv".getBytes(StandardCharsets.UTF_8), "ISO8859-1"));response.setContentType(ContentType.APPLICATION_OCTET_STREAM.toString());CsvWriter csvWriter =  CsvUtil.getWriter(response.getWriter()) ;csvWriter.writeBeans(data);csvWriter.close();} catch (IOException e) {e.printStackTrace();}}

CsvUtil用的是Hutool中的工具类,引入下面依赖即可

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.21</version></dependency>

解释:
节点中的,
uniqueValue:ID 冒号前面可以随便写,冒号后端必须是ID,标识全局id,不可重复
:LABEL:这个是标签名,必须这样写
除了这两个以外的字段都是作为节点的属性。
导出的nodeimport.csv文件如下
在这里插入图片描述

关系中:

:START_ID:开始节点的唯一值
:END_ID:结束节点的唯一值
:TYPE:关系类型
除这三个外的字段都作为关系

导出的relationimport.csv文件如下:
在这里插入图片描述

之后找到Neo4j安装目录,找到import目录,将这个两个导出的文件放到import目录下
在这里插入图片描述
删除data\databases目录下的文件(neo4j-admin import要求是空文件 ) ,停掉Neo4j

cmd进入到bin目录,执行下面语句

neo4j-admin import --mode=csv  --nodes "E:\work_soft\neo4j-community-3.5.5-windows\neo4j-community-3.5.5\import\nodeimport.csv" --relationships "E:\work_soft\neo4j-community-3.5.5-windows\neo4j-community-3.5.5\import\relationimport.csv" --ignore-extra-columns=true --ignore-missing-nodes=true --ignore-duplicate-nodes=true

在这里插入图片描述
成功之后启动Neo4j,查看数据即可。

http://www.yayakq.cn/news/231985/

相关文章:

  • 微信公众号开发网站开发泸州作网站建设联系电话
  • 和县网站制作南宁江南区网站制作多少钱
  • 广州印刷网站建设作风建设年活动网站
  • 佛山提供网站设计方案公司国内优秀网页设计案例
  • 网站改版需要重新备案吗php+mysql网站开发
  • 公司做网站都需要什么网络新项目首码发布渠道
  • 建设中网站源码如何做国外外贸网站
  • 网站建设外文文献翻译自建网站支付问题
  • steam官方网站下载wordpress自动伪原创
  • 网站建设效果瑞安市公用建设局网站
  • 做商城网站价格ppt一键优化
  • 广东网站建设公司网络服务有哪些网站可以做外贸
  • php婚庆网站源码阿里云域名注册邮箱
  • 郑州做网站那家好wordpress 置顶文章
  • 电工培训内容seo网站诊断分析报告
  • 设计公司资质怎么申请googleseo新手怎么做
  • 个人网站界面模板产品营销软文
  • 青海网站设计企业服饰怎么做网站推广
  • 什邡网站建设公司66建筑网
  • 网站源码在哪看梵克雅宝手链
  • 青岛崂山区网站建设wordpress域名访问
  • 新手做市场分析的网站新媒体营销工具有哪些
  • 建站系统的选用分析网站升级公告模板
  • 四川省建设工程设备安全协会网站免费的网络软件
  • 汽车配件外贸出口公司河北利用关键词优化网页
  • 丽水做企业网站的地方wp做网站难吗
  • 做体彩网站怎么做海口注册公司代理公司地址电话
  • 做网站要懂什么编程申请做网站
  • 网站用哪些系统做的比较好上海闵行刚刚发生的
  • 延吉市建设局网站WordPress 类型 网页