VCL (VeriSim Consonance Language) is the query language for VeriSimDB, a 6-core multimodal database. While VCL borrows familiar keywords from SQL (SELECT, FROM, WHERE, LIMIT, OFFSET), it serves a fundamentally different purpose.
VCL is read-only. It does not support INSERT, UPDATE, or DELETE statements. All mutations go through the Octad API (Rust core or Elixir orchestration layer). This is a deliberate design choice: VeriSimDB treats writes as coordinated multi-modal operations that must maintain consistency across all eight modality stores (Graph, Vector, Tensor, Semantic, Document, Temporal, Provenance, Spatial). A simple INSERT statement cannot express the cross-modal invariants that a Octad write requires.
VCL is multimodal. Where SQL selects columns from relational tables, VCL selects modalities from octad stores or federations. A single VCL query can retrieve graph edges, vector embeddings, tensor slices, semantic annotations, document text, and temporal versions in one pass.
VCL is federation-aware. Queries can target a local STORE, a specific HEXAD entity, or a FEDERATION of distributed VeriSimDB instances, with configurable drift policies governing cross-instance consistency.
| Concept | VCL | SQL |
|---|---|---|
Column/Field Selection |
|
|
Data Source |
|
|
Filtering |
|
|
Joins |
No JOINs. Graph modality replaces relational joins entirely. Relationships are first-class: |
|
Mutations |
None. VCL is strictly read-only. All writes go through the Octad API: |
|
Verification |
|
No equivalent. SQL has no mechanism for cryptographic or type-theoretic verification of query results. |
Pagination |
|
|
VCL is intentionally minimal. The following SQL features have no VCL equivalent:
| SQL Feature | VCL Status |
|---|---|
|
Not supported. Aggregation is performed application-side or through the Elixir orchestration layer. |
|
Not supported. Result ordering is determined by the modality store (e.g., vector similarity ranking, graph traversal order, temporal chronological order). |
Aggregate functions ( |
Not supported. VCL returns raw data; aggregation is a consumer responsibility. |
Subqueries |
Not supported. Queries are flat. Compose results in application code or use the Elixir query router for multi-step workflows. |
|
Not supported. Octad entities are inherently unique (UUID-addressed), so deduplication is rarely needed. |
|
Not supported (requires |
|
Not supported. Use multiple queries and combine results application-side. |
|
Not supported. Schema is managed through the ReScript registry and Elixir |
Window functions ( |
Not supported. |
Stored procedures / triggers |
Not supported. Business logic lives in the Elixir orchestration layer. |
| VCL Feature | Description |
|---|---|
|
Requests a verifiable proof certificate alongside query results. Six proof types cover existence, integrity, consistency, provenance, freshness, and authorization guarantees. Enables dependent-type verification via the VCL-DT path. |
Multimodal |
Select specific modalities ( |
|
Target distributed VeriSimDB instances: |
Drift policies |
|
Octad entity addressing |
|
Graph traversal syntax |
Cypher-inspired patterns directly in |
Vector similarity |
|
Full-text predicates |
|
SQL:
SELECT *
FROM entities
WHERE id = '550e8400-e29b-41d4-a716-446655440000';VCL (Slipstream):
SELECT *
FROM HEXAD 550e8400-e29b-41d4-a716-446655440000The VCL version returns all eight modalities for that octad. The SQL version returns only the columns in the entities table.
SQL (requires JOIN):
SELECT e2.*
FROM entities e1
JOIN relationships r ON e1.id = r.source_id
JOIN entities e2 ON r.target_id = e2.id
WHERE e1.id = '550e8400-e29b-41d4-a716-446655440000'
AND r.type = 'CITES';VCL (graph traversal):
SELECT GRAPH
FROM HEXAD 550e8400-e29b-41d4-a716-446655440000
WHERE (h)-[:CITES]->(target)VCL eliminates the triple-table JOIN pattern entirely. Graph relationships are native.
SQL (PostgreSQL example):
SELECT *
FROM documents
WHERE to_tsvector('english', content) @@ to_tsquery('quantum & computing');VCL:
SELECT DOCUMENT
FROM STORE research_papers
WHERE CONTAINS(h.content, "quantum computing")
LIMIT 20SQL (requires pgvector extension):
SELECT *, embedding <-> '[0.1, 0.2, 0.3, 0.4]' AS distance
FROM entities
ORDER BY embedding <-> '[0.1, 0.2, 0.3, 0.4]'
LIMIT 10;VCL:
SELECT VECTOR
FROM STORE research_papers
WHERE h.embedding SIMILAR TO [0.1, 0.2, 0.3, 0.4]
LIMIT 10| Capability | SQL | VCL |
|---|---|---|
Relational queries |
Yes |
No |
Multimodal queries |
No |
Yes |
Mutations (INSERT/UPDATE/DELETE) |
Yes |
No (API only) |
JOINs |
Yes |
No (graph modality) |
Aggregation (GROUP BY, COUNT, SUM) |
Yes |
No |
Subqueries |
Yes |
No |
PROOF verification |
No |
Yes |
Federation with drift policies |
No |
Yes |
Graph traversal |
No (or extensions) |
Yes (native) |
Vector similarity |
No (or extensions) |
Yes (native) |
Full-text search |
Extensions |
Yes (native) |
Ordering (ORDER BY) |
Yes |
No |
Pagination (LIMIT/OFFSET) |
Yes |
Yes |
VCL is not a replacement for SQL. It is a purpose-built query language for a multimodal database that treats entities as six simultaneous representations rather than rows in flat tables. Use SQL when you need relational algebra. Use VCL when you need to query across modalities with optional formal verification.