Skip to content

Similarity Algorithms

Measure similarity between nodes or graphs.

Coming Soon

These algorithms are planned for upcoming releases.

Node Similarity

Cosine Similarity

Based on shared neighbors.

from grafeo.algorithms import node_similarity

similar_nodes = node_similarity(db,
    node_id=1,
    method='cosine',
    limit=10
)

Jaccard Similarity

Based on neighbor overlap.

similar_nodes = node_similarity(db,
    node_id=1,
    method='jaccard',
    limit=10
)

Overlap Coefficient

Minimum set comparison.

similar_nodes = node_similarity(db,
    node_id=1,
    method='overlap',
    limit=10
)

Pairwise Similarity

Compare two specific nodes.

from grafeo.algorithms import pairwise_similarity

score = pairwise_similarity(db,
    node_a=1,
    node_b=2,
    method='cosine'
)

Graph Similarity

Compare entire graphs or subgraphs.

from grafeo.algorithms import graph_similarity

score = graph_similarity(
    graph_a,
    graph_b,
    method='edit_distance'
)

Use Cases

Algorithm Use Case
Cosine Feature-based comparison
Jaccard Set-based comparison
Edit Distance Structural comparison