Neo4j 从密码查询的关系中获取属性
我有一个问题:Neo4j 从密码查询的关系中获取属性,neo4j,cypher,Neo4j,Cypher,我有一个问题: Match (:Company{value:{value}})<-[partOf:PART_OF*]-(per:Person) -[:MEMBER_OF]->(group:Social) Return {Group: {name:group.name, nodeId:group.nodeId, tags:labels(group), people:collect({name:per.name, nodeId:per.nodeId, tags:lab
Match (:Company{value:{value}})<-[partOf:PART_OF*]-(per:Person)
-[:MEMBER_OF]->(group:Social)
Return {Group: {name:group.name, nodeId:group.nodeId, tags:labels(group),
people:collect({name:per.name, nodeId:per.nodeId, tags:labels(per)})}}
Match(:公司{value:{value}})(组:社会)
返回{Group:{name:Group.name,nodeId:Group.nodeId,标记:标签(组),
人员:收集({name:per.name,nodeId:per.nodeId,tags:labels(per)}}
我想从“partOf”检索特定属性,这可能吗?或者我是否使用类似路径的方法,在每次传递中获取关系及其属性
多谢各位
编辑:考虑到Chris的评论,如果我使用“*…2”这不是很多数据,我想从这些关系中检索属性,该怎么办 使用
-[:PART\u OF*]-
进行查询时,它将匹配类型为:PART\u OF
的无限关系链(和中间节点)。这是由*
引起的。因此的标识符部分并不是指单个关系,而是指它们的整个集合
因此,您无法从
的部分获取特定属性,因为它是一个集合,而不是一个具有属性的对象(单个节点或关系)
注意:您几乎不想这样使用“*”,因为它可以很容易地匹配图形中的大量数据
如果要从
集合的部分中的元素获取属性,可以尝试以下方法之一:
- 选取偏移量,例如[0]的
部分。prop
,部分[1]。prop
等
- 将您感兴趣的属性聚合到一个自己的集合中,例如,
[r in part of | r.prop]
(现在您有了一个包含每个关系的属性值的新集合)。或者将它们相加(假设它们是一个数字),例如reduce(acc=0,r在| acc+r.prop的一部分)
嘿,克里斯,我知道这样做效率不高,但我有这样的要求:)。好啊这个答案是正确的,对吗?无法从集合中获取属性。我将编辑并添加有关从集合中提取的详细信息。。。