Knowledge Graph
A packet can carry knowledge_nodes[] — entities and concepts extracted from its sources, with typed relationships between them. This is the raw material the Registry turns into first-class edges for graph-aware retrieval, consensus, and authority scoring.
KnowledgeNode
| Field | Type | Notes |
|---|---|---|
id | string | Required |
entity_name | string | Required |
entity_type | enum (extensible) | Required — see below |
description | string | |
source_ids | string[] | Sources that evidence this entity |
relationships | object[] | Typed edges — see below |
domain_data | object | Domain-specific attributes |
Entity types (extensible — x-/x_ for novel values):
compound · supplement · drug · condition · algorithm · parameter ·
concept · organism · gene · biomarker · food · otherRelationships
Each entry in relationships[]:
| Field | Type | Notes |
|---|---|---|
target_id | string | Required — the other entity |
relationship_type | enum (extensible) | Required — see below |
strength | number 0–1 | Edge weight |
evidence_grade | enum | Grade of the evidence for this edge |
Relationship types (extensible — x-/x_ for novel values):
synergistic · antagonistic · prerequisite · contraindicated ·
metabolizes · inhibits · activates · similar_toHow the registry uses the graph
When a packet is published, the registry persists these typed/weighted relationships as cross-packet edges and resolves entities to canonical identities. That graph then powers:
/entities/:name/relations— typed edges for an entity/consensus/:name— grade-weighted, empirically-derived contested signal/entities/:name/authority— global PageRank authority/answer— graph-aware citation chains (entity → relation → entity → sources)
See Query the registry and Trust & safety.