![](/img/trans.png)
[英]How do I get all nodes that do not contain (relate) nodes with certain property in Cypher Neo4j
[英]Do I need to create all nodes by hand in Neo4j?
我可能遗漏了一些东西,因为我是 Neo4j 的新手,但是看看他们的 Movie 图——可能是您学习该平台时使用的第一个图——他们给了我们一段非常大的代码,其中每个节点和标签以及属性是手工估算的,一个接一个。 好的,对于用于学习目的的小图来说似乎很公平。 但是,当我想导入 CSV 并根据该数据创建图表时,我应该如何进行? 我相信根本不需要手动输入。
我的数据看起来像这样:
日期 | 起源 | 命运 | 价值 | 类型 | 平衡 |
---|---|---|---|---|---|
01-05-2021 | 一种 | 乙 | 500 | 传输 | 2500 |
它有超过 10,000 行这样的行。 我将其加载为:
LOAD CSV FROM "file:///MyData.csv" AS data
RETURN data;
它奏效了。 数据已加载等。但现在我有一些问题:
1-如果我希望origin
是一个节点,而destiny
是另一个节点, type
是边, value
是属性,我该如何继续? 我的意思是,我知道如何像(a)->[]->(b)
一样创建它,但是如何创建整个图形而不创建边边、节点、属性等...?
2- 我是否能够输入 select date
并查看此图的时间演化? 我想查看 20-05-2021、01-05-2021 等的所有交易,看看它是如何演变的。 是否可以?
正如官方文档中的示例所示: https://neo4j.com/docs/operations-manual/current/tutorial/neo4j-admin-import/#tutorial-neo4j-admin-import
您可能需要为导入创建 3 个单独的文件:
首先:您需要 movies.csv 来导入带有 label:Movie 的节点
movieId:ID,title,year:int,:LABEL
tt0133093,"The Matrix",1999,Movie
tt0234215,"The Matrix Reloaded",2003,Movie;Sequel
tt0242653,"The Matrix Revolutions",2003,Movie;Sequel
第二:你需要 actors.csv 来导入节点 label:Actor
personId:ID,name,:LABEL
keanu,"Keanu Reeves",Actor
laurence,"Laurence Fishburne",Actor
carrieanne,"Carrie-Anne Moss",Actor
最后,您可以导入关系
如您所见,演员和电影已经导入。 所以现在你只需要指定关系。 在示例中,您正在以给定格式导入 ROLE 关系:
:START_ID,role,:END_ID,:TYPE
keanu,"Neo",tt0133093,ACTED_IN
keanu,"Neo",tt0234215,ACTED_IN
keanu,"Neo",tt0242653,ACTED_IN
laurence,"Morpheus",tt0133093,ACTED_IN
laurence,"Morpheus",tt0234215,ACTED_IN
laurence,"Morpheus",tt0242653,ACTED_IN
carrieanne,"Trinity",tt0133093,ACTED_IN
carrieanne,"Trinity",tt0234215,ACTED_IN
carrieanne,"Trinity",tt0242653,ACTED_IN
因此,正如您在 header 中看到的那样,您有以下值:START_ID - 关系从哪里开始,从哪个节点角色 - 属性名称(您可以在此处指定多个属性,只需确保 csv 格式包含它的数据):END_IN -关系结束的地方,到哪个节点:TYPE - 关系的类型
就这样:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.