2
私は次のCypherクエリー/ Spring Data Neo4j 4を持っており、平均重量の基準を返します。具体的にchildDecisionId
のCriterion
に追加されています。Neo4j Cypherクエリー複雑なネストされたQueryResultを持つSDN 4
MATCH (parentD:Decision)-[:CONTAINS]->(childD:Decision)
WHERE id(childD) = {childDecisionId} AND id(parentD) = {parentDecisionId}
WITH childD, parentD MATCH (parentD)<-[:DEFINED_BY]-(c:Criterion)<-[:VOTED_ON]-(vg:VoteGroup)-[:VOTED_FOR]->(childD)
RETURN c AS criterion, vg.avgVotesWeight AS weight
@Query("MATCH (parentD:Decision)-[:CONTAINS]->(childD:Decision) WHERE id(childD) = {childDecisionId} AND id(parentD) = {parentDecisionId} WITH childD, parentD MATCH (parentD)<-[:DEFINED_BY]-(c:Criterion)<-[:VOTED_ON]-(vg:VoteGroup)-[:VOTED_FOR]->(childD) RETURN c AS criterion, vg.avgVotesWeight AS weight")
List<WeightedCriterion> getCriteriaWithAvgVotesWeightForChildDecision(@Param("childDecisionId") Long childDecisionId, @Param("parentDecisionId") Long parentDecisionId);
これはWeightedCriterion
QueryResult
です:
@QueryResult
public class WeightedCriterion {
private Criterion criterion;
private Double weight;
}
単一の子意思決定のためではなく、すべての子の決定のためだけでなく、彼らの平均体重Criterion
のリストを返すために親parentDecisionId
..つまり、このクエリは次のようなものを返します。
List<DecisionWeightedCriterion>
ここで、DecisionWeightedCriterion
は、例えば次のようになります。
@QueryResult
public class DecisionWeightedCriterion {
private Decision decision;
private List<WeightedCriterion> weightedCriteria;
}
ことが可能であり、もしそうなら、あなたはこのサイファークエリで助けてくださいだろうか?私は、次のようにこのクエリを実装している