cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Question on Node Similarity Algorithm: how many orders of neighbour are used for calculation

Hi there,

This is my first time trying to use Data Science Algorithm, and I want to use node similarity for finding similarity between users of my system.

My question is, for node similarity algorithm, does it calculate the similarity based on only the first order neighbours or all the way to the end of the path of one node?

It'd be really great if i can get this clear up. Thank you very much in advance.

1 ACCEPTED SOLUTION

NodeSimilarity uses only the immediate neighbors in the calculation.

If you want to use the topology of the whole graph, we'd recommend using a node embedding (like FastRP) and combining that with cosine similarity or KNN.

From a computational perspective, comparing nodes baed on their one degree neighbors is expensive - using the same methodology at various depths would be prohibitively slow. What FastRP will do is encode the graph topology around each node into a numerical representation, and then KNN intelligently compares nodes to find the most similar ones based on properties.

View solution in original post

2 REPLIES 2

NodeSimilarity uses only the immediate neighbors in the calculation.

If you want to use the topology of the whole graph, we'd recommend using a node embedding (like FastRP) and combining that with cosine similarity or KNN.

From a computational perspective, comparing nodes baed on their one degree neighbors is expensive - using the same methodology at various depths would be prohibitively slow. What FastRP will do is encode the graph topology around each node into a numerical representation, and then KNN intelligently compares nodes to find the most similar ones based on properties.

I see. I did try to use FastRP. However, since my graph has multiple nodes label and several properties on the relationship, i kept getting error. I will try to revisit the codes and see what went wrong.

Thanks Alicia, your explanation made things more clear for me!