search_hybrid vs proteus-align
Follow a neural term and a schema pair through each system — step by step.
search_hybrid — "What does this term officially mean?"
One term goes in. The best matching official concept comes out.
INPUT
"spike_time_ms"
│
▼
STEP 1 · Keyword Search (BM25)
Splits into: "spike" "time" "ms"
Keyword hits in ontology:
→ spike timing 142 docs
→ millisecond timestamp 89 docs
→ action potential 58 docs
│
▼
STEP 2 · Meaning Search (Vector Embedding)
Converts phrase to a number array: [0.82, -0.14, 0.56 ...]
Finds closest meanings in database:
→ action potential onset 0.94
→ neural firing timestamp 0.91
→ spike interval marker 0.87
│
▼
STEP 3 · AI Re-Ranks Both Lists Together
Merges all candidates, scores them:
#1 Neural Action Potential Onset 0.97 ← winner
#2 Spike Timing Event 0.82
#3 Temporal Neural Marker 0.71
│
▼
OUTPUT
✓ Neural Action Potential Onset
ID: NLX:0001234 · NIFSTD Ontology
proteus-align — "Do these two lab formats describe the same things?"
Two schemas go in. A field-by-field mapping comes out.
INPUT A INPUT B
Lab A · MGH Lab B · UCSF
────────────────── ──────────────────────
spike_time_ms neural_event_onset_ms
channel_id electrode_index
signal_amplitude_uV volt_amplitude_micro
recording_session_id session_uuid
│ │
└──────────┬─────────────────────┘
▼
STEP 1 · Parse Each Field Into Concept Tokens
spike_time_ms → [spike, time, ms]
neural_event_onset_ms → [neural, event, onset, ms]
channel_id → [channel, id]
electrode_index → [electrode, index, id]
Shared tokens = possible match
│
▼
STEP 2 · Score Every Field Pair
spike_time_ms ↔ neural_event_onset_ms 0.94 ████████████
channel_id ↔ electrode_index 0.89 ███████████░
signal_amp_uV ↔ volt_amplitude_micro 0.96 ████████████
session_id ↔ session_uuid 0.91 ████████████
│
▼
OUTPUT · output.sssom.tsv
✓ spike_time_ms → neural_event_onset_ms
✓ channel_id → electrode_index
✓ signal_amplitude_uV → volt_amplitude_micro
✓ recording_session_id → session_uuid
At a Glance
|
search_hybrid |
proteus-align |
| Input |
one term or phrase |
two full schemas |
| Output |
official ontology concept |
field-to-field mapping file |
| Asks |
what does this word mean? |
do these formats overlap? |
| Scale |
up to 4,000 terms / batch |
whole schema vs whole schema |
| Used by |
researchers, annotators |
data engineers, registry teams |
Simple rule:
- Use
search_hybrid when you have a word and need to know what it officially means.
- Use
proteus-align when you have two datasets and need to know if they're talking about the same things.
search_hybrid vs proteus-align
search_hybrid — "What does this term officially mean?"
One term goes in. The best matching official concept comes out.
proteus-align — "Do these two lab formats describe the same things?"
Two schemas go in. A field-by-field mapping comes out.
At a Glance
Simple rule:
search_hybridwhen you have a word and need to know what it officially means.proteus-alignwhen you have two datasets and need to know if they're talking about the same things.