我是否需要在Neo4j中手动创建所有节点?

1tuwyuhd  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(189)

我可能错过了一些东西,因为我对Neo4j非常陌生,但是看看他们的Movie图表--可能是你学习这个平台时要玩的第一个图表--他们给予了我们一段非常大的代码,其中每个节点、标签和属性都是手工输入的,一个接一个。好吧,这看起来对学习目的的小图表是公平的。但是,当我想导入CSV并根据此数据创建图形时,我应该如何进行?我认为根本不需要手动输入。
我的数据看起来像这样:
| 日期|原点|命运|价值|类型|平衡|
| - -|- -|- -|- -|- -|- -|
| 2021年5月1日|A级|B| 500个|转移|小行星2500|
它有超过1万行这样的行。我把它加载为:
RETURN data;
RETURN data;
并且它工作了。数据被加载等等。但是现在我有一些问题:
1-如果我想把origin作为一个节点,把destiny作为另一个节点,把type作为边,把value作为属性,我该怎么做?我的意思是,我知道如何像(a)->[]->(b)那样创建它,但如何创建整个图,而不需要逐个边、逐个节点、逐个属性等等?
2-我是否可以选择date并查看此图表的时间演变?我想查看2021年5月20日、2021年5月1日等时间段内的所有交易,并查看其演变情况。是否可以?

a6b3iqyw

a6b3iqyw1#

正如官方文档中的示例所示:https://neo4j.com/docs/operations-manual/current/tutorial/neo4j-admin-import/#tutorial-neo4j-admin-import
您可能需要为导入创建3个单独的文件:

首先:您需要movies.csv来导入标签为“Movie”的节点

  1. movieId:ID,title,year:int,:LABEL
  2. tt0133093,"The Matrix",1999,Movie
  3. tt0234215,"The Matrix Reloaded",2003,Movie;Sequel
  4. tt0242653,"The Matrix Revolutions",2003,Movie;Sequel

第二:您需要actors.csv来导入标签为Actor的节点

  1. personId:ID,name,:LABEL
  2. keanu,"Keanu Reeves",Actor
  3. laurence,"Laurence Fishburne",Actor
  4. carrieanne,"Carrie-Anne Moss",Actor

最后,您可以导入关系

正如您所看到的,演员和电影已经导入。因此,现在您只需要指定关系。在本例中,您将以给定的格式导入ROLE关系:

  1. :START_ID,role,:END_ID,:TYPE
  2. keanu,"Neo",tt0133093,ACTED_IN
  3. keanu,"Neo",tt0234215,ACTED_IN
  4. keanu,"Neo",tt0242653,ACTED_IN
  5. laurence,"Morpheus",tt0133093,ACTED_IN
  6. laurence,"Morpheus",tt0234215,ACTED_IN
  7. laurence,"Morpheus",tt0242653,ACTED_IN
  8. carrieanne,"Trinity",tt0133093,ACTED_IN
  9. carrieanne,"Trinity",tt0234215,ACTED_IN
  10. carrieanne,"Trinity",tt0242653,ACTED_IN

如标题所示,您可以看到以下值:START_ID -关系开始的位置,从哪个节点开始角色-属性名称(您可以在此指定多个属性,只要确保csv格式包含它的数据即可):END_IN -关系结束的位置,到哪个节点:TYPE -关系的类型
就是这样:)

展开查看全部

相关问题