Neo4j上的Common Tag不起作用

时间:2015-12-21 17:29:33

标签: neo4j cypher

我想知道为什么我的查询在我得到答案之前不起作用:

我喜欢" Person"谁与人之间的关系" HAS" lables as" Data"和数据连接关系" TAGGED"标记为另一个节点

我想获得两个人之间的共同标签

MATCH (o:Person {username: "Mahsa" })-[:HAS]-()-[r1:TAGGED]->(tag)
      <- [r2:TAGGED]-()-[:HAS]-(f:Person {username: "Frank"}) 
return tag.name

我的图表设置:

CREATE (_0 { `name`:"Mahsa" }) 
CREATE (_1 { `name`:"Frank" })
CREATE (_2 { `name`:"Data1" })
CREATE (_3 { `name`:"Data2" })
CREATE (_4 { `name`:"Tag1" })
CREATE (_5 { `name`:"Tag2" })
CREATE (_6 { `name`:"Tag3" })
CREATE (_7 { `name`:"Tag4" })
CREATE _0-[:`HAS`]->_2
CREATE _0-[:`HAS`]->_3
CREATE _1-[:`HAS`]->_2
CREATE _1-[:`HAS`]->_3
CREATE _2-[:`TAGGED`]->_4
CREATE _2-[:`TAGGED`]->_5
CREATE _3-[:`TAGGED`]->_6
CREATE _3-[:`TAGGED`]->_7 

当我再次在http://console.neo4j.org/上测试此查询时,我得到null:

MATCH (me)-[:HAS]->(myFavorites)-[:TAGGED]->(tag)
         <-[:TAGGED]-(theirFavorites)<-[:HAS]-(people)
WHERE me.name = 'Mahsa' AND NOT me=people
RETURN people.name AS name, count(*) AS similar_favs
ORDER BY similar_favs DESC

1 个答案:

答案 0 :(得分:1)

您的所有代码均未共享。

如果您将设置更改为共享Tag1Tag2,则会返回......

create 
(_0  {`name`:"Mahsa"}),
(_1  {`name`:"Frank"}),
(_2  {`name`:"Data1"}),
(_3  {`name`:"Data2"}),
(_4  {`name`:"Tag1"}),
(_5  {`name`:"Tag2"}),
_0-[:HAS]->_3,
_0-[:HAS]->_2,
_1-[:HAS]->_3,
_1-[:HAS]->_2,
_2-[:TAGGED]->_5,
_2-[:TAGGED]->_4,
_3-[:TAGGED]->_5,
_3-[:TAGGED]->_4

请参阅:http://console.neo4j.org/r/9a9cto

您的数据设置错误,它错过了第一个查询的标签和正确的属性名称!