Mahsa Hassankashi
Mahsa Hassankashi

Reputation: 2139

Common Tag on Neo4j does not work

I wonder why my query does not work while before I could get answer from it:

I have lable as "Person" who are connected to with relation "HAS" lables as "Data" and Data are connected to with relation "TAGGED" Tag as another node

I want to gain common tag between two person

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

my Graph setup:

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 

and when I test this query on http://console.neo4j.org/ again I get 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

Upvotes: 1

Views: 59

Answers (1)

Michael Hunger
Michael Hunger

Reputation: 41676

None of your tags are shared.

If you change your setup to have Tag1 and Tag2 shared then it returns sth.

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

see: http://console.neo4j.org/r/9a9cto

Your data setup is wrong, it misses labels and the correct property-names for your first query!

Upvotes: 1

Related Questions