Return 属性 节点未扩展 search/query 模式
Return property of node without expanding search/query pattern
- 我有一个节点
a
连接到多个节点 b
。
- 节点
b
表示按 genericDocumentId
分类的测试结果。测试会执行多次,直到全部通过。这就是为什么有多个节点 b
具有相同的值 genericDocumentId
。它们唯一的区别是 createdOn
和 testedVersion
的 属性 值。
- 我使用
max()
函数只 return 每个 genericDocumentId
的最新测试结果。查询工作正常,但我还需要 returned 行中测试结果的相应 testedVersion
值!
MATCH (a:Software)
WITH a OPTIONAL MATCH (a)-[:ISVERIFIED]-(b:Test)
RETURN a.objId, b.documentId, max(b.createdOn)
→ 3 次点击
- 当我添加 属性 时,命中数增加了,因为查询现在也尊重
testedVersion
属性 并为其创建新的存储桶。
MATCH (a:Software)
WITH a OPTIONAL MATCH (a)-[:ISVERIFIED]-(b:Test)
RETURN a.objId, b.documentId, max(b.createdOn), b.testedVersion
→ 7 次命中(因为b.testedVersion
扩展了模式并创建了新的桶)
我需要的是一种向已过滤的行添加属性并且不影响查询的方法!
我在 RETURN
中添加 testedVersion
属性 之前尝试 WITH
到 'freeze' 结果,但这不起作用...
这是否解决了您的问题?
MATCH (a:Software)
WITH a
OPTIONAL MATCH (a)-[:ISVERIFIED]-(b:Test)
WITH a.objId AS obj_id, b.documentId AS doc_id, b
ORDER BY obj_id, doc_id, b.createdOn DESC
RETURN obj_id, doc_id, collect(b)[0] AS most_recent
- 我有一个节点
a
连接到多个节点b
。 - 节点
b
表示按genericDocumentId
分类的测试结果。测试会执行多次,直到全部通过。这就是为什么有多个节点b
具有相同的值genericDocumentId
。它们唯一的区别是createdOn
和testedVersion
的 属性 值。 - 我使用
max()
函数只 return 每个genericDocumentId
的最新测试结果。查询工作正常,但我还需要 returned 行中测试结果的相应testedVersion
值!
MATCH (a:Software)
WITH a OPTIONAL MATCH (a)-[:ISVERIFIED]-(b:Test)
RETURN a.objId, b.documentId, max(b.createdOn)
→ 3 次点击
- 当我添加 属性 时,命中数增加了,因为查询现在也尊重
testedVersion
属性 并为其创建新的存储桶。
MATCH (a:Software)
WITH a OPTIONAL MATCH (a)-[:ISVERIFIED]-(b:Test)
RETURN a.objId, b.documentId, max(b.createdOn), b.testedVersion
→ 7 次命中(因为b.testedVersion
扩展了模式并创建了新的桶)
我需要的是一种向已过滤的行添加属性并且不影响查询的方法!
我在 RETURN
中添加 testedVersion
属性 之前尝试 WITH
到 'freeze' 结果,但这不起作用...
这是否解决了您的问题?
MATCH (a:Software)
WITH a
OPTIONAL MATCH (a)-[:ISVERIFIED]-(b:Test)
WITH a.objId AS obj_id, b.documentId AS doc_id, b
ORDER BY obj_id, doc_id, b.createdOn DESC
RETURN obj_id, doc_id, collect(b)[0] AS most_recent