Java Neo4j中的加权图

Java Neo4j中的加权图,java,graph,neo4j,Java,Graph,Neo4j,我有一个Neo4j实例正在运行。我的关系是有分量的。一个这样的例子是代表世界上所有的地方,每个地方之间都有一段距离 现在,在两个节点a和B之间创建关系似乎很容易: Relationship relationship = A.createRelationshipTo(B, Relations.Knows ); 但关系的实际实力如何呢。这里有一个建议: create a-[:`KNOWS_0.34`]->b 这是可行的,但不是一个特别好的解决方案,特别是如果您想根据权重计算最短距离 是否有

我有一个Neo4j实例正在运行。我的关系是有分量的。一个这样的例子是代表世界上所有的地方,每个地方之间都有一段距离

现在,在两个节点a和B之间创建关系似乎很容易:

Relationship relationship = A.createRelationshipTo(B, Relations.Knows );
但关系的实际实力如何呢。这里有一个建议:

create a-[:`KNOWS_0.34`]->b
这是可行的,但不是一个特别好的解决方案,特别是如果您想根据权重计算最短距离


是否有必要执行此操作并存储关系int或float?

我不知道这一点,但似乎您可以在创建
关系时设置其他属性:

Relationship relAB = createRelationship( nodeA, nodeC, "length", 2d );

在你们的关系中使用权重属性是一个很好的方法


看看Neo4j教程页面中的内容。它描述了使用加权关系寻找最短路径的各种方法,例如使用Dijkstra或A*算法。可以找到一个很好的dijkstra示例。

Neo4j是一个属性图,这意味着您可以在节点和关系上拥有任意数量的属性。您知道路径有什么功能吗,我想要从一个节点到另一个节点的路径,是最短的,但使用的权重最大?您可以检索两个节点之间的所有最短路径,然后比较它们的权重:此函数查找最短路径(单数而非复数:()嗯,您应该已经阅读了整个部分:)。你有“所有最短路径”和“最短路径”