# GraphRAG toy example: retrieve a connected concept from a small knowledge graph.
graph = {
    "rag": {"related": ["retrieval", "documents", "generation"]},
    "agent": {"related": ["planning", "tools", "memory"]},
    "memory": {"related": ["agent", "episodic memory", "retrieval"]},
    "planning": {"related": ["agent", "actions", "goals"]}
}

query = input("Enter concept (rag/agent/memory/planning): ").lower().strip()
if query in graph:
    print("Concept:", query)
    print("Connected concepts:", ", ".join(graph[query]["related"]))
    for related in graph[query]["related"]:
        if related in graph:
            print("Related node", related, "->", ", ".join(graph[related]["related"]))
else:
    print("Concept not found in graph.")
