import os import requests import json from dotenv import load_dotenv load_dotenv() ARCADE_USER = os.getenv("ARCADE_USER", "root") ARCADE_PASS = os.getenv("ARCADE_PASSWORD") ARCADE_DB = os.getenv("ARCADE_DB", "BhashyamDB") ARCADE_HOST = os.getenv("ARCADE_HOST") ARCADE_URL = f"http://{ARCADE_HOST}:2480/api/v1/command/{ARCADE_DB}" AUTH = (ARCADE_USER, ARCADE_PASS) def run_cypher(query, params=None): payload = {"language": "opencypher", "command": query, "params": params or {}} response = requests.post(ARCADE_URL, json=payload, auth=AUTH) return response.json().get("result", []) if __name__ == "__main__": # Test verse gid = "divya_prabandham_1318" query = """ MATCH (v:Verse {global_id: $gid}) OPTIONAL MATCH (v)-[:IN_CHAPTER|PART_OF*1..3]->(p) WHERE NOT labels(p) = 'Scripture' RETURN v, collect({props: properties(p), labels: labels(p), type: p.type}) as context """ res = run_cypher(query, {"gid": gid}) print(json.dumps(res, indent=2))