当节点之间没有直接关系时,向Neo4j中的csvfile中的关系添加属性

比里什

我有这3个节点(User,Tweet,Token),如下所示:

:User with this property {userID}
:Token with this property {word}
:Tweet with this properties {tweetID, userID, tweetTxt}

目前的关系如下:

(:Tweet)<-[:MADE]-(:User) (:Token)<-[:CONTAINS {tweet_score}]-(:Tweet)

现在考虑以下csv文件:

userToken.csv
_________________________________________
token,userID,score
that_danielle,15990804,0.111140564157
foodies,15990804,0.159946268074
soft-launched,15990804,0.132826927255
email,60730027,0.0561669544423
email,60730027,0.105124263028
email,60730027,0.0453705868273
email,60730027,0.0967876752689
email,32785000,0.101566813224
you,60730027,0.0835723672219

我需要向“ CONTAINS”关系中添加一个名为“ user_score”的新属性,并且应从userToken.csv文件中检索此分数。在以下代码中,我尝试执行以下操作:匹配“ p”以包含用户拥有的所有:Token节点(不确定是否确实有效!),然后使用这些“ p”从csv添加“ user_score”文件与“ CONTAINS”的关系:

USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM "file:///..../userToken.csv" AS csvrow
MATCH p=(u:User)-[*2]->(tok:Token)
with p
where u.userID = toInt(csvrow.userID)
FOREACH (n IN nodes(p)| SET n.user_score = toFloat(csvrow.score) )

这是我的节点和关系的样子!!!

这将返回一个错误:

"csvrow not defined (line 6, column 52 (offset: 258))
"FOREACH (n IN nodes(p)| SET n.user_score = toFloat(csvrow.score) )""

你能帮我解决吗?

PS:不确定我的问题的标题:/

克里斯托夫·威廉森(Christophe Willemsen)
USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM "file:///..../userToken.csv" AS csvrow
MATCH p=(u:User)-[*2]->(tok:Token)
with p
where u.userID = toInt(csvrow.userID)
FOREACH (n IN nodes(p)| SET n.user_score = toFloat(csvrow.score) )

WITH之后没有提供的所有内容都将不可用,因此,如果您不进行传递csvrow,则不再绑定到查询的其余部分。

但是,您绝对不需要在这里使用。其次,您在此处的查询会将分数添加到路径中的所有节点,因此在用户节点,tweet和令牌上也是如此。

当您希望将其放置在CONTAINS关系上时,可以这样进行:

USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM "file:///..../userToken.csv" AS csvrow
MATCH (u:User)
where u.userID = toInt(csvrow.userID)
MATCH (u)-[:MADE]->(tweet)-[r:CONTAINS]->(token)
SET r.user_score = csvrow.score

但是,此查询还将在用户节点上添加一个user_score

注释后编辑(假设令牌节点上的属性键为name

USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM "file:///..../userToken.csv" AS csvrow
MATCH (u:User)
where u.userID = toInt(csvrow.userID)
MATCH (u)-[:MADE]->(tweet)-[r:CONTAINS]->(token)
WHERE token.name = csvrow.token
SET r.user_score = csvrow.score

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Neo4j 中添加与现有节点的关系

来自分类Dev

连接表与cakephp中的主表没有直接关系

来自分类Dev

neo4j中节点之间的版本控制关系

来自分类Dev

在neo4j中创建节点之间的关系

来自分类Dev

neo4j中节点之间的版本控制关系

来自分类Dev

Neo4j:在现有节点之间添加关系时出错

来自分类Dev

没有直接关系的Sql表联接[codeigniter]

来自分类Dev

在Neo4j中创建后续节点之间的关系(日期属性)

来自分类Dev

从Neo4j中的现有设置添加唯一节点及其之间的关系

来自分类Dev

Angular 2,在没有直接关系的两个组件之间共享对象

来自分类Dev

MySQL查询在没有直接关系的两个表之间搜索

来自分类Dev

Angular 2,在没有直接关系的两个组件之间共享对象

来自分类Dev

我如何根据NEO4J中是否存在关系在返回节点上添加属性

来自分类Dev

获取Neo4j中没有特定关系的所有节点

来自分类Dev

Neo4j中的关系属性

来自分类Dev

如何使用带有GraphRepository的springdata Neo4j从两个节点之间的关系集合中获取关系

来自分类Dev

根据Neo4j中的Time属性在节点之间创建有向边

来自分类Dev

检查Neo4J中2个节点之间是否存在关系,如果没有,则创建具有随机ID的节点

来自分类Dev

Neo4j在使用apoc.merge.relationship()时向关系添加属性

来自分类Dev

使用Neo4jClient获取Neo4j中关系节点的属性

来自分类Dev

如何在neo4j中创建具有相同节点名称的两个节点之间的关系

来自分类Dev

查询可在没有克隆过程的情况下复制neo4j中具有关系的节点

来自分类Dev

根据neo4j中的父关系查找节点

来自分类Dev

在Neo4j中连接相同节点的关系

来自分类Dev

我可以找到neo4j中两个节点之间的所有关系吗?

来自分类Dev

如何在neo4j中的标签下分组的节点之间创建关系?

来自分类Dev

如何在Neo4j中隐藏节点之间不需要的关系

来自分类Dev

如何找到neo4j中两个节点之间最短的关系?

来自分类Dev

neo4j密码查询,以获取关系属性中具有相同序列ID的节点序列

Related 相关文章

  1. 1

    在 Neo4j 中添加与现有节点的关系

  2. 2

    连接表与cakephp中的主表没有直接关系

  3. 3

    neo4j中节点之间的版本控制关系

  4. 4

    在neo4j中创建节点之间的关系

  5. 5

    neo4j中节点之间的版本控制关系

  6. 6

    Neo4j:在现有节点之间添加关系时出错

  7. 7

    没有直接关系的Sql表联接[codeigniter]

  8. 8

    在Neo4j中创建后续节点之间的关系(日期属性)

  9. 9

    从Neo4j中的现有设置添加唯一节点及其之间的关系

  10. 10

    Angular 2,在没有直接关系的两个组件之间共享对象

  11. 11

    MySQL查询在没有直接关系的两个表之间搜索

  12. 12

    Angular 2,在没有直接关系的两个组件之间共享对象

  13. 13

    我如何根据NEO4J中是否存在关系在返回节点上添加属性

  14. 14

    获取Neo4j中没有特定关系的所有节点

  15. 15

    Neo4j中的关系属性

  16. 16

    如何使用带有GraphRepository的springdata Neo4j从两个节点之间的关系集合中获取关系

  17. 17

    根据Neo4j中的Time属性在节点之间创建有向边

  18. 18

    检查Neo4J中2个节点之间是否存在关系,如果没有,则创建具有随机ID的节点

  19. 19

    Neo4j在使用apoc.merge.relationship()时向关系添加属性

  20. 20

    使用Neo4jClient获取Neo4j中关系节点的属性

  21. 21

    如何在neo4j中创建具有相同节点名称的两个节点之间的关系

  22. 22

    查询可在没有克隆过程的情况下复制neo4j中具有关系的节点

  23. 23

    根据neo4j中的父关系查找节点

  24. 24

    在Neo4j中连接相同节点的关系

  25. 25

    我可以找到neo4j中两个节点之间的所有关系吗?

  26. 26

    如何在neo4j中的标签下分组的节点之间创建关系?

  27. 27

    如何在Neo4j中隐藏节点之间不需要的关系

  28. 28

    如何找到neo4j中两个节点之间最短的关系?

  29. 29

    neo4j密码查询,以获取关系属性中具有相同序列ID的节点序列

热门标签

归档