nexyron.semantic.edges
Generic Description
Debug-only semantic retrieval of edges.
Normal semantic search should use one query:
CALL nexyron.semantic.search({query: 'fraud cluster', k: 5})
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
Semantic search procedures expose vector and semantic retrieval surfaces through Cypher.
Consumer-Level Explanation
Use nexyron.semantic.search for normal semantic retrieval. nexyron.semantic.edges is retained only for debugging the edge slice of the unified semantic index without graph-node, abstraction, or artifact results. Use these procedures when retrieval should combine semantic scoring with graph filters, metadata, and planner-visible row shaping.
Conceptual Explanation
nexyron.semantic.edges 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
This procedure returns only edge-index hits. It is useful for index debugging when relationships carry semantically interesting text, but it is not the product search surface.
The returned score is a cosine-similarity relevance score. Higher values are more similar to the query; sort with ORDER BY score DESC when you need explicit ordering after additional matches.
Advanced Example
This debug-only example isolates the edge slice of the unified semantic index. Use the unified procedure unless you are checking whether edge embeddings exist and are searchable.
CALL nexyron.semantic.search({query: 'identity fraud cluster', k: 10, ef: 200})
YIELD result_kind, item_id, node_id, edge_id, source, name, score, text, metadata_json
WITH result_kind, edge_id, score, text
WHERE result_kind = 'edge'
MATCH (u:User)-[e:INTERACTED_WITH]->(d:Document)
WHERE id(e) = edge_id
TIME e.ts BETWEEN datetime('2025-01-01T00:00:00Z') AND datetime('2025-03-01T00:00:00Z')
WITH edge_id, score, date_trunc('day', e.ts) AS day_bucket, properties(d) AS doc_map, unpivot(properties(d.metadata)) AS metadata_rows
RETURN edge_id, score, day_bucket, keys(doc_map) AS doc_keys, metadata_rows
LIMIT 10
Real Use Cases
- verifying graph-edge entries in the unified semantic index
- checking whether relationship text is being embedded
- comparing edge-index behavior against the unified search output
- compose the procedure output with
YIELD,WITH, andRETURNrather than hiding follow-up logic outside Cypher
Real Limitations And Tradeoffs
- edge abstractions are often harder to present cleanly to end users
- procedure calls are explicit contracts; missing state, unsupported parameters, or absent artifacts should fail rather than silently falling back