Compose API¶
The Compose system provides schema-aware data encoding and querying using Hyperdimensional Computing.
Architecture¶
┌─────────────────────────────────────────────────────────────┐
│ COMPOUNDS │
│ Domain-specific structures (convenience wrappers) │
│ KnowledgeGraph, TimeSeries, Hierarchy, Document, Network │
├─────────────────────────────────────────────────────────────┤
│ MOLECULES │
│ Core compositional building blocks │
│ Pair, Triple, Bundle, Sequence, Tree, Graph │
├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤
│ ATOMS (Advanced Only) │
│ Low-level HDC primitives │
│ bind, unbind, bundle, similarity │
└─────────────────────────────────────────────────────────────┘
Quick Reference¶
| Component | Description | Link |
|---|---|---|
| Molecules | Core structures (Pair, Triple, etc.) | Reference |
| Compounds | Domain templates (KnowledgeGraph, etc.) | Reference |
| Fields | Field configuration and encoding | Reference |
| Query Builder | Schema-aware query interface | Reference |
| Intersections | Cross-collection joins | Reference |
Common Imports¶
# Molecules
from hybi.compose import Pair, Triple, Bundle, Sequence, Tree, Graph
# Compounds
from hybi.compose import KnowledgeGraph, Catalog, TimeSeries, Hierarchy
# Configuration
from hybi.compose import Field, Encoding, NumericScale
# Intersections (cross-collection queries)
from hybi.compose.intersections import (
Intersection, IntersectionMode, JoinConfig,
JoinedResult, JoinedResultSet,
Link, LinkSet, # For flexible (cross-encoding) intersections
)
# Query results
from hybi.compose import ComposeResult, ComposeResultSet
Basic Usage¶
from hybi import HyperBinder
from hybi.compose import Triple, Field, Encoding
hb = HyperBinder()
# Define schema
schema = Triple(
subject=Field("entity"),
predicate=Field("relation", encoding=Encoding.EXACT),
object=Field("target"),
)
# Ingest with schema
hb.ingest(df, collection="facts", schema=schema)
# Query with schema
q = hb.query("facts", schema=schema)
results = q.find(subject="Einstein")