在路径查询方面没有太多经验Cypher
,但似乎路径是有效地做我想做的事情的合理方式......
我在我的有以下相关关系Neo4j
:
p1-[r:SNEAK]->otherProfile
p1-[r:FRIEND]-otherProfile (the direction not relevant)
p1-[r:HANG]->venue<-[r:HANG]-otherProfile
p1-[r:INTERACT]->session<-[r:INTERACT]-otherProfile
p1-[r:INTERACT]->session<-[r:LIKE]-otherProfile
假设我手中有p1,我想执行查询以检索所有配置文件,其中至少存在以下一个条件(在配置文件上具有不同):
- p1 偷偷摸摸
- p1 是(朋友)|| (朋友的朋友)
- p1 至少挂一个场地作为他们
- p1 与他们进行了会话
- p1 有一个会议,他们很喜欢
我还需要能够提取关系类型以找出这些配置文件之间的关系......
- 让我们假设这些是数据库中的所有关系类型
起初看起来很简单,只需检索以下所有路径:
p=p1-[r*1..2]-profile
几乎没有问题:
1) 它还将返回偷偷摸摸p1
的个人资料
2) 它还将返回p1朋友之一偷偷看他们
的个人资料 3) 它还将返回个人资料p1的朋友偷偷摸摸他们的个人资料
是否可以执行一个Cypher
查询来为我的用例完成这项工作?