Vedākṣha

Graph Output

Charts are graphs. Finally.

An astrological chart is a web of relationships — planets in signs, signs ruled by planets, planets aspecting planets. A property graph is the natural representation of this structure, and AI agents excel at traversing structured relationships.

Why Graphs Matter for AI

Structure that agents understand

Traversal over Parsing

An AI agent can follow edges from Jupiter to its sign, house, and aspects without parsing text or decoding integers. The relationships are explicit.

Cross-Chart Queries

Store multiple charts in a graph database and query across them. "Find all charts where Saturn aspects the 7th house lord" becomes a simple graph pattern.

RAG-Ready Chunks

The embedding text emitter produces one fact per line. Each fact is self-contained and embeddable, making vector search over astrological knowledge trivial.

Ontology

10 node types

Node TypeDescription
PlanetA celestial body with longitude, sign, nakshatra, and dignity
HouseA house cusp with degree, sign, and ruling planet
SignA zodiac sign with element, modality, and ruling planet
NakshatraA lunar mansion with pada, deity, and ruling planet
AspectA geometric relationship between two planets
YogaA Vedic combination pattern with participating planets
DignityA planet's strength state — exaltation, own sign, debilitation
DashaA planetary period node in the dasha tree
TransitA planetary position at a specific moment
ChartThe root node tying all elements together

Relationships

13 edge types

EdgeFromToMeaning
PLACED_INPlanetHousePlanet occupies a house
IN_SIGNPlanetSignPlanet is positioned in a zodiac sign
IN_NAKSHATRAPlanetNakshatraPlanet occupies a lunar mansion
RULESPlanetSignPlanet is the ruler of a sign
ASPECTSPlanetPlanetGeometric aspect between two planets
CONJOINSPlanetPlanetTwo planets share the same degree region
HAS_DIGNITYPlanetDignityPlanet holds a dignity state
FORMS_YOGAPlanetYogaPlanet participates in a yoga combination
CUSP_INHouseSignHouse cusp falls in a sign
DISPOSITSPlanetPlanetDispositorship (sign lord) chain
CONTAINSChartPlanetChart contains a planet
HAS_HOUSEChartHouseChart contains a house
TRANSITSTransitPlanetTransit activates a natal planet

Output Formats

5 ways to emit a chart

Cypher (Neo4j)

CREATE statements for nodes and MERGE for relationships. Load directly into Neo4j with a single query batch.

cypher__neo_j_
CREATE (p:Planet {id: "planet_jupiter_40.2", name: "Jupiter", longitude: 40.2, sign: "Taurus"})
CREATE (h:House {id: "house_1_15.7", number: 1, degree: 15.7, sign: "Aries"})
MERGE (p)-[:PLACED_IN]->(h)

SurrealQL (SurrealDB)

INSERT statements with typed record links. Native graph traversal with SurrealDB's RELATE syntax.

surrealql__surrealdb_
INSERT INTO planet {id: planet:jupiter_40_2, name: "Jupiter", longitude: 40.2, sign: "Taurus"};
RELATE planet:jupiter_40_2->placed_in->house:1_15_7;

JSON-LD

Linked data format with schema.org-compatible context. Interoperable with knowledge graph standards.

json_ld
{
  "@context": "https://vedaksha.net/schema/v1",
  "@type": "NatalChart",
  "planets": [{
    "@type": "Planet",
    "name": "Jupiter",
    "longitude": 40.2,
    "sign": "Taurus"
  }]
}

JSON

Standard JSON with typed fields. The default output format for all MCP tool responses.

json
{
  "nodes": [{"id": "planet_jupiter", "type": "Planet", "longitude": 40.2}],
  "edges": [{"from": "planet_jupiter", "to": "house_1", "type": "PLACED_IN"}]
}

Embedding Text (RAG)

Optimized text chunks for vector embedding. Each chunk is a self-contained fact suitable for retrieval-augmented generation.

embedding_text__rag_
Jupiter is at 40.2 degrees in Taurus in the 1st house.
Jupiter is exalted, indicating strong beneficial influence.
Jupiter aspects the 5th, 7th, and 9th houses from its position.

Build a knowledge graph.

See how AI agents use graph output in real-world workflows.