如何使用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的是为重复值创建多个节点。如何为多个值创建单节点并将所有其他相关节点连接到该单节点?

回答:

  1. 关系没有labels。他们有一个type
  2. 如果您需要指定变量中关系的类型,则需要使用APOC library中的过程apoc.create.relationship
  3. 为避免创建重复节点,请使用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

回到顶部