Query builder, graph traversal, and accountability audit for the Medicine Wheel relational web. Protocol-aware: respects ceremony boundaries and OCAP® compliance during traversal.
npm install @medicine-wheel/relational-query
Filter, sort, and paginate nodes and edges.
import { filterNodes, sortNodes, paginate } from '@medicine-wheel/relational-query';
const elders = filterNodes(nodes, { type: 'human', direction: 'north' });
const sorted = sortNodes(elders, { field: 'name', order: 'asc' });
const page = paginate(sorted, { offset: 0, limit: 10 });
Context-aware graph traversal with ceremony and OCAP boundaries.
import { traverse, shortestPath, neighborhood } from '@medicine-wheel/relational-query';
const result = traverse('node-id', nodes, edges, relations, {
maxDepth: 3,
respectCeremonyBoundaries: true,
ocapOnly: true,
});
const path = shortestPath('from-id', 'to-id', nodes, edges);
const neighbors = neighborhood('node-id', nodes, edges, 2);
Conditional edge filters evaluated before a crossing. A guard does not veto —
when a boundary is reached it returns an escalation directive (delegate to a
custodian). The legacy respectCeremonyBoundaries/ocapOnly booleans are now
built-in guards; avoidanceProtocolGuard reads a relation’s context.
import { traverse, avoidanceProtocolGuard } from '@medicine-wheel/relational-query';
const result = traverse('node-id', nodes, edges, relations, {
maxDepth: 3,
guards: [avoidanceProtocolGuard],
context: { identity: 'agent-mia', ceremonyState: 'open' },
});
// Crossings a guard refused, surfaced for delegation:
result.escalations; // [{ fromId, toId, guard, reason, escalateTo }]
Map RDF triples onto co-equal nodes + named relations. rdfs:subClassOf and
rdf:type flatten to the co-emerges-with edge — never a re-introduced hierarchy.
import { rdfToKinshipGraph, kinshipGraphToCypher, kinshipGraphToJsonl } from '@medicine-wheel/relational-query';
const graph = rdfToKinshipGraph(triples, { source: 'treaty-dataset' });
const cypher = kinshipGraphToCypher(graph); // MERGE statements for KuzuDB
const jsonl = kinshipGraphToJsonl(graph); // newline-delimited node/relation records
Relational health metrics and OCAP® compliance reports.
import { auditAccountability, relationsNeedingAttention } from '@medicine-wheel/relational-query';
const report = auditAccountability(nodes, edges, relations);
console.log(report.averageWilsonAlignment);
console.log(report.recommendations);
const needsWork = relationsNeedingAttention(relations, 0.5);
Requires @medicine-wheel/ontology-core ^0.1.0.
MIT