`nexyron.semantic.search`

Generic Description

nexyron.semantic.search is the canonical semantic search procedure. It searches one unified semantic ANN index containing graph-node embeddings, graph-edge embeddings, abstractions, and abstraction artifacts in one call.

Simple example:

CALL nexyron.semantic.search({query: 'churn', k: 10, ef: 200})
YIELD result_kind, item_id, node_id, edge_id, source, name, score, text, metadata_json
RETURN result_kind, item_id, node_id, edge_id, source, name, score, text, metadata_json
ORDER BY score DESC

Consumer-Level Explanation

Use this procedure when a person searches for a concept in ordinary language.

The result can be a graph node, a graph edge, an abstraction-backed semantic item, or an artifact-backed semantic item. Callers do not need to guess which kind contains the answer before searching.

Assistant, Client semantic-search, wiki, and report surfaces use this procedure through the service-owned graph context retriever. That layer preserves the canonical procedure and cluster-routed read path, then adds bounded graph expansion, source references, observed-data snippets, score components, provenance, and temporal hints for UI and assistant evidence.

Conceptual Explanation

nexyron.semantic.search should be read as one named procedure contract in the broader Nexyron Cypher surface. The procedure call is not only a syntax hook: it defines what runtime state, projection, registry entry, or graph algorithm is being asked to operate, and it determines which output columns downstream YIELD, WITH, and RETURN stages can safely use.

More Detailed Explanation

The procedure embeds the query text once, searches the unified typed semantic index, and returns the best owner-level matches across all semantic item kinds. k is applied to the combined ranking, not independently per type.

The search step is ANN-backed. Nexyron does not treat a cold ANN index as an acceptable degraded mode: if semantic vectors are present but the HNSW structure is not hot, the procedure fails with a semantic ANN error rather than silently scanning vectors by brute force.

Output columns:

Advanced Example

CALL nexyron.semantic.search({query: 'early churn risk', k: 20, ef: 200})
YIELD result_kind, item_id, node_id, edge_id, source, name, score, text, metadata_json
RETURN result_kind,
       name,
       score,
       text,
       node_id,
       edge_id,
       item_id,
       source,
       metadata_json
ORDER BY score DESC
LIMIT 20

Real Use Cases

Real Limitations And Tradeoffs