Astrology chart graph schema
Chart computation returns structured chart data. Convert it with emit_graph or chart_to_graph to produce a property graph. A computed chart supplies four node types and seven edge types. The full vocabulary and the types built from a chart are distinguished below.
Example
What it looks like in Cypher.
Deterministic IDs make re-emitting the same chart idempotent. Multi-chart queries become graph patterns.
// vedaksha-graph, emitters feature · CypherEmitter
// Illustrative graph using chart-supported edge types
MERGE (c:Chart {id:"chart_2024_03_20"})
MERGE (sun:Planet {name:"Sun"})
MERGE (sun)-[:Occupies]->(:House {number:4})
MERGE (sun)-[:PlacedIn]->(:Sign {name:"Pisces"})
// traverse like any graph
MATCH (m:Planet {name:'Mars'})
-[:Aspects]->(s:Planet {name:'Saturn'})
RETURN m, sRECEIPT · Cypher emit · edge labels verified against ontology.rs · last verified 2026-08-16
Chartbuilt from a chartPlanetbuilt from a chartSignbuilt from a chartHousebuilt from a chartNakshatradefined, not chart-builtPadadefined, not chart-builtPatterndefined, not chart-builtDashaPerioddefined, not chart-builtFixedStardefined, not chart-builtRECEIPT · 9 node types from the NodeType enum · 4 built by chart_to_graph · last verified 2026-08-18
Schema, edges
12 edge types.
Each edge carries an optional properties payload (e.g. Aspects carries orb, applying, strength).
PlacedInPlanet → Signbuilt from a chartOccupiesPlanet → Housebuilt from a chartAspectsPlanet → Planetbuilt from a chartRulesPlanet → Signbuilt from a chartDispositsPlanet → Planetbuilt from a chartCuspOfHouse → Signbuilt from a chartBelongsToNode → Chartbuilt from a chartPartOfPatternPlanet → Patterndefined, not chart-builtInNakshatraPlanet → Nakshatradefined, not chart-builtConjunctStarPlanet → FixedStardefined, not chart-builtDashaLordDashaPeriod → Planetdefined, not chart-builtContainsPeriodDashaPeriod → DashaPerioddefined, not chart-builtRECEIPT · 12 edge types from the EdgeType enum · 7 built by chart_to_graph · last verified 2026-08-18
Privacy
Every chart is tagged at construction.
DataClassification is set at the Chart node. Upgrading to Pseudonymized or Identified is an explicit caller decision, never the default.
// crates/vedaksha-graph/src/classification.rs
// ChartGraph is always constructed Anonymous by default.
ChartGraph {
…,
classification: DataClassification::Anonymous,
}
// caller upgrades explicitly: never automatic:
// DataClassification::Pseudonymized
// DataClassification::IdentifiedRECEIPT · DataClassification · 3 variants from classification.rs · last verified 2026-08-16