# generated by datamodel-codegen:
#   filename:  https://raw.githubusercontent.com/HumanBrainProject/openMINDS/3fa86f956b407b2debf47c2e1b6314e37579c707/v3/SANDS/v3/atlas/parcellationTerminology.schema.json

from typing import Any, List, Optional

from pydantic import Field
from siibra.openminds.base import SiibraBaseModel


class Model(SiibraBaseModel):
    id: str = Field(..., alias='@id', description='Metadata node identifier.')
    type: str = Field(..., alias='@type')
    defined_in: Optional[List[Any]] = Field(
        None,
        alias='definedIn',
        description='Reference to a file instance in which something is stored.',
        min_items=1,
        title='definedIn',
    )
    has_entity: List[Any] = Field(
        ...,
        alias='hasEntity',
        min_items=1,
        title='hasEntity',
    )
    ontology_identifier: Optional[List[str]] = Field(
        None,
        alias='ontologyIdentifier',
        description='Term or code used to identify something or someone registered within a particular ontology.',
        min_items=1,
        title='ontologyIdentifier',
    )
