Cadastry Chain Schema Overview
This document provides an overview of the Cadastry Chain schema. The schema is designed to represent various entities and their relationships in a flexible and extensible manner.
Key Components
- Document: The base type for all entities in the system, providing core functionality like versioning and permissions.
- Field: Various field types used to store and manage different types of data within documents.
- Actor: Represents individuals, organizations, or any entity capable of actions.
- Object: Represents physical or digital items that can be grouped and categorized.
- Event: Represents occurrences with timing information and recurrence capabilities.
- Place: Represents physical or virtual locations with flexible properties.
- Resource: Represents digital assets such as images, videos, or 3D models.
Schema Design Principles
- Flexibility: The schema accommodates diverse entities and relationships while maintaining structure.
- Extensibility: Uses a class-based system for entity categorization, enabling specialization.
- Consistency: All entities inherit from Document, ensuring uniform core properties.
- Interoperability: Facilitates complex relationships between different entity types.
Core Concepts
Document
The Document interface provides the foundation with properties including:
- CDID (unique identifier)
- Version tracking (height)
- Timestamps (createdAt, updatedAt)
- Creator and updater information (createdBy, updatedBy)
- Content hash
- Class designation
- Record or Resource content
- Evaluations
- Additional identifiers
- Document references
- Power specifications
- Permissions
- Signatures
Fields
The schema supports multiple field types, each extending from BaseField:
- StringField: For text data
- NumberField: For numeric values
- BooleanField: For true/false values
- DateField: For temporal data
- ArrayField: For collections
- ObjectField: For complex structures
- ReferenceField: For document references
- ResourceField: For digital assets
- EncryptedField: For sensitive data
- SelectField: For enumerated values
- ImageField: For image data
- UrlField: For web addresses
Each field type includes properties for type identification, value storage, and optional features like encryption and privacy settings.
Specialized Entity Types
Actor
- Represents entities capable of actions
- Can be individuals, organizations, or systems
- Includes identity and capability information
Object
- Represents physical or digital items
- Supports grouping and categorization
- Can reference collections or exhibitions
Event
- Handles temporal information
- Supports one-time and recurring events
- Includes timezone and duration handling
Place
- Represents locations of all types
- Can include geographic data
- Supports relationships with other entities
Resource
- Manages digital assets
- Specialized handling for different media types
- Includes metadata and access controls
Usage Guidelines
- Begin with Document as the foundation
- Select appropriate Field types for data structure
- Use specialized entity types based on requirements
- Create relationships using the reference system
- Apply permissions and encryption as needed
Detailed Documentation
For comprehensive information on each component, refer to:
- Document - Base document structure
- Fields - Available field types
- Actor - Actor entity specification
- Object - Object entity specification
- Event - Event entity specification
- Place - Place entity specification
- Resource - Resource entity specification
Each document provides detailed specifications, property tables, usage examples, and implementation considerations.