如果我错了,请纠正我,但这种类型的Cypher语句会检查关系的存在:
start n=node(*)
match (n)-[:SOME_RELATIONSHIP]-()
return distinct n
要快速重申,如果仅存在[:SOME_RELATIONSHIP]
,那么我们将获得匹配和结果。
但是,如果您的图表以这种方式设置,所有您的节点都有[:SOME_RELATIONSHIP]
,会发生什么。这些关系之间的区别因素包含 in 这种关系?
换句话说,我说有一个包含属性的边缘。事实上,我的图中的边缘比它们连接的节点具有更多的属性。
我发现很难查询这样的图表,因为Cypher语法只允许我检查是否存在关系。我想根据边缘的属性构建查询! Cypher允许这样做吗?
答案 0 :(得分:1)
可以使用关系属性进行查询。您可以采用与节点相同的方式执行此操作:
match (n)-[r:SOME_RELATIONSHIP]-()
where r.someProperty = someValue
return distinct n
或
match (n)-[:SOME_RELATIONSHIP { someProperty: someValue }]-()
return distinct n