File size: 1,807 Bytes
64ed965 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import requests
def print_tree(node, prefix="", visited=None):
"""Recursive function to print a refined tree structure without duplicates."""
if visited is None:
visited = set()
node_id = node["node_id"]
# Avoid printing duplicate nodes by checking if node has been visited
if node_id in visited:
print(f"{prefix}(already listed) {node_id}")
return
visited.add(node_id)
print(f"{prefix}{node_id}")
children = node.get("descendants", [])
for i, child in enumerate(children):
# Choose branch formatting based on child position
new_prefix = f"{prefix}βββ " if i < len(children) - 1 else f"{prefix}βββ "
print_tree(child, new_prefix, visited)
# Test API Endpoints
base_url = "http://localhost:5000"
# Step 1: Load Graph
print("\n--- Testing Graph Loading ---")
response = requests.post(f"{base_url}/load_graph")
print("Load Graph Response:", response.json())
# Step 2: Create Node
print("\n--- Testing Node Creation ---")
create_data = {
"node_id": "patient_123",
"data": {"name": "John Doe", "age": 45, "medical_conditions": ["hypertension", "diabetes"]},
"domain": "Healthcare",
"type": "Patient"
}
response = requests.post(f"{base_url}/create_node", json=create_data)
print("Create Node Response:", response.json())
# Step 3: Inspect Relationships for Node (Healthcare)
print("\n--- Testing Inspect Relationships for Node (Healthcare) ---")
response = requests.get(f"{base_url}/inspect_relationships?node_id=Healthcare")
relationships = response.json()
print("Inspect Relationships for Healthcare:")
# Convert to tree-like structure
root_node = {
"node_id": relationships["node_id"],
"descendants": relationships["relationships"]["child_relations"]
}
print_tree(root_node) |