Neo4j 返回节点的属性,而不展开搜索/查询模式 我有一个节点a,它连接到多个节点b 节点b表示按其通用文档ID分类的测试结果。测试进行多次,直到全部通过。这就是为什么有多个节点b具有相同的genericDocumentId值。它们唯一的区别是createdOn和testedVersion的属性值 我使用max()函数只返回每个genericDocumentId的最新测试结果。查询工作正常,但我还需要返回行中测试结果的相应testedVersion值

Neo4j 返回节点的属性,而不展开搜索/查询模式 我有一个节点a,它连接到多个节点b 节点b表示按其通用文档ID分类的测试结果。测试进行多次,直到全部通过。这就是为什么有多个节点b具有相同的genericDocumentId值。它们唯一的区别是createdOn和testedVersion的属性值 我使用max()函数只返回每个genericDocumentId的最新测试结果。查询工作正常,但我还需要返回行中测试结果的相应testedVersion值,neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,→ 3次点击 当我添加属性时,点击次数会增加,因为查询现在也尊重testedVersion属性并为其创建新的bucket → 7次点击(因为b.testedVersion扩展模式并创建新的存储桶) 我需要的是一种向已过滤的行添加属性的方法,并且不会影响查询 在RETURN中添加testedVersion属性之前,我尝试使用冻结结果,但这不起作用…这能解决您的问题吗 MATCH (a:Software) WITH a OPTIONAL MATCH (a)-[:ISVERIFIED]-(b:T

3次点击

  • 当我添加属性时,点击次数会增加,因为查询现在也尊重
    testedVersion
    属性并为其创建新的bucket
7次点击(因为
b.testedVersion
扩展模式并创建新的存储桶)

我需要的是一种向已过滤的行添加属性的方法,并且不会影响查询


RETURN
中添加
testedVersion
属性之前,我尝试使用
冻结结果,但这不起作用…

这能解决您的问题吗

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

这能解决你的问题吗

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
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