我正在使用下面的查询创建一个模块名作为行的列表。作为列,我希望有几个计数基于表达式,ABC和大小函数。->大小。在过去,我使用了花括号来指定应该选择哪些类型的Test节点。
MATCH (ireq:InternalRequirement)
RETURN DISTINCT ireq.fullModuleName AS ModName,
size([x IN collect(ireq) WHERE (x)<-[:TESTS]-(:Test {project: 'CustomerA', type: 'HIL'})
AND x.reqLevel CONTAINS 'SW' | x.reqLevel]) as SW_Reqs_HIL不幸的是,我的数据中项目的命名并不是一致的。'CustomerA_ext')。这就是为什么我需要一个更模糊的方法。我想在项目-属性上使用。在一个普通的匹配子句中,这是没有问题的,但是在这个大小函数中,我得到了一个错误:"ts“没有定义”“。我该怎么定义它呢?还是有更好的解决方案来匹配多个属性与包含?
MATCH (ireq:InternalRequirement)
RETURN DISTINCT ireq.fullModuleName AS ModName,
size([x IN collect(ireq) WHERE (x)<-[:TESTS]-(ts:Test)
AND ts.project CONTAINS 'CustomerA'
AND ts.type CONTAINS 'HIL'
AND x.reqLevel CONTAINS 'SW' | x.reqLevel]) as SW_Reqs_HIL发布于 2018-03-13 19:24:13
下面的查询使用OPTIONAL MATCH来执行您可能想做的事情。
MATCH (ireq:InternalRequirement)
OPTIONAL MATCH (ireq)<-[:TESTS]-(ts:Test)
WHERE
ireq.reqLevel CONTAINS 'SW' AND
ts.project CONTAINS 'CustomerA' AND
ts.type CONTAINS 'HIL'
RETURN ireq.fullModuleName AS ModName, COUNT(ts) as SW_Reqs_HIL;请注意,WHERE子句仅适用于紧接前面的(OPTIONAL) MATCH__。
https://stackoverflow.com/questions/49262009
复制相似问题