0
私はのNeo4jを学ぶだけでなく、よりよいグラフデータベースの概念を理解するために、小さな接続構造を開発しています
を次のように私は少数のユーザーとそれらの間の関係があることを知っているを持っています
私はのNeo4jに、その後の間のノードとの関係を作成するには、次のcqlsを持っています。
CREATE (user1:User {name:"User1",mail:"[email protected]",mobile: 9000090001})
CREATE (user2:User {name:"User2",mail:"[email protected]",mobile: 9000090002})
CREATE (user3:User {name:"User3",mail:"[email protected]",mobile: 9000090003})
CREATE (user4:User {name:"User4",mail:"[email protected]",mobile: 9000090004})
CREATE (user5:User {name:"User5",mail:"[email protected]",mobile: 9000090005})
CREATE (user6:User {name:"User6",mail:"[email protected]",mobile: 9000090006})
CREATE (user7:User {name:"User7",mail:"[email protected]",mobile: 9000090007})
CREATE (user8:User {name:"User8",mail:"[email protected]",mobile: 9000090008})
CREATE (user9:User {name:"User9",mail:"[email protected]",mobile: 9000090009})
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090001 AND user2.mobile = 9000090002 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090001 AND user2.mobile = 9000090003 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090002 AND user2.mobile = 9000090004 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090002 AND user2.mobile = 9000090005 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090003 AND user2.mobile = 9000090006 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090005 AND user2.mobile = 9000090007 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090005 AND user2.mobile = 9000090008 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
MATCH (user1:User), (user2:User) WHERE user1.mobile = 9000090006 AND user2.mobile = 9000090009 CREATE (user1)-[knows:KNOWS ]->(user2) RETURN user1, user2
今私は、特定のユーザーのためのレベル2またはレベル3の接続を取得したいです。例えば
:
If I ask for level-2 connections for User1 then I should get User4, User5, User6
If I ask for level-3 connections for User1 then I should get User7, User8, User9
私はこの1つは私にUser1が持っているすべての直接または間接的な接続を与えている、次のCQL
START levelGraph=node(1)
MATCH path=(user1:User)-[knows:KNOWS*1..]->(user2:User)
WHERE user1.mobile = 9000090001
RETURN user1, user2, length(path) as downlevel
ORDER BY length(path) asc
を持っています。誰もがこの
私は双方向の関係を持っている場合はどうしたらいいですか?する必要があります? –
私はあなたが何を意味しているか分かりません。おそらくMATCH path =(user1:User) - [知っている:KNOWS * 2..2] - (user2:User)のようなものが – Evgen
ここで新しい質問を投稿http://stackoverflow.com/questions/36596002/レベル2またはレベル3の接続 - 双方向関係の場合 –