Spaces:
Running
Running
| 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)) | |