A node similarity algorithm compares nodes through their neighbors. In a bipartite network, it typically compares one node type—such as users or tweets—using the other type as the comparison set. Jaccard similarity divides the intersection of two neighbor sets by their union; the algorithm can also use the overlap coefficient. section 7.2.2
A practical GDS workflow involves:
- Project the graph with the intended relationship orientation. For tweet–tag data, reverse HAS_TAG so tweets are compared by the tags they point to conceptually, rather than comparing tags by shared tweets. section 7.2.2
- Use stats mode to inspect nodesCompared, similarityPairs, and the similarityDistribution before creating a dense inferred network. section 7.7
- Apply similarityCutoff to retain only relationships above a chosen similarity threshold, then use topK when limiting similar relationships per node. section 7.7
From hashtags to co-occurrence
Suppose tweets connect to hashtag nodes through HAS_TAG. Projecting reversed HAS_TAG relationships lets the algorithm compare tweets by shared hashtags. A Jaccard cutoff of 0.33 reduces the observed similarity pairs from 13,402 to 7,733 in the illustrated distribution; the retained similarities can then be mutated as CO_OCCURRENCE relationships.
