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)