neumann-query

star 75

Write correct Neumann database queries. Use when writing NODE, EDGE, EMBED, SIMILAR, ENTITY, VAULT, CACHE, BLOB, CHECKPOINT, CHAIN, or CLUSTER commands, or any Neumann SQL query.

Shadylukin By Shadylukin schedule Updated 2/26/2026

name: neumann-query description: Write correct Neumann database queries. Use when writing NODE, EDGE, EMBED, SIMILAR, ENTITY, VAULT, CACHE, BLOB, CHECKPOINT, CHAIN, or CLUSTER commands, or any Neumann SQL query.

Neumann Query Language Guide

Critical Syntax Gotchas

These are the most common mistakes. Read this section first.

1. Direction keywords

Use OUTGOING, INCOMING, or BOTH. Never use OUT, IN, or UNDIRECTED.

NEIGHBORS 'node-1' OUTGOING    -- correct
NEIGHBORS 'node-1' OUT         -- WRONG: OUT is not a direction keyword

2. Colon-key tokenization

The parser splits doc:1 into three tokens (doc, :, 1). Always quote keys containing colons.

EMBED STORE 'doc:1' [0.1, 0.2]    -- correct
EMBED STORE doc:1 [0.1, 0.2]      -- WRONG: parsed as 3 separate tokens

3. Edge creation syntax

Use EDGE CREATE from -> to : label. The arrow -> and colon : are required delimiters.

EDGE CREATE 'alice' -> 'bob' : knows { since: 2024 }    -- correct
EDGE CREATE (alice)-[:knows]->(bob)                      -- WRONG: that is Cypher syntax

4. Property blocks

Use curly braces with colons: { key: value }. Not equals signs.

NODE CREATE person { name: 'Alice', age: 30 }    -- correct
NODE CREATE person { name = 'Alice' }            -- WRONG: use colon, not equals

5. Keywords as identifiers

The parser has 150+ reserved keywords. If a column or label name collides (e.g., node, edge, path, type, status), rename it.

NODE CREATE person { name: 'Alice' }      -- correct
NODE CREATE node { name: 'Alice' }        -- WRONG: NODE is a reserved keyword

6. SIMILAR syntax

The format is SIMILAR [vector] LIMIT n METRIC COSINE. No TO, no BY.

SIMILAR [0.1, 0.2, 0.3] LIMIT 5 METRIC COSINE       -- correct
SIMILAR TO [0.1, 0.2, 0.3]                           -- WRONG: no TO keyword
SIMILAR [0.1, 0.2] BY COSINE                         -- WRONG: use METRIC, not BY

7. EMBED STORE requires a quoted key

EMBED STORE 'my-key' [0.1, 0.2, 0.3]    -- correct
EMBED STORE my-key [0.1, 0.2, 0.3]      -- WRONG: unquoted key with hyphen fails

8. Prefix-based engine commands

VAULT, CACHE, and BLOB commands use prefix syntax, not SQL-style.

VAULT SET 'api-key' 'secret-value'    -- correct (prefix: VAULT SET)
SET VAULT 'api-key' 'secret-value'    -- WRONG: not SQL SET

9. Case insensitivity

All keywords are case-insensitive. String values preserve case.

select * from users          -- valid (same as SELECT * FROM users)
VAULT SET 'Key' 'Value'     -- 'Key' and 'Value' are case-sensitive strings

10. No semicolons needed

One command per line in batch mode. Semicolons are accepted but not required.

Quick Reference

Relational Engine

Command Syntax
SELECT SELECT col1, col2 FROM table WHERE cond ORDER BY col LIMIT n OFFSET m
INSERT INSERT INTO table (col1, col2) VALUES (val1, val2)
INSERT multi INSERT INTO table VALUES (v1, v2), (v3, v4)
INSERT...SELECT INSERT INTO t1 (cols) SELECT cols FROM t2
UPDATE UPDATE table SET col1 = val1 WHERE cond
DELETE DELETE FROM table WHERE cond
CREATE TABLE CREATE TABLE name (col1 INT PRIMARY KEY, col2 VARCHAR(255) NOT NULL)
CREATE TABLE IF CREATE TABLE IF NOT EXISTS name (col1 INT)
DROP TABLE DROP TABLE name
ALTER TABLE ALTER TABLE name ADD COLUMN col INT / ALTER TABLE name DROP COLUMN col
CREATE INDEX CREATE INDEX idx_name ON table (col)
DROP INDEX DROP INDEX idx_name
SHOW TABLES SHOW TABLES
DESCRIBE DESCRIBE table
DISTINCT SELECT DISTINCT col FROM table
JOIN SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id
GROUP BY SELECT col, COUNT(*) FROM table GROUP BY col HAVING COUNT(*) > 1
UNION SELECT col FROM t1 UNION SELECT col FROM t2
CASE SELECT CASE WHEN cond THEN val ELSE other END FROM table
CAST SELECT CAST(col AS INT) FROM table
EXISTS SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t2 WHERE t2.id = t1.id)
BETWEEN SELECT * FROM t WHERE col BETWEEN 1 AND 10
IN SELECT * FROM t WHERE col IN (1, 2, 3)
LIKE SELECT * FROM t WHERE col LIKE 'prefix%'
IS NULL SELECT * FROM t WHERE col IS NULL / IS NOT NULL
Subquery SELECT * FROM (SELECT col FROM t) AS sub

Graph Engine

Command Syntax
NODE CREATE NODE CREATE label { key: value, key2: value2 }
NODE GET NODE GET id
NODE DELETE NODE DELETE id
NODE LIST NODE LIST [label] [LIMIT n] [OFFSET m]
EDGE CREATE EDGE CREATE from_id -> to_id : label { key: value }
EDGE GET EDGE GET id
EDGE DELETE EDGE DELETE id
EDGE LIST EDGE LIST [type] [LIMIT n] [OFFSET m]
NEIGHBORS NEIGHBORS 'id' OUTGOING / INCOMING / BOTH
NEIGHBORS filtered NEIGHBORS 'id' OUTGOING label
NEIGHBORS+vector NEIGHBORS 'id' BOTH BY SIMILARITY [vec] LIMIT 5
PATH SHORTEST PATH SHORTEST 'from' 'to'
PATH ALL PATH ALL 'from' 'to' MAX_DEPTH 5
PATH WEIGHTED PATH WEIGHTED 'from' 'to' WEIGHT prop
PATH ALL_WEIGHTED PATH ALL_WEIGHTED 'from' 'to' WEIGHT prop MAX_DEPTH 5
PATH VARIABLE PATH VARIABLE 'from' 'to' MIN_DEPTH 2 MAX_DEPTH 5
DESCRIBE NODE DESCRIBE NODE label
DESCRIBE EDGE DESCRIBE EDGE type
GRAPH PAGERANK GRAPH PAGERANK [DAMPING 0.85] [TOLERANCE 0.001] [ITERATIONS 100] [OUTGOING] [label]
GRAPH BETWEENNESS GRAPH BETWEENNESS CENTRALITY [SAMPLING 0.5] [OUTGOING] [label]
GRAPH CLOSENESS GRAPH CLOSENESS CENTRALITY [OUTGOING] [label]
GRAPH EIGENVECTOR GRAPH EIGENVECTOR CENTRALITY [ITERATIONS 100] [TOLERANCE 0.001] [OUTGOING] [label]
GRAPH LOUVAIN GRAPH LOUVAIN COMMUNITIES [RESOLUTION 1.0] [PASSES 10] [OUTGOING] [label]
GRAPH LABEL_PROPAGATION GRAPH LABEL PROPAGATION [ITERATIONS 100] [OUTGOING] [label]
GRAPH CONSTRAINT CREATE GRAPH CONSTRAINT CREATE name ON NODE [label] PROPERTY prop UNIQUE / EXISTS / TYPE 'string'
GRAPH CONSTRAINT DROP GRAPH CONSTRAINT DROP name
GRAPH CONSTRAINT LIST GRAPH CONSTRAINT LIST
GRAPH CONSTRAINT GET GRAPH CONSTRAINT GET name
GRAPH INDEX CREATE GRAPH INDEX CREATE NODE PROPERTY prop / EDGE PROPERTY prop / LABEL / EDGE TYPE
GRAPH INDEX DROP GRAPH INDEX DROP NODE prop / EDGE prop
GRAPH INDEX SHOW GRAPH INDEX SHOW NODE / GRAPH INDEX SHOW EDGE
GRAPH AGGREGATE GRAPH AGGREGATE COUNT NODES [label] / COUNT EDGES [type]
GRAPH AGGREGATE prop GRAPH AGGREGATE SUM NODE PROPERTY prop [label] [WHERE cond]
GRAPH PATTERN MATCH GRAPH PATTERN MATCH (a:Label)-[:TYPE]->(b) [LIMIT n]
GRAPH PATTERN COUNT GRAPH PATTERN COUNT (a)-[:TYPE]->(b)
GRAPH PATTERN EXISTS GRAPH PATTERN EXISTS (a:Label)-[:TYPE]->(b)
GRAPH BATCH CREATE NODES GRAPH BATCH CREATE NODES [(:Label {k:v}), (:Label2 {k:v})]
GRAPH BATCH CREATE EDGES GRAPH BATCH CREATE EDGES [(from -> to : type {k:v})]
GRAPH BATCH DELETE NODES GRAPH BATCH DELETE NODES [id1, id2]
GRAPH BATCH DELETE EDGES GRAPH BATCH DELETE EDGES [id1, id2]
GRAPH BATCH UPDATE NODES GRAPH BATCH UPDATE NODES [(id {k:v}), (id2 {k:v})]

Vector Engine

Command Syntax
EMBED STORE EMBED STORE 'key' [0.1, 0.2, 0.3]
EMBED STORE (collection) EMBED STORE 'key' [0.1, 0.2] IN my_collection
EMBED GET EMBED GET 'key'
EMBED DELETE EMBED DELETE 'key'
EMBED BUILD INDEX EMBED BUILD INDEX
EMBED BATCH EMBED BATCH [('k1', [0.1, 0.2]), ('k2', [0.3, 0.4])]
SIMILAR (vector) SIMILAR [0.1, 0.2, 0.3] LIMIT 10 METRIC COSINE
SIMILAR (key) SIMILAR 'key' LIMIT 5
SIMILAR (collection) SIMILAR [0.1, 0.2] LIMIT 5 IN my_collection
SIMILAR (filtered) SIMILAR [0.1, 0.2] LIMIT 5 WHERE category = 'tech'
SIMILAR+graph SIMILAR [0.1, 0.2] LIMIT 10 CONNECTED TO 'node-id'
SHOW EMBEDDINGS SHOW EMBEDDINGS [LIMIT n]
SHOW VECTOR INDEX SHOW VECTOR INDEX
COUNT EMBEDDINGS COUNT EMBEDDINGS

Unified Engine (Entity + Find)

Command Syntax
ENTITY CREATE ENTITY CREATE 'key' { prop: val } [EMBEDDING [vec]]
ENTITY GET ENTITY GET 'key'
ENTITY UPDATE ENTITY UPDATE 'key' { prop: val } [EMBEDDING [vec]]
ENTITY DELETE ENTITY DELETE 'key'
ENTITY CONNECT ENTITY CONNECT 'from' -> 'to' : type
ENTITY BATCH CREATE ENTITY BATCH CREATE [{ key: 'k1', prop: val }, { key: 'k2', prop: val }]
FIND NODE FIND NODE [label] [WHERE cond] RETURN items [LIMIT n]
FIND EDGE FIND EDGE [type] [WHERE cond] RETURN items [LIMIT n]
FIND ROWS FIND ROWS FROM table [WHERE cond] RETURN items [LIMIT n]
FIND PATH FIND PATH [from]-[:type]->[to] [WHERE cond] RETURN items

Vault, Cache, Blob, Checkpoint, Chain, Cluster

See references/auxiliary.md for full syntax of all commands in these engines.

Engine Commands
Vault VAULT SET/GET/DELETE/LIST/ROTATE/GRANT/REVOKE
Cache CACHE INIT/STATS/CLEAR/EVICT/GET/PUT/SEMANTIC GET/SEMANTIC PUT
Blob BLOB INIT/PUT/GET/DELETE/INFO/LINK/UNLINK/LINKS/TAG/UNTAG/VERIFY/GC/REPAIR/STATS/META SET/META GET
Blob queries BLOBS / BLOBS FOR entity / BLOBS BY TAG 'tag' / BLOBS WHERE TYPE = 'type' / BLOBS SIMILAR TO 'id' LIMIT n
Checkpoint CHECKPOINT ['name'] / CHECKPOINTS [LIMIT n] / ROLLBACK TO 'id'
Chain BEGIN CHAIN TRANSACTION / COMMIT CHAIN / ROLLBACK CHAIN TO height
Chain queries CHAIN HEIGHT/TIP/BLOCK n/VERIFY/HISTORY 'key'/SIMILAR [vec] LIMIT n/DRIFT FROM h1 TO h2
Chain codebook SHOW CODEBOOK GLOBAL / SHOW CODEBOOK LOCAL 'domain' / ANALYZE CODEBOOK TRANSITIONS
Cluster CLUSTER CONNECT 'addr'/DISCONNECT/STATUS/NODES/LEADER

Cypher (Experimental)

Command Syntax
MATCH MATCH (n:Label)-[r:TYPE]->(m) WHERE n.prop = val RETURN n, m LIMIT 10
OPTIONAL MATCH OPTIONAL MATCH (n)-[r]->(m) RETURN n, r, m
CREATE CREATE (n:Label {prop: val})-[:TYPE]->(m:Label)
MERGE MERGE (n:Label {key: val}) ON CREATE SET n.prop = val ON MATCH SET n.prop = val
DELETE DELETE n / DETACH DELETE n
Variable-length MATCH (a)-[*1..5]->(b) RETURN a, b

Result Type Mapping

Query Result Variant
SELECT Rows
INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE Empty or Count
NODE CREATE/GET Nodes
NODE LIST Nodes
EDGE CREATE/GET Edges
EDGE LIST Edges
NEIGHBORS Nodes
PATH Path (list of node IDs)
SIMILAR Similar (key + score pairs)
EMBED STORE/GET/DELETE Value or Empty
SHOW TABLES TableList
SHOW EMBEDDINGS Similar
COUNT EMBEDDINGS Count
ENTITY operations Unified
FIND depends on pattern (Nodes, Edges, Rows, Path)
VAULT GET Value
VAULT LIST Value
CACHE GET/SEMANTIC GET Value
BLOB GET Blob (bytes)
BLOB INFO ArtifactInfo
BLOBS / BLOBS FOR / BLOBS BY TAG ArtifactList
BLOB STATS BlobStats
CHECKPOINT/CHECKPOINTS CheckpointList or Value
CHAIN operations Chain
GRAPH PAGERANK PageRank
GRAPH BETWEENNESS/CLOSENESS/EIGENVECTOR Centrality
GRAPH LOUVAIN/LABEL PROPAGATION Communities
GRAPH AGGREGATE Aggregate or Count
GRAPH PATTERN PatternMatch
GRAPH BATCH BatchResult
GRAPH CONSTRAINT LIST Constraints
GRAPH INDEX SHOW GraphIndexes
SPATIAL WITHIN Spatial

Cross-Engine Patterns

Neumann supports cross-engine queries that combine vector similarity with graph traversal:

Vector + Graph -- Find similar embeddings that are connected to a specific node:

SIMILAR [0.1, 0.2, 0.3] LIMIT 10 CONNECTED TO 'node-id'

Graph + Vector -- Find neighbors of a node ranked by vector similarity:

NEIGHBORS 'node-id' BOTH BY SIMILARITY [0.1, 0.2, 0.3] LIMIT 5

Unified Entity -- Spans relational, graph, and vector in one command:

ENTITY CREATE 'user-1' { name: 'Alice', role: 'admin' } EMBEDDING [0.1, 0.2, 0.3]
ENTITY CONNECT 'user-1' -> 'team-1' : member_of

Reference Pointers

For full syntax details beyond this quick reference:

  • Relational SQL: references/relational.md
  • Graph commands: references/graph.md
  • Vector commands: references/vector.md
  • Unified/Entity commands: references/unified.md
  • Vault, Cache, Blob, Checkpoint, Chain, Cluster: references/auxiliary.md
  • Complete reserved keyword list: references/reserved-keywords.md
  • Parser source: neumann_parser/src/parser.rs
  • AST definitions: neumann_parser/src/ast.rs
  • Token definitions: neumann_parser/src/token.rs
Install via CLI
npx skills add https://github.com/Shadylukin/Neumann --skill neumann-query
Repository Details
star Stars 75
call_split Forks 6
navigation Branch main
article Path SKILL.md
More from Creator