如何使用CSV文件中的值作为neo4j中的关系标记?
我试图创建一个Neo4j的图形和我的数据是在CSV文件看起来像如何使用CSV文件中的值作为neo4j中的关系标记?
node1,connection,node2 PPARA,0.5,PPARGC1A
PPARA,0.5,ENSG00000236349
PPARA,0.5,TSPA
我想connection
值,如图形,我是无法做到的关系标签使用。以下是我用来创建图形的确切代码。
LOAD CSV WITH HEADERS FROM "file:///C:/Users/username/Desktop/Cytoscape-friend.csv" AS network CREATE (:GeneRN2{sourceNode:network.node1, destNode:network.node2})
CREATE (sourceNode) -[:TO {exp:network.connection}] ->(destNode)
我的第二个问题是,因为在我的文件中有多个重复值,默认情况下Neo4j的是为重复值创建多个节点。如何为多个值创建单节点并将所有其他相关节点连接到该单节点?
回答:
- 关系没有
labels
。他们有一个type
。 - 如果您需要指定变量中关系的类型,则需要使用
APOC library
中的过程apoc.create.relationship
。 - 为避免创建重复节点,请使用
MERGE
而不是CREATE
。
所以您的查询可能是这样的:
LOAD CSV WITH HEADERS FROM "file:///C:/Users/username/Desktop/Cytoscape-friend.csv"
AS network
MERGE (sourceNode {id:network.node1})
MERGE (destNode {id:network.node2})
WITH sourceNode,
destNode,
network
CALL apoc.create.relationship(sourceNode, network.connection, {}, destNode) yield rel
RETURN sourceNode,
rel,
destNode
以上是 如何使用CSV文件中的值作为neo4j中的关系标记? 的全部内容, 来源链接: utcz.com/qa/261002.html