Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 107 additions & 8 deletions docs/schema/include_access_model.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -835,10 +835,11 @@ slots:
title: DOI
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:do_id
owner: DOI
owner: Dataset
domain_of:
- Study
- DOI
- Dataset
range: DOI
multivalued: false
subject_id:
Expand Down Expand Up @@ -979,12 +980,13 @@ slots:
title: Name
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:name
owner: ActivityDefinition
owner: Dataset
domain_of:
- VirtualBiorepository
- Investigator
- EncounterDefinition
- ActivityDefinition
- Dataset
range: string
required: false
email:
Expand Down Expand Up @@ -1176,9 +1178,10 @@ slots:
title: Publication
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:publication
owner: Study
owner: Dataset
domain_of:
- Study
- Dataset
range: Publication
multivalued: true
inlined: true
Expand Down Expand Up @@ -1737,10 +1740,11 @@ slots:
title: Description
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:description
owner: ActivityDefinition
owner: Dataset
domain_of:
- EncounterDefinition
- ActivityDefinition
- Dataset
range: string
encounter_definition_id:
name: encounter_definition_id
Expand Down Expand Up @@ -1773,9 +1777,10 @@ slots:
title: File ID
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:file_id
owner: File
owner: Dataset
domain_of:
- File
- Dataset
range: File
filename:
name: filename
Expand Down Expand Up @@ -1891,6 +1896,39 @@ slots:
domain_of:
- FileHash
range: string
dataset_id:
name: dataset_id
definition_uri: https://includedcc.org/include-access-model/dataset_id
description: Unique identifier for a Dataset.
title: Dataset ID
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:dataset_id
owner: Dataset
domain_of:
- Dataset
range: Dataset
data_collection_start:
name: data_collection_start
definition_uri: https://includedcc.org/include-access-model/data_collection_start
description: The date that data collection started. May include only a year.
title: Data Collection Start
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:data_collection_start
owner: Dataset
domain_of:
- Dataset
range: string
data_collection_end:
name: data_collection_end
definition_uri: https://includedcc.org/include-access-model/data_collection_end
description: The date that data collection started. May include only a year.
title: Data Collection End
from_schema: https://includedcc.org/include-access-model
slot_uri: includedcc:data_collection_end
owner: Dataset
domain_of:
- Dataset
range: string
Study_study_id:
name: Study_study_id
definition_uri: https://includedcc.org/include-access-model/study_id
Expand Down Expand Up @@ -2235,6 +2273,41 @@ slots:
usage_slot_name: sample_id
range: Sample
multivalued: true
Dataset_dataset_id:
name: Dataset_dataset_id
definition_uri: https://includedcc.org/include-access-model/dataset_id
description: Unique identifier for a Dataset.
title: Dataset ID
from_schema: https://includedcc.org/include-access-model
is_a: dataset_id
domain: Dataset
slot_uri: includedcc:dataset_id
identifier: true
alias: dataset_id
owner: Dataset
domain_of:
- Dataset
is_usage_slot: true
usage_slot_name: dataset_id
range: string
required: true
Dataset_file_id:
name: Dataset_file_id
definition_uri: https://includedcc.org/include-access-model/file_id
description: The list of files comprising this dataset.
title: File ID
from_schema: https://includedcc.org/include-access-model
is_a: file_id
domain: Dataset
slot_uri: includedcc:file_id
alias: file_id
owner: Dataset
domain_of:
- Dataset
is_usage_slot: true
usage_slot_name: file_id
range: File
multivalued: true
classes:
Record:
name: Record
Expand Down Expand Up @@ -2643,9 +2716,35 @@ classes:
- hash_type
- hash_value
class_uri: includedcc:FileHash
Dataset:
name: Dataset
definition_uri: https://includedcc.org/include-access-model/Dataset
description: Set of files grouped together for release.
title: Dataset
from_schema: https://includedcc.org/include-access-model
slots:
- Dataset_dataset_id
- name
- description
- do_id
- Dataset_file_id
- publication
- data_collection_start
- data_collection_end
slot_usage:
dataset_id:
name: dataset_id
identifier: true
range: string
required: true
file_id:
name: file_id
description: The list of files comprising this dataset.
multivalued: true
class_uri: includedcc:Dataset
metamodel_version: 1.7.0
source_file: include_access_model.yaml
source_file_date: '2026-03-09T16:30:20'
source_file_size: 35097
generation_date: '2026-03-09T16:31:10'
source_file_date: '2026-03-12T10:52:04'
source_file_size: 36264
generation_date: '2026-03-12T10:53:07'

74 changes: 73 additions & 1 deletion src/include_access_model/datamodel/include_access_model.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Auto generated from include_access_model.yaml by pythongen.py version: 0.0.1
# Generation date: 2026-03-09T16:30:56
# Generation date: 2026-03-12T10:52:49
# Schema: include-access-model
#
# id: https://includedcc.org/include-access-model
Expand Down Expand Up @@ -141,6 +141,10 @@ class FileFileId(extended_str):
pass


class DatasetDatasetId(extended_str):
pass


@dataclass(repr=False)
class Record(YAMLRoot):
"""
Expand Down Expand Up @@ -994,6 +998,59 @@ def __post_init__(self, *_: str, **kwargs: Any):
super().__post_init__(**kwargs)


@dataclass(repr=False)
class Dataset(YAMLRoot):
"""
Set of files grouped together for release.
"""
_inherited_slots: ClassVar[list[str]] = []

class_class_uri: ClassVar[URIRef] = INCLUDEDCC["Dataset"]
class_class_curie: ClassVar[str] = "includedcc:Dataset"
class_name: ClassVar[str] = "Dataset"
class_model_uri: ClassVar[URIRef] = INCLUDEDCC.Dataset

dataset_id: Union[str, DatasetDatasetId] = None
name: Optional[str] = None
description: Optional[str] = None
do_id: Optional[Union[str, DOIDoId]] = None
file_id: Optional[Union[Union[str, FileFileId], list[Union[str, FileFileId]]]] = empty_list()
publication: Optional[Union[Union[dict, Publication], list[Union[dict, Publication]]]] = empty_list()
data_collection_start: Optional[str] = None
data_collection_end: Optional[str] = None

def __post_init__(self, *_: str, **kwargs: Any):
if self._is_empty(self.dataset_id):
self.MissingRequiredField("dataset_id")
if not isinstance(self.dataset_id, DatasetDatasetId):
self.dataset_id = DatasetDatasetId(self.dataset_id)

if self.name is not None and not isinstance(self.name, str):
self.name = str(self.name)

if self.description is not None and not isinstance(self.description, str):
self.description = str(self.description)

if self.do_id is not None and not isinstance(self.do_id, DOIDoId):
self.do_id = DOIDoId(self.do_id)

if not isinstance(self.file_id, list):
self.file_id = [self.file_id] if self.file_id is not None else []
self.file_id = [v if isinstance(v, FileFileId) else FileFileId(v) for v in self.file_id]

if not isinstance(self.publication, list):
self.publication = [self.publication] if self.publication is not None else []
self.publication = [v if isinstance(v, Publication) else Publication(**as_dict(v)) for v in self.publication]

if self.data_collection_start is not None and not isinstance(self.data_collection_start, str):
self.data_collection_start = str(self.data_collection_start)

if self.data_collection_end is not None and not isinstance(self.data_collection_end, str):
self.data_collection_end = str(self.data_collection_end)

super().__post_init__(**kwargs)


# Enumerations
class EnumProgram(EnumDefinitionImpl):
"""
Expand Down Expand Up @@ -1792,6 +1849,15 @@ class slots:
slots.hash_value = Slot(uri=INCLUDEDCC.hash_value, name="hash_value", curie=INCLUDEDCC.curie('hash_value'),
model_uri=INCLUDEDCC.hash_value, domain=None, range=Optional[str])

slots.dataset_id = Slot(uri=INCLUDEDCC.dataset_id, name="dataset_id", curie=INCLUDEDCC.curie('dataset_id'),
model_uri=INCLUDEDCC.dataset_id, domain=None, range=Optional[Union[str, DatasetDatasetId]])

slots.data_collection_start = Slot(uri=INCLUDEDCC.data_collection_start, name="data_collection_start", curie=INCLUDEDCC.curie('data_collection_start'),
model_uri=INCLUDEDCC.data_collection_start, domain=None, range=Optional[str])

slots.data_collection_end = Slot(uri=INCLUDEDCC.data_collection_end, name="data_collection_end", curie=INCLUDEDCC.curie('data_collection_end'),
model_uri=INCLUDEDCC.data_collection_end, domain=None, range=Optional[str])

slots.Study_study_id = Slot(uri=INCLUDEDCC.study_id, name="Study_study_id", curie=INCLUDEDCC.curie('study_id'),
model_uri=INCLUDEDCC.Study_study_id, domain=Study, range=Union[str, StudyStudyId])

Expand Down Expand Up @@ -1848,3 +1914,9 @@ class slots:

slots.File_sample_id = Slot(uri=INCLUDEDCC.sample_id, name="File_sample_id", curie=INCLUDEDCC.curie('sample_id'),
model_uri=INCLUDEDCC.File_sample_id, domain=File, range=Optional[Union[Union[str, SampleSampleId], list[Union[str, SampleSampleId]]]])

slots.Dataset_dataset_id = Slot(uri=INCLUDEDCC.dataset_id, name="Dataset_dataset_id", curie=INCLUDEDCC.curie('dataset_id'),
model_uri=INCLUDEDCC.Dataset_dataset_id, domain=Dataset, range=Union[str, DatasetDatasetId])

slots.Dataset_file_id = Slot(uri=INCLUDEDCC.file_id, name="Dataset_file_id", curie=INCLUDEDCC.curie('file_id'),
model_uri=INCLUDEDCC.Dataset_file_id, domain=Dataset, range=Optional[Union[Union[str, FileFileId], list[Union[str, FileFileId]]]])
Loading
Loading