Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Weighted graph in Neo4j

Tags:

java

graph

neo4j

I have a Neo4j instance running. I have relationships which are weighted. One such example is representing all places in the world, and having a distance between each place.

Now it seems easy to create a relationship between two nodes, A and B:

Relationship relationship = A.createRelationshipTo(B, Relations.Knows );

But what about actual strength of the relationship. Theres been a suggestion on here as :

create a-[:`KNOWS_0.34`]->b

This works, but isn't a particularly great solution, particularly if you wanted to calculate a shortest distance dependent on the weights.

Is there anyway of doing this and storing the relationship int or float?

like image 780
redrubia Avatar asked Mar 20 '23 09:03

redrubia


1 Answers

I wasn't aware of this, but seems you can set additional properties when creating a Relationship:

Relationship relAB = createRelationship( nodeA, nodeC, "length", 2d );
like image 105
redrubia Avatar answered Mar 27 '23 15:03

redrubia