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

湖南住房与城乡建设部网站北京网页设计公司兴田德润挺好

湖南住房与城乡建设部网站,北京网页设计公司兴田德润挺好,网站重做,河南卓越建设工程有限公司网站学习LOAD CSV#x1f680; 在使用Neo4j进行大量数据导入的时候#xff0c;发现如果用代码自动一行一行的导入效率过低#xff0c;因此明白了为什么需要用到批量导入功能#xff0c;在Neo4j中允许批量导入CSV文件格式#xff0c;刚开始从网上的中看了各种半残的博客或者视频…学习LOAD CSV 在使用Neo4j进行大量数据导入的时候发现如果用代码自动一行一行的导入效率过低因此明白了为什么需要用到批量导入功能在Neo4j中允许批量导入CSV文件格式刚开始从网上的中看了各种半残的博客或者视频拼拼凑凑也实现了功能然后想写个博客记录一下一想直接把代码沾上来讲的也不是很全面就打算按照官方文档的思路讲一下然后给中间补充一些文档中往往会省略的实践细节故有了这篇博客在对官方文档的翻译中加入自己对技术的理解会比机翻或者要求严格的文档更好理解一些。本文只介绍前几个常用的节点和关系的批量导入不然内容太多了后面不常用的就先不介绍了。 阅读本文需要对Neo4j的基础知识有一些了解如果还没有学习可以阅读本文章的前置文章。 Neo4j 新手教程 环境安装 基础增删改查 python链接 常用操作 纯新手向 文章目录 学习LOAD CSV1.LOAD CSV 简介2. Import CSV data into Neo4j 把CSV导入Neo4j 极简版(重要)3.Import compressed CSV files 导入压缩的csv文件4.Import data from relational databases 导入关联数据(重要) 结束 首先给出Neo4j的官方文档的地址 https://neo4j.com/docs/cypher-manual/current/clauses/load-csv/ 1.LOAD CSV 简介 LOAD CSV 是用来将CSV文件导入到Neo4j数据集当中的。 LOAD CSV FROM https://data.neo4j.com/bands/artists.csv AS row MERGE (:Artist {name: row[1], year: toInteger(row[2])})FROM 后面接一个文件所在路径的字符串命令是一行一行处理文件的每次处理的时候用AS将这一行的数据临时存储在一个变量里在这个例子中这个变量是row用MERGE访问row变量然后存入到数据集中 LOAD CSV 支持本地和远程的URL本地路径关联在Neo4j的数据库的文件夹中。 URL Uniform Resource Locator 雅称统一资源定位符 俗称文件路径新手可以直接这吗理解虽然严格意义不准确 2. Import CSV data into Neo4j 把CSV导入Neo4j 极简版(重要) 可以将CSV文件保存在本地数据集的文件夹import下面然后使用一个file:///前缀名字。下面是官方给的一个例子接下来我们具体实际操作一下 首先是保存这个csv文件首先我们直接来一个简单的txt直接过去之后再做用excel转的直接新建一个txt然后粘进去。 1,ABBA,1992 2,Roxette,1986 3,Europe,1979 4,The Cardigans,1992然后点右上角的文件选择另存为然后进入到Neo4j的import文件夹的目录下 之后把文件后缀的txt直接改为csv然后确认一下文件编码为UTF-8        然后打开该目录你会看到一个csv文件        用excel打开看一眼嗯 然后打开Neo4j的控制台。在上方的命令框输入命令 LOAD CSV FROM file:///artists.csv AS row MERGE (a:Artist {name: row[1], year: toInteger(row[2])}) RETURNa.name,a.year如果不知道如何打开请移步愚作Neo4j 新手教程 环境安装 基础增删改查 python链接 常用操作 纯新手向 按下CtrlEnter或者右上侧的蓝色小三角运行命令运行结果如下导入成功。 如果不想保存到数据库文件的import文件夹下直接换成本地路径直接导入,例如直接把文件复制到E盘然后把路径直接换成E:/artists.csv结果是不行。 为了解决这个问题需要求改Neo4j数据库的配置文件首先在数据库的conf文件下下找到neo4j.conf文件然后用记事本打开。 找到这个serve.directories.importimport给它前面加一个#号注释掉 注释之后变成这样        然后CtrlS保存一下或者关闭的时候点一下也行然后把E:/artists.csv改成file:///E:/artists.csv然后再运行成功 file:///必须加不加报错在配置文件中注释了server.directories.importimport之后把路径设置回file:///artists.csv也依旧可以从Import文件下下导入文件 LOAD CSV FROM file:///E:/artists.csv AS row MERGE (a:Artist {name: row[1], year: toInteger(row[2])}) RETURNa.name,a.year3.Import compressed CSV files 导入压缩的csv文件 LOAD CSV也可以上传压缩成ZIP的CSV文件不管套了几个文件最后这个ZIP文件里只能有一个CSV文件文档里写的太官方我这里尝试重新描述一下然后再给它分几种情况测一测挖一挖它这个功能。 好现在import文件下直接右键CSV压缩一层得到一个zip压缩包 然后再Neo4j控制台导入OK成功 LOAD CSV FROM file:///artists.zip AS row MERGE (a:Artist {name: row[1], year: toInteger(row[2])}) RETURNa.name,a.year然后将压缩文件从import目录移动到E盘然后运行OK LOAD CSV FROM file:///E:/artists.zip AS row MERGE (a:Artist {name: row[1], year: toInteger(row[2])}) RETURNa.name,a.year然后开始套娃 首先套了两层文件 然后将套娃文件打包成zip 然后运行ok可行 接下来套娃的时候把套娃的文件夹名字修改一下先修改一下套娃中间文件夹的名字给它改成a再打包再运行 OK可行 然后把套娃最外层的文件夹的名字改了改成和CSV文件的名字不一致然后打包成zip 这个不可行 然后把最外层的文件夹名字改成和CSV一致然后在artist.csv在路径下加一些奇奇怪怪的文件然后再打包成zip然后运行 可行 然后在路径下加个其他的csv文件然后再打包成csv然后运行 OK可行 结论和文档中的描述基本一致就说最外层文件夹的名字得和要导入的csv文件一致最外层文件夹名字是哪个就读哪个CSV 桀桀桀感受到中国算法工程师的执着了吗Neo4j的官方人员笑。 4.Import data from relational databases 导入关联数据(重要) 在官方文档中给了这样一个例子一个数据和其作者的数据集那这里不但包含着作者和书籍的节点node还包含着A作者写了B书的一个关系relationship        接下来老操作直接复制到txt文件然后给它转存成UTF-8编码的csv,文件名字是books要是忘了咋操作或者跳读到这的话翻回到上面的这里。 Import CSV data into Neo4j 把CSV导入Neo4j 极简版 id,title,author,publication_year,genre,rating,still_in_print,last_purchased 19515,The Heights,Anne Conrad,2012,Comedy,5,true,2023/4/12 8:17:00 39913,Starship Ghost,Michael Tyler,1985,Science Fiction|Horror,4.2,false,2022/01/16 17:15:56 60980,The Death Proxy,Tim Brown,2002,Horror,2.1,true,2023/11/26 8:34:26 18793,Chocolate Timeline,Mary R. Robb,1924,Romance,3.5,false,2022/9/17 14:23:45 67162,Stories of Three,Eleanor Link,2022,Romance|Comedy,2,true,2023/03/12 16:01:23 25987,Route Down Below,Tim Brown,2006,Horror,4.1,true,2023/09/24 15:34:18ok好的看一下然后右侧的这个时间是缩略了展开就能看见了不用害怕。 // Create Book nodes 导入节点 LOAD CSV WITH HEADERS FROM file:///books.csv AS row MERGE (b:Book {id: row.id, title: row.title}) MERGE (a:Author {name: row.author});// Create WROTE relationships 导入关系 LOAD CSV WITH HEADERS FROM file:///books.csv AS row MATCH (a:Author{name: row.author}) MATCH (b:Book{id: row.id}) MERGE (a)-[:WROTE]-(b);这段代码使用了Cypher查询语言来处理两个主要任务 首先它从一个CSV文件中导入数据来创建Book和Author节点 其次它基于相同的CSV文件创建这些Book和Author节点之间的WROTE关系。下面是对这两个过程的详细解释 第一部分创建Book和Author节点 LOAD CSV WITH HEADERS FROM file:///books.csv AS row MERGE (b:Book {id: row.id, title: row.title}) MERGE (a:Author {name: row.author});LOAD CSV WITH HEADERS FROM file:///books.csv AS row这条命令告诉Neo4j从给定的路径file:///books.csv 加载一个CSV文件该文件具有标题行即每列的第一行包含列名。AS row表示每一行数据都会被赋予变量名row之后可以通过这个变量访问行中的数据。MERGE (b:Book {id: row.id, title: row.title})MERGE命令用于创建一个新的Book节点或者如果具有相同id和title属性的节点已经存在则匹配不重复创建该节点。这里row.id和row.title是从CSV文件中读取的每一行的对应列数据。MERGE (a:Author {name: row.author})类似地这条命令用于创建或匹配一个Author节点其name属性由当前行的author列提供。 第二部分创建WROTE关系 LOAD CSV WITH HEADERS FROM file:///books.csv AS row MATCH (a:Author{name: row.author}) MATCH (b:Book{id: row.id}) MERGE (a)-[:WROTE]-(b);加载数据部分一样MATCH (a:Author{name: row.author})和MATCH (b:Book{id: row.id})这两个MATCH命令分别用于查找当前行中提到的Author和Book节点。它们通过比较name和id属性与文件中的相应列来定位节点。MERGE (a)-[:WROTE]-(b)最后MERGE命令用来创建一个新的WROTE关系从找到的Author节点指向Book节点。如果这样的关系已经存在则不会创建重复的关系。 然后运行上诉代码这里我把URL改成本地了而文档中用的是网络URL这里还是先了解怎么在本地导入节点和关系网络导入暂时不需要 然后点一下这个WROTE,ok完美 结束 然后文档的后面还有一些增加属性以及处理数据例如去除Null值等诸如此类的工作不是重点暂时就先不介绍了。然后有个小麻烦的地方在导入不同类别的数据的时候需要分批导入类别参数不能直接用CSV中的导入值我自己有个数据集有50类关系我手动输入了50次命令我简单了解了一下之后应该可以用Foreach命令解决这个问题会纳入到后续的更新规划当中。
http://www.pierceye.com/news/81245/

相关文章:

  • 网站建设哪家服务态度好哪做网站最好
  • 网站域名商代理商大连网站制作公司费用多少
  • 设计网站推荐按钮的作用网页设计工作流程
  • 网络营销网站规划建设实训作业外贸网站怎么营销
  • 北京外贸网站建设公司net网站开发手机网站
  • 网站建设与管理用什么软件有哪些建筑网站 知乎
  • 星沙网站优化seo设计常用网站
  • 同一个域名在一个服务器做两件网站wordpress注册界面修改
  • 如何用asp.net做网站wordpress先登录再访问
  • 东莞艺美网站建设公主岭网站开发
  • 淘宝客网站源码html珠海市品牌网站建设哪家好
  • o2o手机网站建设难一个专门做字画的网站
  • 邯郸网站制作费用云南省建设执业注册管理中心网站
  • 建立专业的官方网站企业网站开发步骤
  • 网站设计案例分析wordpress开启memcached
  • 做电影下载网站好门户网站建设谈判
  • 集团官网及站群网站建设100个科技小制作
  • 临海做 网站四川建设质量安全网站
  • 一个主机 多个网站网站icp备案信息是什么意思
  • 培训网站建设情况甘肃公司的网络营销方案
  • 有的网站网速慢电子商务平台运营是做什么的
  • 做申诉资料网站大气腐蚀网站建设
  • 初创公司网站设计苏州珠海网站建设及优化
  • 有什么网站可以做海报网站空间管理地址
  • wordpress免费主题插件下载谷歌seo怎么提高网站权重
  • 网站灰色代码百度 wordpress插件
  • 网站建立初步教案网页版梦幻西游洞天幻境
  • 网站开发按工时收费wordpress更改后登录地址
  • 火锅料网站方案怎么做建设工程项目管理
  • 2000做网站贵么棋牌软件开发源代码