Graph Schema Validation
Validate knowledge graph schemas and data against defined constraints.
This skill ensures graph data conforms to schema definitions, ontology rules, and consistency requirements.
Quick Start
Use When
- Validating graph data before ingestion
- Testing schema correctness
- Enforcing ontology constraints
- Checking graph consistency
- Verifying RDF/OWL compliance
- Validating property graph models
Inputs
- RDF datasets (Turtle, RDF/XML)
- OWL ontologies
- Property graph schemas
- Cypher structures
- Graph data files
- Graph exports
Outputs
- Validation report
- Detected violations
- Suggested corrections
- Conformance status
- Constraint violations
Example
Input Schema:
Student: student_id (UNIQUE), name, email
Course: course_code (UNIQUE), title, credits
Relationship: (Student)-[:ENROLLED_IN]->(Course)
Input Data:
(Student {name: "Alice"}) # INVALID: missing student_id
(Student {student_id: "S001", name: "Bob"})-[:ENROLLED_IN]->(Course) # OK
Validation Report:
Violations: 1
- Node S002: Missing required property student_id
- Suggestion: Add student_id to Student node
Validation Types
1. Schema Conformance
- Node labels match schema classes
- Relationships follow schema rules
- Property types are valid
2. Property Validation
- Required properties present
- Data types correct
- Property names consistent
3. Relationship Validation
- Relationships follow schema rules
- Direction correct
- Source/target types valid
4. Cardinality Constraints
- Minimum/maximum occurrences
- Uniqueness constraints
- Collection sizes
5. Graph Integrity
- No orphan nodes
- No broken references
- No duplicate identifiers
- Consistent relationships
Schema Formats
RDF/OWL (SHACL Shapes)
:StudentShape a sh:NodeShape ;
sh:targetClass :Student ;
sh:property [
sh:path :student_id ;
sh:datatype xsd:string ;
sh:minCount 1
] .
Property Graph (Cypher Constraints)
CREATE CONSTRAINT student_id_unique ON (s:Student) REQUIRE s.student_id IS UNIQUE
CREATE INDEX ON (s:Student)(name)
Execution Steps
- Load Schema – Load ontology, SHACL shapes, or schema definition
- Load Data – Load graph data to validate
- Define Rules – Specify validation constraints
- Execute Validation – Check data against rules
- Generate Report – Produce validation results
- Suggest Fixes – Recommend corrections
Recommended Libraries
- RDF/OWL: rdflib, pyshacl, owlready2
- Property Graph: neo4j, py2neo, networkx
- Data Validation: pydantic, jsonschema
- Graph Analysis: networkx
Best Practices
✓ Validate before production deployment
✓ Enforce constraints at database level
✓ Use consistent property naming
✓ Define validation rules early
✓ Maintain validation tests
✓ Document constraint rules
✓ Review violation reports carefully
References
See validation-patterns.md for validation strategies and example-validations.md for domain validation examples.
Version: 1.0.0
微信扫一扫