Examples

Semantic Search with Embeddings

Store and search using vector embeddings for semantic similarity.

CogDB supports vector embeddings for semantic search and similarity queries.

Storing Embeddings

Use put_embedding() to store vectors:

from cog.torque import Graph

g = Graph("vectors")

# Store embeddings
g.put_embedding("king", [0.5, 0.2, 0.9])
g.put_embedding("queen", [0.48, 0.21, 0.88])
g.put_embedding("apple", [0.1, 0.8, 0.3])

Find similar items using cosine similarity with sim():

# Find items with cosine similarity > 0.9 to "king"
g.v(["king", "queen", "apple"]).sim("king", ">", 0.9).all()
# {'result': [{'id': 'king'}, {'id': 'queen'}]}

Similarity Operators

The sim() method supports these comparison operators:

OperatorDescription
>Greater than
>=Greater than or equal
<Less than
<=Less than or equal
==Equal to

Examples

# Find very similar items (similarity > 0.95)
g.v(["king", "queen", "apple"]).sim("king", ">", 0.95).all()

# Find somewhat similar items
g.v(["king", "queen", "apple"]).sim("king", ">", 0.5).all()

# Find dissimilar items
g.v(["king", "queen", "apple"]).sim("king", "<", 0.5).all()
# {'result': [{'id': 'apple'}]}

On this page