【发布时间】:2015-08-12 06:46:22
【问题描述】:
在我的 Neo4j/SDN 应用程序中,我遇到了性能问题,因为获取包含与节点的关系的 VoteGroup 节点 - Decision 和 Criterion。
此处描述的详细信息 - Neo4j slow creation method
在我的应用程序中,每对 Decision 和 Criterion 都有一个 Vote 列表。每个Vote 都有weight(double)。
我需要根据每对 Decision 和 Criterion 上所有 Vote 的平均值执行一些数学运算。
以前每个 Vote 都包含对节点的引用 - Decision 和 Criterion(就像现在的 VoteGroup)。
为了提高在每对 Decision 和 Criterion 上获取所有 Vote 平均值的性能,我引入了新的中间节点 VoteGroup,其中包含与节点的关系 - Decision 和 Criterion ,为此Decision 和Criterion 为所有Vote 预先计算avgWeight,并且还包含对所有这些Vote 的引用。
现在我在获取VoteGroup 时遇到性能问题:
MATCH (d:Decision)<-[:VOTED_FOR]-(vg:VoteGroup)-[:VOTED_ON]->(c:Criterion)
WHERE id(d) = {decisionId} AND id(c) = {criterionId}
RETURN vg
我不知道有什么问题..可能是我创建了错误的图形结构或其他什么..
请帮我解决这个问题。
【问题讨论】:
标签: neo4j cypher spring-data-neo4j graph-databases