NDF Routes
NDF (Node Definition Format) routes provide API endpoints for managing node definitions and related operations.
Overview
The NDF routes module handles operations related to node definitions, including creation, updates, validation, and management of node structures.
Key Endpoints
Node Definition Management
POST /ndf/nodes- Create new node definitionsGET /ndf/nodes- Retrieve node definitionsPUT /ndf/nodes/{node_id}- Update node definitionsDELETE /ndf/nodes/{node_id}- Delete node definitions
Node Validation
POST /ndf/validate- Validate node definition structureGET /ndf/schema- Get NDF schema information
Node Operations
POST /ndf/compose- Compose complex node structuresGET /ndf/export- Export node definitionsPOST /ndf/import- Import node definitions
Usage Examples
Creating a Node Definition
import requests
node_data = {
"name": "example_node",
"type": "concept",
"attributes": {
"description": "An example node",
"category": "examples"
}
}
response = requests.post("http://localhost:8000/ndf/nodes", json=node_data)
Validating Node Structure
response = requests.post("http://localhost:8000/ndf/validate", json=node_data)
if response.status_code == 200:
print("Node definition is valid")
else:
print("Validation errors:", response.json())
Error Handling
The NDF routes return appropriate HTTP status codes:
- 200 - Success
- 400 - Bad request (invalid data)
- 404 - Node not found
- 422 - Validation error
- 500 - Internal server error
Dependencies
- Core NDF operations module
- Node validation utilities
- Schema management functions