Implement comprehensive schema validation and constraints system
- Add new schema_validation module with constraint types:
* Unique: Enforce property uniqueness within a label
* Required: Require properties for nodes with specific labels
* PropertyType: Enforce specific data types (string, integer, float, boolean)
* Range: Enforce min/max values for numeric properties
* Pattern: String pattern matching (simple contains for now)
* Enum: Restrict values to a predefined set
- Add SchemaValidator to GraphSchema for constraint management
- Add ValidationError to error types
- Implement constraint enforcement in node creation and updates
- Add REST API endpoints for constraint management:
* POST /api/v1/constraints - Create a new constraint
* GET /api/v1/constraints - List all constraints
- Validate node properties before any database modifications
- Support both creation and update validation with proper merging
- Provide clear error messages for constraint violations
All constraints are enforced at the API level ensuring data integrity.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>