{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/daniloaguiarbr/sqlite-graphrag/schemas/relationships-input.schema.json",
"title": "RememberRelationshipsInput",
"description": "JSON array accepted by `sqlite-graphrag remember --relationships-file`. Each relationship must define source/from, target/to, relation label, and strength. Stored graph outputs expose `strength` as `weight`.",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"source": {
"type": "string",
"description": "Source entity name."
},
"from": {
"type": "string",
"description": "Alias for `source`."
},
"target": {
"type": "string",
"description": "Target entity name."
},
"to": {
"type": "string",
"description": "Alias for `target`."
},
"relation": {
"type": "string",
"enum": ["applies_to", "applies-to", "uses", "depends_on", "depends-on", "causes", "fixes", "contradicts", "supports", "follows", "related", "mentions", "replaces", "tracked_in", "tracked-in"],
"description": "Canonical stored relation label with underscores, or dashed alias normalized before storage."
},
"strength": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0,
"description": "Relationship strength in the inclusive range [0.0, 1.0]. Mapped to the `weight` field in graph outputs."
},
"description": {
"type": ["string", "null"],
"description": "Optional human-readable description of the relationship."
}
},
"allOf": [
{
"oneOf": [
{ "required": ["source"], "not": { "required": ["from"] } },
{ "required": ["from"], "not": { "required": ["source"] } }
]
},
{
"oneOf": [
{ "required": ["target"], "not": { "required": ["to"] } },
{ "required": ["to"], "not": { "required": ["target"] } }
]
}
],
"required": ["relation", "strength"],
"examples": [
{
"source": "SQLite",
"target": "GraphRAG",
"relation": "supports",
"strength": 0.8,
"description": "SQLite supports local GraphRAG retrieval"
}
]
}
}