From b9e57f8d86e97ee53f709fd9e333a00a4e6f0e0c Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Tue, 24 Mar 2026 16:25:17 +0100 Subject: [PATCH 1/7] Introduce support for openMINDS v5 (v4 remains the default) --- builder/update_openminds.py | 649 +++++++++++------ doc/modules.rst | 63 +- doc/modules/openminds_v5_chemicals.rst | 21 + doc/modules/openminds_v5_computation.rst | 77 ++ doc/modules/openminds_v5_controlledterms.rst | 679 ++++++++++++++++++ doc/modules/openminds_v5_core.rst | 280 ++++++++ doc/modules/openminds_v5_ephys.rst | 43 ++ doc/modules/openminds_v5_neuroimaging.rst | 31 + doc/modules/openminds_v5_publications.rst | 50 ++ doc/modules/openminds_v5_sands.rst | 144 ++++ doc/modules/openminds_v5_specimenprep.rst | 30 + doc/modules/openminds_v5_stimulation.rst | 15 + fairgraph/openminds/__init__.py | 15 +- fairgraph/openminds/v4/__init__.py | 1 + .../openminds/{ => v4}/chemicals/__init__.py | 0 .../{ => v4}/chemicals/amount_of_chemical.py | 0 .../{ => v4}/chemicals/chemical_mixture.py | 0 .../{ => v4}/chemicals/chemical_substance.py | 0 .../{ => v4}/chemicals/product_source.py | 0 .../{ => v4}/computation/__init__.py | 0 .../{ => v4}/computation/data_analysis.py | 0 .../{ => v4}/computation/data_copy.py | 0 .../{ => v4}/computation/environment.py | 0 .../computation/generic_computation.py | 0 .../{ => v4}/computation/hardware_system.py | 0 .../computation/launch_configuration.py | 0 .../{ => v4}/computation/local_file.py | 2 +- .../{ => v4}/computation/model_validation.py | 0 .../{ => v4}/computation/optimization.py | 0 .../{ => v4}/computation/simulation.py | 0 .../{ => v4}/computation/software_agent.py | 0 .../{ => v4}/computation/validation_test.py | 0 .../computation/validation_test_version.py | 0 .../{ => v4}/computation/visualization.py | 0 .../computation/workflow_execution.py | 0 .../{ => v4}/computation/workflow_recipe.py | 0 .../computation/workflow_recipe_version.py | 0 .../{ => v4}/controlled_terms/__init__.py | 0 .../controlled_terms/action_status_type.py | 0 .../{ => v4}/controlled_terms/age_category.py | 0 .../controlled_terms/analysis_technique.py | 0 .../anatomical_axes_orientation.py | 0 .../anatomical_identification_type.py | 0 .../controlled_terms/anatomical_plane.py | 0 .../annotation_criteria_type.py | 0 .../controlled_terms/annotation_type.py | 0 .../{ => v4}/controlled_terms/atlas_type.py | 0 .../auditory_stimulus_type.py | 0 .../controlled_terms/biological_order.py | 0 .../controlled_terms/biological_process.py | 0 .../controlled_terms/biological_sex.py | 0 .../controlled_terms/breeding_type.py | 0 .../controlled_terms/cell_culture_type.py | 0 .../{ => v4}/controlled_terms/cell_type.py | 0 .../controlled_terms/chemical_mixture_type.py | 0 .../{ => v4}/controlled_terms/colormap.py | 0 .../controlled_terms/contribution_type.py | 0 .../cranial_window_construction_type.py | 0 .../cranial_window_reinforcement_type.py | 0 .../controlled_terms/criteria_quality_type.py | 0 .../{ => v4}/controlled_terms/data_type.py | 0 .../{ => v4}/controlled_terms/device_type.py | 0 .../controlled_terms/difference_measure.py | 0 .../{ => v4}/controlled_terms/disease.py | 0 .../controlled_terms/disease_model.py | 0 .../controlled_terms/educational_level.py | 0 .../electrical_stimulus_type.py | 0 .../controlled_terms/ethics_assessment.py | 0 .../controlled_terms/experimental_approach.py | 0 .../controlled_terms/file_bundle_grouping.py | 0 .../controlled_terms/file_repository_type.py | 0 .../controlled_terms/file_usage_role.py | 0 .../controlled_terms/genetic_strain_type.py | 0 .../gustatory_stimulus_type.py | 0 .../{ => v4}/controlled_terms/handedness.py | 0 .../{ => v4}/controlled_terms/language.py | 0 .../{ => v4}/controlled_terms/laterality.py | 0 .../learning_resource_type.py | 0 .../controlled_terms/measured_quantity.py | 0 .../controlled_terms/measured_signal_type.py | 0 .../controlled_terms/meta_data_model_type.py | 0 .../model_abstraction_level.py | 0 .../{ => v4}/controlled_terms/model_scope.py | 0 .../controlled_terms/molecular_entity.py | 0 .../controlled_terms/mri_pulse_sequence.py | 0 .../controlled_terms/mri_weighting.py | 0 .../olfactory_stimulus_type.py | 0 .../controlled_terms/operating_device.py | 0 .../controlled_terms/operating_system.py | 0 .../controlled_terms/optical_stimulus_type.py | 0 .../{ => v4}/controlled_terms/organ.py | 0 .../controlled_terms/organism_substance.py | 0 .../controlled_terms/organism_system.py | 0 .../controlled_terms/patch_clamp_variation.py | 0 .../controlled_terms/preparation_type.py | 0 .../controlled_terms/product_accessibility.py | 0 .../controlled_terms/programming_language.py | 0 .../controlled_terms/qualitative_overlap.py | 0 .../controlled_terms/semantic_data_type.py | 0 .../{ => v4}/controlled_terms/service.py | 2 +- .../{ => v4}/controlled_terms/setup_type.py | 0 .../software_application_category.py | 0 .../controlled_terms/software_feature.py | 0 .../{ => v4}/controlled_terms/species.py | 0 .../controlled_terms/stimulation_approach.py | 0 .../controlled_terms/stimulation_technique.py | 0 .../controlled_terms/subcellular_entity.py | 0 .../controlled_terms/subject_attribute.py | 0 .../controlled_terms/tactile_stimulus_type.py | 0 .../{ => v4}/controlled_terms/technique.py | 0 .../controlled_terms/term_suggestion.py | 0 .../{ => v4}/controlled_terms/terminology.py | 0 .../tissue_sample_attribute.py | 0 .../controlled_terms/tissue_sample_type.py | 0 .../controlled_terms/type_of_uncertainty.py | 0 .../controlled_terms/uberon_parcellation.py | 0 .../controlled_terms/unit_of_measurement.py | 0 .../controlled_terms/visual_stimulus_type.py | 0 fairgraph/openminds/{ => v4}/core/__init__.py | 0 .../{ => v4}/core/actors/__init__.py | 0 .../core/actors/account_information.py | 0 .../{ => v4}/core/actors/affiliation.py | 4 +- .../{ => v4}/core/actors/consortium.py | 0 .../core/actors/contact_information.py | 0 .../{ => v4}/core/actors/contribution.py | 0 .../{ => v4}/core/actors/organization.py | 0 .../openminds/{ => v4}/core/actors/person.py | 0 .../openminds/{ => v4}/core/data/__init__.py | 0 .../{ => v4}/core/data/content_type.py | 0 .../core/data/content_type_pattern.py | 0 .../openminds/{ => v4}/core/data/copyright.py | 0 .../openminds/{ => v4}/core/data/file.py | 0 .../{ => v4}/core/data/file_archive.py | 0 .../{ => v4}/core/data/file_bundle.py | 0 .../{ => v4}/core/data/file_path_pattern.py | 0 .../{ => v4}/core/data/file_repository.py | 0 .../core/data/file_repository_structure.py | 0 .../openminds/{ => v4}/core/data/hash.py | 0 .../openminds/{ => v4}/core/data/license.py | 0 .../{ => v4}/core/data/measurement.py | 0 .../{ => v4}/core/data/service_link.py | 0 .../core/digital_identifier/__init__.py | 0 .../{ => v4}/core/digital_identifier/doi.py | 0 .../core/digital_identifier/gridid.py | 0 .../core/digital_identifier/handle.py | 0 .../identifiers_dot_org_id.py | 0 .../{ => v4}/core/digital_identifier/isbn.py | 0 .../{ => v4}/core/digital_identifier/issn.py | 0 .../{ => v4}/core/digital_identifier/orcid.py | 0 .../{ => v4}/core/digital_identifier/rorid.py | 0 .../{ => v4}/core/digital_identifier/rrid.py | 0 .../core/digital_identifier/stock_number.py | 0 .../{ => v4}/core/digital_identifier/swhid.py | 0 .../{ => v4}/core/miscellaneous/__init__.py | 0 .../{ => v4}/core/miscellaneous/comment.py | 0 .../{ => v4}/core/miscellaneous/funding.py | 0 .../core/miscellaneous/quantitative_value.py | 0 .../miscellaneous/quantitative_value_array.py | 0 .../miscellaneous/quantitative_value_range.py | 0 .../miscellaneous/research_product_group.py | 0 .../core/miscellaneous/web_resource.py | 0 .../{ => v4}/core/products/__init__.py | 0 .../{ => v4}/core/products/dataset.py | 0 .../{ => v4}/core/products/dataset_version.py | 2 +- .../{ => v4}/core/products/meta_data_model.py | 0 .../core/products/meta_data_model_version.py | 0 .../openminds/{ => v4}/core/products/model.py | 0 .../{ => v4}/core/products/model_version.py | 2 +- .../{ => v4}/core/products/project.py | 0 .../openminds/{ => v4}/core/products/setup.py | 0 .../{ => v4}/core/products/software.py | 0 .../core/products/software_version.py | 0 .../{ => v4}/core/products/web_service.py | 0 .../core/products/web_service_version.py | 0 .../{ => v4}/core/research/__init__.py | 0 .../core/research/behavioral_protocol.py | 0 .../{ => v4}/core/research/configuration.py | 0 .../core/research/custom_property_set.py | 0 .../core/research/numerical_property.py | 0 .../core/research/property_value_list.py | 0 .../{ => v4}/core/research/protocol.py | 0 .../core/research/protocol_execution.py | 0 .../{ => v4}/core/research/strain.py | 0 .../{ => v4}/core/research/string_property.py | 0 .../{ => v4}/core/research/subject.py | 0 .../{ => v4}/core/research/subject_group.py | 0 .../core/research/subject_group_state.py | 0 .../{ => v4}/core/research/subject_state.py | 0 .../{ => v4}/core/research/tissue_sample.py | 0 .../core/research/tissue_sample_collection.py | 0 .../tissue_sample_collection_state.py | 0 .../core/research/tissue_sample_state.py | 0 .../openminds/{ => v4}/ephys/__init__.py | 0 .../{ => v4}/ephys/activity/__init__.py | 0 .../{ => v4}/ephys/activity/cell_patching.py | 0 .../ephys/activity/electrode_placement.py | 0 .../ephys/activity/recording_activity.py | 0 .../{ => v4}/ephys/device/__init__.py | 0 .../{ => v4}/ephys/device/electrode.py | 0 .../{ => v4}/ephys/device/electrode_array.py | 0 .../ephys/device/electrode_array_usage.py | 0 .../{ => v4}/ephys/device/electrode_usage.py | 0 .../{ => v4}/ephys/device/pipette.py | 0 .../{ => v4}/ephys/device/pipette_usage.py | 0 .../{ => v4}/ephys/entity/__init__.py | 0 .../{ => v4}/ephys/entity/channel.py | 0 .../{ => v4}/ephys/entity/recording.py | 0 .../{ => v4}/publications/__init__.py | 0 .../openminds/{ => v4}/publications/book.py | 0 .../{ => v4}/publications/chapter.py | 0 .../publications/learning_resource.py | 0 .../{ => v4}/publications/live_paper.py | 0 .../publications/live_paper_resource_item.py | 0 .../publications/live_paper_section.py | 0 .../publications/live_paper_version.py | 0 .../{ => v4}/publications/periodical.py | 0 .../publications/publication_issue.py | 0 .../publications/publication_volume.py | 0 .../publications/scholarly_article.py | 0 .../openminds/{ => v4}/sands/__init__.py | 0 .../{ => v4}/sands/atlas/__init__.py | 0 .../{ => v4}/sands/atlas/atlas_annotation.py | 0 .../{ => v4}/sands/atlas/brain_atlas.py | 0 .../sands/atlas/brain_atlas_version.py | 2 +- .../sands/atlas/common_coordinate_space.py | 0 .../atlas/common_coordinate_space_version.py | 2 +- .../sands/atlas/parcellation_entity.py | 0 .../atlas/parcellation_entity_version.py | 0 .../sands/atlas/parcellation_terminology.py | 0 .../atlas/parcellation_terminology_version.py | 0 .../sands/mathematical_shapes/__init__.py | 0 .../sands/mathematical_shapes/circle.py | 0 .../sands/mathematical_shapes/ellipse.py | 4 +- .../sands/mathematical_shapes/rectangle.py | 0 .../{ => v4}/sands/miscellaneous/__init__.py | 0 .../anatomical_target_position.py | 0 .../sands/miscellaneous/coordinate_point.py | 0 .../qualitative_relation_assessment.py | 0 .../quantitative_relation_assessment.py | 0 .../sands/miscellaneous/single_color.py | 0 .../miscellaneous/viewer_specification.py | 0 .../{ => v4}/sands/non_atlas/__init__.py | 0 .../non_atlas/custom_anatomical_entity.py | 0 .../sands/non_atlas/custom_annotation.py | 0 .../non_atlas/custom_coordinate_space.py | 0 .../{ => v4}/specimen_prep/__init__.py | 0 .../specimen_prep/activity/__init__.py | 0 .../activity/cranial_window_preparation.py | 0 .../activity/tissue_culture_preparation.py | 0 .../activity/tissue_sample_slicing.py | 0 .../{ => v4}/specimen_prep/device/__init__.py | 0 .../specimen_prep/device/slicing_device.py | 0 .../device/slicing_device_usage.py | 0 .../{ => v4}/stimulation/__init__.py | 0 .../{ => v4}/stimulation/activity/__init__.py | 0 .../activity/stimulation_activity.py | 0 .../{ => v4}/stimulation/stimulus/__init__.py | 0 .../stimulation/stimulus/ephys_stimulus.py | 0 fairgraph/openminds/v5/__init__.py | 12 + fairgraph/openminds/v5/chemicals/__init__.py | 33 + .../v5/chemicals/amount_of_chemical.py | 23 + .../v5/chemicals/chemical_mixture.py | 72 ++ .../v5/chemicals/chemical_substance.py | 67 ++ .../openminds/v5/chemicals/product_source.py | 57 ++ .../openminds/v5/computation/__init__.py | 47 ++ .../openminds/v5/computation/data_analysis.py | 104 +++ .../openminds/v5/computation/data_copy.py | 104 +++ .../v5/computation/deployed_interface.py | 27 + .../openminds/v5/computation/environment.py | 66 ++ .../v5/computation/generic_computation.py | 104 +++ .../v5/computation/hardware_system.py | 53 ++ .../v5/computation/launch_configuration.py | 68 ++ .../v5/computation/model_validation.py | 107 +++ .../openminds/v5/computation/optimization.py | 104 +++ .../v5/computation/service_deployment.py | 55 ++ .../openminds/v5/computation/simulation.py | 104 +++ .../v5/computation/software_agent.py | 83 +++ .../v5/computation/validation_test.py | 119 +++ .../v5/computation/validation_test_version.py | 172 +++++ .../openminds/v5/computation/visualization.py | 104 +++ .../v5/computation/workflow_execution.py | 44 ++ .../v5/computation/workflow_recipe.py | 109 +++ .../v5/computation/workflow_recipe_version.py | 187 +++++ .../openminds/v5/controlled_terms/__init__.py | 141 ++++ .../v5/controlled_terms/access_channel.py | 103 +++ .../access_eligibility_type.py | 103 +++ .../v5/controlled_terms/access_form.py | 103 +++ .../controlled_terms/access_process_type.py | 103 +++ .../v5/controlled_terms/action_status_type.py | 111 +++ .../v5/controlled_terms/age_category.py | 103 +++ .../v5/controlled_terms/age_reference.py | 93 +++ .../v5/controlled_terms/analysis_technique.py | 130 ++++ .../anatomical_axes_orientation.py | 113 +++ .../v5/controlled_terms/anatomical_cavity.py | 169 +++++ .../anatomical_identification_type.py | 103 +++ .../v5/controlled_terms/anatomical_plane.py | 103 +++ .../annotation_criteria_type.py | 103 +++ .../v5/controlled_terms/annotation_type.py | 103 +++ .../v5/controlled_terms/atlas_type.py | 102 +++ .../auditory_stimulus_type.py | 141 ++++ .../v5/controlled_terms/biological_order.py | 139 ++++ .../v5/controlled_terms/biological_process.py | 93 +++ .../v5/controlled_terms/biological_sex.py | 146 ++++ .../v5/controlled_terms/breeding_type.py | 141 ++++ .../v5/controlled_terms/cell_culture_type.py | 131 ++++ .../v5/controlled_terms/cell_type.py | 167 +++++ .../controlled_terms/chemical_mixture_type.py | 103 +++ .../openminds/v5/controlled_terms/colormap.py | 93 +++ .../communication_interface_type.py | 93 +++ .../communication_protocol.py | 93 +++ .../v5/controlled_terms/contribution_type.py | 100 +++ .../cranial_window_construction_type.py | 103 +++ .../cranial_window_reinforcement_type.py | 103 +++ .../controlled_terms/criteria_quality_type.py | 103 +++ .../v5/controlled_terms/data_type.py | 110 +++ .../v5/controlled_terms/dependency_impact.py | 93 +++ .../deployment_environment_type.py | 103 +++ .../controlled_terms/device_mounting_type.py | 103 +++ .../v5/controlled_terms/device_type.py | 158 ++++ .../v5/controlled_terms/difference_measure.py | 102 +++ .../openminds/v5/controlled_terms/disease.py | 156 ++++ .../v5/controlled_terms/disease_model.py | 156 ++++ .../v5/controlled_terms/educational_level.py | 93 +++ .../electrical_stimulus_type.py | 151 ++++ .../controlled_terms/experimental_approach.py | 100 +++ .../controlled_terms/external_body_region.py | 189 +++++ .../controlled_terms/file_bundle_grouping.py | 113 +++ .../controlled_terms/file_repository_type.py | 103 +++ .../v5/controlled_terms/file_usage_role.py | 103 +++ .../controlled_terms/genetic_strain_type.py | 141 ++++ .../gustatory_stimulus_type.py | 141 ++++ .../v5/controlled_terms/handedness.py | 141 ++++ .../openminds/v5/controlled_terms/language.py | 102 +++ .../v5/controlled_terms/laterality.py | 108 +++ .../learning_resource_type.py | 102 +++ .../v5/controlled_terms/measured_quantity.py | 103 +++ .../controlled_terms/measured_signal_type.py | 93 +++ .../controlled_terms/meta_data_model_type.py | 102 +++ .../model_abstraction_level.py | 93 +++ .../v5/controlled_terms/model_scope.py | 101 +++ .../modification_consent_requirement.py | 103 +++ .../modification_constraint.py | 103 +++ .../v5/controlled_terms/modification_form.py | 103 +++ .../v5/controlled_terms/modification_scope.py | 103 +++ .../v5/controlled_terms/molecular_entity.py | 156 ++++ .../mri_fat_suppression_technique.py | 106 +++ .../mri_parallel_acquisition_technique.py | 106 +++ .../v5/controlled_terms/mri_pulse_sequence.py | 112 +++ .../mri_spoiling_technique.py | 106 +++ .../v5/controlled_terms/mri_weighting.py | 116 +++ .../v5/controlled_terms/muscular_structure.py | 169 +++++ .../nervous_system_structure.py | 169 +++++ .../olfactory_stimulus_type.py | 141 ++++ .../v5/controlled_terms/operating_device.py | 102 +++ .../v5/controlled_terms/operating_system.py | 102 +++ .../controlled_terms/operational_approach.py | 100 +++ .../controlled_terms/optical_stimulus_type.py | 141 ++++ .../openminds/v5/controlled_terms/organ.py | 177 +++++ .../organ_system_structure.py | 169 +++++ .../v5/controlled_terms/organism_substance.py | 177 +++++ .../v5/controlled_terms/organism_system.py | 169 +++++ .../v5/controlled_terms/organization_type.py | 103 +++ .../controlled_terms/patch_clamp_variation.py | 103 +++ .../v5/controlled_terms/payment_model_type.py | 103 +++ .../v5/controlled_terms/preparation_type.py | 123 ++++ .../controlled_terms/programming_language.py | 102 +++ .../v5/controlled_terms/project_type.py | 103 +++ .../v5/controlled_terms/publication_status.py | 104 +++ .../v5/controlled_terms/pulse_shape.py | 103 +++ .../controlled_terms/qualitative_overlap.py | 93 +++ .../v5/controlled_terms/semantic_data_type.py | 93 +++ .../v5/controlled_terms/setup_type.py | 103 +++ .../controlled_terms/signal_directionality.py | 103 +++ .../v5/controlled_terms/skeletal_structure.py | 169 +++++ .../software_application_category.py | 100 +++ .../v5/controlled_terms/software_feature.py | 100 +++ .../v5/controlled_terms/sovereign_state.py | 113 +++ .../v5/controlled_terms/spatial_encoding.py | 106 +++ .../openminds/v5/controlled_terms/species.py | 155 ++++ .../controlled_terms/stimulation_approach.py | 112 +++ .../controlled_terms/stimulation_technique.py | 112 +++ .../v5/controlled_terms/subcellular_entity.py | 159 ++++ .../v5/controlled_terms/subject_attribute.py | 103 +++ .../v5/controlled_terms/supranational_body.py | 103 +++ .../controlled_terms/tactile_stimulus_type.py | 141 ++++ .../v5/controlled_terms/technique.py | 128 ++++ .../v5/controlled_terms/term_suggestion.py | 142 ++++ .../v5/controlled_terms/terminology.py | 103 +++ .../tissue_sample_attribute.py | 103 +++ .../v5/controlled_terms/tissue_sample_type.py | 141 ++++ .../v5/controlled_terms/tissue_structure.py | 169 +++++ .../controlled_terms/type_of_uncertainty.py | 93 +++ .../controlled_terms/unit_of_measurement.py | 102 +++ .../v5/controlled_terms/vascular_structure.py | 169 +++++ .../controlled_terms/visual_stimulus_type.py | 141 ++++ .../v5/controlled_terms/weight_type.py | 93 +++ fairgraph/openminds/v5/core/__init__.py | 117 +++ .../openminds/v5/core/actors/__init__.py | 7 + .../v5/core/actors/account_information.py | 44 ++ .../openminds/v5/core/actors/affiliation.py | 23 + .../openminds/v5/core/actors/consortium.py | 65 ++ .../v5/core/actors/contact_information.py | 43 ++ .../openminds/v5/core/actors/contribution.py | 23 + .../openminds/v5/core/actors/organization.py | 160 +++++ fairgraph/openminds/v5/core/actors/person.py | 194 +++++ fairgraph/openminds/v5/core/data/__init__.py | 19 + .../openminds/v5/core/data/content_type.py | 119 +++ .../v5/core/data/content_type_pattern.py | 53 ++ fairgraph/openminds/v5/core/data/copyright.py | 27 + fairgraph/openminds/v5/core/data/file.py | 303 ++++++++ .../openminds/v5/core/data/file_archive.py | 71 ++ .../openminds/v5/core/data/file_bundle.py | 158 ++++ .../v5/core/data/file_path_pattern.py | 23 + .../openminds/v5/core/data/file_repository.py | 99 +++ .../v5/core/data/file_repository_structure.py | 51 ++ .../openminds/v5/core/data/grid_image.py | 50 ++ .../v5/core/data/grid_image_stack.py | 54 ++ .../openminds/v5/core/data/grid_volume.py | 52 ++ .../v5/core/data/grid_volume_sequence.py | 56 ++ fairgraph/openminds/v5/core/data/hash.py | 23 + fairgraph/openminds/v5/core/data/license.py | 89 +++ .../openminds/v5/core/data/local_file.py | 83 +++ .../openminds/v5/core/data/measurement.py | 45 ++ .../openminds/v5/core/data/service_link.py | 49 ++ .../openminds/v5/core/data/usage_agreement.py | 101 +++ .../v5/core/digital_identifier/__init__.py | 13 + .../v5/core/digital_identifier/doi.py | 97 +++ .../digital_identifier/generic_identifier.py | 85 +++ .../v5/core/digital_identifier/handle.py | 63 ++ .../identifiers_dot_org_id.py | 41 ++ .../v5/core/digital_identifier/isbn.py | 95 +++ .../v5/core/digital_identifier/isni.py | 41 ++ .../v5/core/digital_identifier/issn.py | 74 ++ .../v5/core/digital_identifier/lei.py | 41 ++ .../v5/core/digital_identifier/orcid.py | 41 ++ .../v5/core/digital_identifier/rorid.py | 41 ++ .../v5/core/digital_identifier/rrid.py | 58 ++ .../core/digital_identifier/stock_number.py | 23 + .../v5/core/digital_identifier/swhid.py | 48 ++ .../v5/core/miscellaneous/__init__.py | 12 + .../v5/core/miscellaneous/accessibility.py | 69 ++ .../v5/core/miscellaneous/comment.py | 47 ++ .../v5/core/miscellaneous/dependency.py | 23 + .../v5/core/miscellaneous/funding.py | 70 ++ .../v5/core/miscellaneous/geo_coordinates.py | 28 + .../v5/core/miscellaneous/location.py | 25 + .../v5/core/miscellaneous/membership.py | 28 + .../core/miscellaneous/quantitative_value.py | 43 ++ .../miscellaneous/quantitative_value_array.py | 45 ++ .../miscellaneous/quantitative_value_range.py | 43 ++ .../miscellaneous/research_product_group.py | 26 + .../v5/core/miscellaneous/web_resource.py | 164 +++++ .../openminds/v5/core/products/__init__.py | 14 + .../openminds/v5/core/products/dataset.py | 109 +++ .../v5/core/products/dataset_version.py | 242 +++++++ .../v5/core/products/hardware_product.py | 74 ++ .../openminds/v5/core/products/interface.py | 121 ++++ .../v5/core/products/interface_version.py | 164 +++++ .../v5/core/products/meta_data_model.py | 109 +++ .../core/products/meta_data_model_version.py | 170 +++++ fairgraph/openminds/v5/core/products/model.py | 117 +++ .../v5/core/products/model_version.py | 237 ++++++ .../openminds/v5/core/products/project.py | 58 ++ .../openminds/v5/core/products/service.py | 110 +++ fairgraph/openminds/v5/core/products/setup.py | 69 ++ .../openminds/v5/core/products/software.py | 109 +++ .../v5/core/products/software_version.py | 225 ++++++ .../openminds/v5/core/research/__init__.py | 19 + .../v5/core/research/behavioral_protocol.py | 77 ++ .../v5/core/research/configuration.py | 68 ++ .../v5/core/research/custom_property_set.py | 27 + .../v5/core/research/numerical_property.py | 37 + .../v5/core/research/property_value_list.py | 75 ++ .../openminds/v5/core/research/protocol.py | 73 ++ .../v5/core/research/protocol_execution.py | 76 ++ .../v5/core/research/specimen_age.py | 23 + .../v5/core/research/specimen_weight.py | 23 + .../openminds/v5/core/research/strain.py | 90 +++ .../v5/core/research/string_property.py | 37 + .../openminds/v5/core/research/subject.py | 79 ++ .../v5/core/research/subject_group.py | 93 +++ .../v5/core/research/subject_group_state.py | 125 ++++ .../v5/core/research/subject_state.py | 154 ++++ .../v5/core/research/tissue_sample.py | 87 +++ .../core/research/tissue_sample_collection.py | 101 +++ .../tissue_sample_collection_state.py | 121 ++++ .../v5/core/research/tissue_sample_state.py | 145 ++++ fairgraph/openminds/v5/ephys/__init__.py | 31 + .../openminds/v5/ephys/activity/__init__.py | 3 + .../v5/ephys/activity/cell_patching.py | 73 ++ .../v5/ephys/activity/electrode_placement.py | 67 ++ .../v5/ephys/activity/recording_activity.py | 67 ++ .../openminds/v5/ephys/device/__init__.py | 6 + .../openminds/v5/ephys/device/electrode.py | 75 ++ .../v5/ephys/device/electrode_array.py | 79 ++ .../v5/ephys/device/electrode_array_usage.py | 101 +++ .../v5/ephys/device/electrode_usage.py | 97 +++ .../openminds/v5/ephys/device/pipette.py | 75 ++ .../v5/ephys/device/pipette_usage.py | 119 +++ .../openminds/v5/neuroimaging/__init__.py | 31 + .../v5/neuroimaging/activity/__init__.py | 2 + .../activity/dynamic_mri_acquisition.py | 87 +++ .../activity/static_mri_acquisition.py | 77 ++ .../v5/neuroimaging/device/__init__.py | 4 + .../v5/neuroimaging/device/mri_coil.py | 75 ++ .../v5/neuroimaging/device/mri_coil_usage.py | 97 +++ .../v5/neuroimaging/device/mri_scanner.py | 61 ++ .../neuroimaging/device/mri_scanner_usage.py | 156 ++++ .../openminds/v5/publications/__init__.py | 40 ++ fairgraph/openminds/v5/publications/book.py | 113 +++ .../openminds/v5/publications/chapter.py | 107 +++ .../v5/publications/learning_resource.py | 86 +++ .../openminds/v5/publications/live_paper.py | 109 +++ .../publications/live_paper_resource_item.py | 58 ++ .../v5/publications/live_paper_section.py | 57 ++ .../v5/publications/live_paper_version.py | 169 +++++ .../openminds/v5/publications/periodical.py | 53 ++ .../v5/publications/publication_issue.py | 44 ++ .../v5/publications/publication_volume.py | 44 ++ .../v5/publications/scholarly_article.py | 153 ++++ fairgraph/openminds/v5/sands/__init__.py | 74 ++ .../openminds/v5/sands/atlas/__init__.py | 9 + .../v5/sands/atlas/anatomical_atlas.py | 127 ++++ .../sands/atlas/anatomical_atlas_version.py | 174 +++++ .../v5/sands/atlas/atlas_annotation.py | 50 ++ .../atlas/common_coordinate_framework.py | 135 ++++ .../common_coordinate_framework_version.py | 201 ++++++ .../v5/sands/atlas/parcellation_entity.py | 142 ++++ .../atlas/parcellation_entity_version.py | 148 ++++ .../sands/atlas/parcellation_terminology.py | 40 ++ .../atlas/parcellation_terminology_version.py | 40 ++ .../v5/sands/mathematical_shape/__init__.py | 23 + .../mathematical_shape/centroidal_pyramid.py | 23 + .../v5/sands/mathematical_shape/circle.py | 23 + .../mathematical_shape/circular_sector.py | 23 + .../v5/sands/mathematical_shape/cube.py | 23 + .../v5/sands/mathematical_shape/ellipse.py | 23 + .../v5/sands/mathematical_shape/ellipsoid.py | 38 + .../equilateral_triangle.py | 23 + .../v5/sands/mathematical_shape/frustum.py | 41 ++ .../mathematical_shape/isosceles_triangle.py | 23 + .../v5/sands/mathematical_shape/kite.py | 27 + .../sands/mathematical_shape/parallelogram.py | 34 + .../v5/sands/mathematical_shape/rectangle.py | 27 + .../mathematical_shape/regular_polygon.py | 23 + .../v5/sands/mathematical_shape/rhombus.py | 23 + .../v5/sands/mathematical_shape/right_cone.py | 23 + .../mathematical_shape/right_cylinder.py | 23 + .../sands/mathematical_shape/right_prism.py | 23 + .../mathematical_shape/right_triangle.py | 23 + .../v5/sands/mathematical_shape/sphere.py | 23 + .../v5/sands/mathematical_shape/spheroid.py | 27 + .../v5/sands/mathematical_shape/square.py | 23 + .../v5/sands/mathematical_shape/trapezoid.py | 23 + .../v5/sands/mathematical_shape/triangle.py | 23 + .../v5/sands/miscellaneous/__init__.py | 6 + .../anatomical_target_position.py | 40 ++ .../sands/miscellaneous/coordinate_point.py | 25 + .../qualitative_relation_assessment.py | 34 + .../quantitative_relation_assessment.py | 38 + .../v5/sands/miscellaneous/single_color.py | 24 + .../miscellaneous/viewer_specification.py | 40 ++ .../openminds/v5/sands/non_atlas/__init__.py | 3 + .../non_atlas/custom_anatomical_entity.py | 114 +++ .../v5/sands/non_atlas/custom_annotation.py | 52 ++ .../non_atlas/custom_coordinate_framework.py | 73 ++ .../openminds/v5/specimen_prep/__init__.py | 31 + .../v5/specimen_prep/activity/__init__.py | 3 + .../activity/cranial_window_preparation.py | 69 ++ .../activity/tissue_culture_preparation.py | 67 ++ .../activity/tissue_sample_slicing.py | 69 ++ .../v5/specimen_prep/device/__init__.py | 2 + .../v5/specimen_prep/device/slicing_device.py | 69 ++ .../device/slicing_device_usage.py | 113 +++ .../openminds/v5/stimulation/__init__.py | 31 + .../v5/stimulation/activity/__init__.py | 1 + .../activity/stimulation_activity.py | 67 ++ .../v5/stimulation/stimulus/__init__.py | 1 + .../v5/stimulation/stimulus/ephys_stimulus.py | 63 ++ fairgraph/registry.py | 18 +- test/test_openminds_versions.py | 125 ++++ 581 files changed, 29710 insertions(+), 236 deletions(-) create mode 100644 doc/modules/openminds_v5_chemicals.rst create mode 100644 doc/modules/openminds_v5_computation.rst create mode 100644 doc/modules/openminds_v5_controlledterms.rst create mode 100644 doc/modules/openminds_v5_core.rst create mode 100644 doc/modules/openminds_v5_ephys.rst create mode 100644 doc/modules/openminds_v5_neuroimaging.rst create mode 100644 doc/modules/openminds_v5_publications.rst create mode 100644 doc/modules/openminds_v5_sands.rst create mode 100644 doc/modules/openminds_v5_specimenprep.rst create mode 100644 doc/modules/openminds_v5_stimulation.rst create mode 100644 fairgraph/openminds/v4/__init__.py rename fairgraph/openminds/{ => v4}/chemicals/__init__.py (100%) rename fairgraph/openminds/{ => v4}/chemicals/amount_of_chemical.py (100%) rename fairgraph/openminds/{ => v4}/chemicals/chemical_mixture.py (100%) rename fairgraph/openminds/{ => v4}/chemicals/chemical_substance.py (100%) rename fairgraph/openminds/{ => v4}/chemicals/product_source.py (100%) rename fairgraph/openminds/{ => v4}/computation/__init__.py (100%) rename fairgraph/openminds/{ => v4}/computation/data_analysis.py (100%) rename fairgraph/openminds/{ => v4}/computation/data_copy.py (100%) rename fairgraph/openminds/{ => v4}/computation/environment.py (100%) rename fairgraph/openminds/{ => v4}/computation/generic_computation.py (100%) rename fairgraph/openminds/{ => v4}/computation/hardware_system.py (100%) rename fairgraph/openminds/{ => v4}/computation/launch_configuration.py (100%) rename fairgraph/openminds/{ => v4}/computation/local_file.py (97%) rename fairgraph/openminds/{ => v4}/computation/model_validation.py (100%) rename fairgraph/openminds/{ => v4}/computation/optimization.py (100%) rename fairgraph/openminds/{ => v4}/computation/simulation.py (100%) rename fairgraph/openminds/{ => v4}/computation/software_agent.py (100%) rename fairgraph/openminds/{ => v4}/computation/validation_test.py (100%) rename fairgraph/openminds/{ => v4}/computation/validation_test_version.py (100%) rename fairgraph/openminds/{ => v4}/computation/visualization.py (100%) rename fairgraph/openminds/{ => v4}/computation/workflow_execution.py (100%) rename fairgraph/openminds/{ => v4}/computation/workflow_recipe.py (100%) rename fairgraph/openminds/{ => v4}/computation/workflow_recipe_version.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/__init__.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/action_status_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/age_category.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/analysis_technique.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/anatomical_axes_orientation.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/anatomical_identification_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/anatomical_plane.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/annotation_criteria_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/annotation_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/atlas_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/auditory_stimulus_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/biological_order.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/biological_process.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/biological_sex.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/breeding_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/cell_culture_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/cell_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/chemical_mixture_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/colormap.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/contribution_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/cranial_window_construction_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/cranial_window_reinforcement_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/criteria_quality_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/data_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/device_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/difference_measure.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/disease.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/disease_model.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/educational_level.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/electrical_stimulus_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/ethics_assessment.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/experimental_approach.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/file_bundle_grouping.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/file_repository_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/file_usage_role.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/genetic_strain_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/gustatory_stimulus_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/handedness.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/language.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/laterality.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/learning_resource_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/measured_quantity.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/measured_signal_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/meta_data_model_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/model_abstraction_level.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/model_scope.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/molecular_entity.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/mri_pulse_sequence.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/mri_weighting.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/olfactory_stimulus_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/operating_device.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/operating_system.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/optical_stimulus_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/organ.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/organism_substance.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/organism_system.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/patch_clamp_variation.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/preparation_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/product_accessibility.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/programming_language.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/qualitative_overlap.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/semantic_data_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/service.py (98%) rename fairgraph/openminds/{ => v4}/controlled_terms/setup_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/software_application_category.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/software_feature.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/species.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/stimulation_approach.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/stimulation_technique.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/subcellular_entity.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/subject_attribute.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/tactile_stimulus_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/technique.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/term_suggestion.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/terminology.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/tissue_sample_attribute.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/tissue_sample_type.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/type_of_uncertainty.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/uberon_parcellation.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/unit_of_measurement.py (100%) rename fairgraph/openminds/{ => v4}/controlled_terms/visual_stimulus_type.py (100%) rename fairgraph/openminds/{ => v4}/core/__init__.py (100%) rename fairgraph/openminds/{ => v4}/core/actors/__init__.py (100%) rename fairgraph/openminds/{ => v4}/core/actors/account_information.py (100%) rename fairgraph/openminds/{ => v4}/core/actors/affiliation.py (85%) rename fairgraph/openminds/{ => v4}/core/actors/consortium.py (100%) rename fairgraph/openminds/{ => v4}/core/actors/contact_information.py (100%) rename fairgraph/openminds/{ => v4}/core/actors/contribution.py (100%) rename fairgraph/openminds/{ => v4}/core/actors/organization.py (100%) rename fairgraph/openminds/{ => v4}/core/actors/person.py (100%) rename fairgraph/openminds/{ => v4}/core/data/__init__.py (100%) rename fairgraph/openminds/{ => v4}/core/data/content_type.py (100%) rename fairgraph/openminds/{ => v4}/core/data/content_type_pattern.py (100%) rename fairgraph/openminds/{ => v4}/core/data/copyright.py (100%) rename fairgraph/openminds/{ => v4}/core/data/file.py (100%) rename fairgraph/openminds/{ => v4}/core/data/file_archive.py (100%) rename fairgraph/openminds/{ => v4}/core/data/file_bundle.py (100%) rename fairgraph/openminds/{ => v4}/core/data/file_path_pattern.py (100%) rename fairgraph/openminds/{ => v4}/core/data/file_repository.py (100%) rename fairgraph/openminds/{ => v4}/core/data/file_repository_structure.py (100%) rename fairgraph/openminds/{ => v4}/core/data/hash.py (100%) rename fairgraph/openminds/{ => v4}/core/data/license.py (100%) rename fairgraph/openminds/{ => v4}/core/data/measurement.py (100%) rename fairgraph/openminds/{ => v4}/core/data/service_link.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/__init__.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/doi.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/gridid.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/handle.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/identifiers_dot_org_id.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/isbn.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/issn.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/orcid.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/rorid.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/rrid.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/stock_number.py (100%) rename fairgraph/openminds/{ => v4}/core/digital_identifier/swhid.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/__init__.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/comment.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/funding.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/quantitative_value.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/quantitative_value_array.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/quantitative_value_range.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/research_product_group.py (100%) rename fairgraph/openminds/{ => v4}/core/miscellaneous/web_resource.py (100%) rename fairgraph/openminds/{ => v4}/core/products/__init__.py (100%) rename fairgraph/openminds/{ => v4}/core/products/dataset.py (100%) rename fairgraph/openminds/{ => v4}/core/products/dataset_version.py (99%) rename fairgraph/openminds/{ => v4}/core/products/meta_data_model.py (100%) rename fairgraph/openminds/{ => v4}/core/products/meta_data_model_version.py (100%) rename fairgraph/openminds/{ => v4}/core/products/model.py (100%) rename fairgraph/openminds/{ => v4}/core/products/model_version.py (99%) rename fairgraph/openminds/{ => v4}/core/products/project.py (100%) rename fairgraph/openminds/{ => v4}/core/products/setup.py (100%) rename fairgraph/openminds/{ => v4}/core/products/software.py (100%) rename fairgraph/openminds/{ => v4}/core/products/software_version.py (100%) rename fairgraph/openminds/{ => v4}/core/products/web_service.py (100%) rename fairgraph/openminds/{ => v4}/core/products/web_service_version.py (100%) rename fairgraph/openminds/{ => v4}/core/research/__init__.py (100%) rename fairgraph/openminds/{ => v4}/core/research/behavioral_protocol.py (100%) rename fairgraph/openminds/{ => v4}/core/research/configuration.py (100%) rename fairgraph/openminds/{ => v4}/core/research/custom_property_set.py (100%) rename fairgraph/openminds/{ => v4}/core/research/numerical_property.py (100%) rename fairgraph/openminds/{ => v4}/core/research/property_value_list.py (100%) rename fairgraph/openminds/{ => v4}/core/research/protocol.py (100%) rename fairgraph/openminds/{ => v4}/core/research/protocol_execution.py (100%) rename fairgraph/openminds/{ => v4}/core/research/strain.py (100%) rename fairgraph/openminds/{ => v4}/core/research/string_property.py (100%) rename fairgraph/openminds/{ => v4}/core/research/subject.py (100%) rename fairgraph/openminds/{ => v4}/core/research/subject_group.py (100%) rename fairgraph/openminds/{ => v4}/core/research/subject_group_state.py (100%) rename fairgraph/openminds/{ => v4}/core/research/subject_state.py (100%) rename fairgraph/openminds/{ => v4}/core/research/tissue_sample.py (100%) rename fairgraph/openminds/{ => v4}/core/research/tissue_sample_collection.py (100%) rename fairgraph/openminds/{ => v4}/core/research/tissue_sample_collection_state.py (100%) rename fairgraph/openminds/{ => v4}/core/research/tissue_sample_state.py (100%) rename fairgraph/openminds/{ => v4}/ephys/__init__.py (100%) rename fairgraph/openminds/{ => v4}/ephys/activity/__init__.py (100%) rename fairgraph/openminds/{ => v4}/ephys/activity/cell_patching.py (100%) rename fairgraph/openminds/{ => v4}/ephys/activity/electrode_placement.py (100%) rename fairgraph/openminds/{ => v4}/ephys/activity/recording_activity.py (100%) rename fairgraph/openminds/{ => v4}/ephys/device/__init__.py (100%) rename fairgraph/openminds/{ => v4}/ephys/device/electrode.py (100%) rename fairgraph/openminds/{ => v4}/ephys/device/electrode_array.py (100%) rename fairgraph/openminds/{ => v4}/ephys/device/electrode_array_usage.py (100%) rename fairgraph/openminds/{ => v4}/ephys/device/electrode_usage.py (100%) rename fairgraph/openminds/{ => v4}/ephys/device/pipette.py (100%) rename fairgraph/openminds/{ => v4}/ephys/device/pipette_usage.py (100%) rename fairgraph/openminds/{ => v4}/ephys/entity/__init__.py (100%) rename fairgraph/openminds/{ => v4}/ephys/entity/channel.py (100%) rename fairgraph/openminds/{ => v4}/ephys/entity/recording.py (100%) rename fairgraph/openminds/{ => v4}/publications/__init__.py (100%) rename fairgraph/openminds/{ => v4}/publications/book.py (100%) rename fairgraph/openminds/{ => v4}/publications/chapter.py (100%) rename fairgraph/openminds/{ => v4}/publications/learning_resource.py (100%) rename fairgraph/openminds/{ => v4}/publications/live_paper.py (100%) rename fairgraph/openminds/{ => v4}/publications/live_paper_resource_item.py (100%) rename fairgraph/openminds/{ => v4}/publications/live_paper_section.py (100%) rename fairgraph/openminds/{ => v4}/publications/live_paper_version.py (100%) rename fairgraph/openminds/{ => v4}/publications/periodical.py (100%) rename fairgraph/openminds/{ => v4}/publications/publication_issue.py (100%) rename fairgraph/openminds/{ => v4}/publications/publication_volume.py (100%) rename fairgraph/openminds/{ => v4}/publications/scholarly_article.py (100%) rename fairgraph/openminds/{ => v4}/sands/__init__.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/__init__.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/atlas_annotation.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/brain_atlas.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/brain_atlas_version.py (99%) rename fairgraph/openminds/{ => v4}/sands/atlas/common_coordinate_space.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/common_coordinate_space_version.py (99%) rename fairgraph/openminds/{ => v4}/sands/atlas/parcellation_entity.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/parcellation_entity_version.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/parcellation_terminology.py (100%) rename fairgraph/openminds/{ => v4}/sands/atlas/parcellation_terminology_version.py (100%) rename fairgraph/openminds/{ => v4}/sands/mathematical_shapes/__init__.py (100%) rename fairgraph/openminds/{ => v4}/sands/mathematical_shapes/circle.py (100%) rename fairgraph/openminds/{ => v4}/sands/mathematical_shapes/ellipse.py (82%) rename fairgraph/openminds/{ => v4}/sands/mathematical_shapes/rectangle.py (100%) rename fairgraph/openminds/{ => v4}/sands/miscellaneous/__init__.py (100%) rename fairgraph/openminds/{ => v4}/sands/miscellaneous/anatomical_target_position.py (100%) rename fairgraph/openminds/{ => v4}/sands/miscellaneous/coordinate_point.py (100%) rename fairgraph/openminds/{ => v4}/sands/miscellaneous/qualitative_relation_assessment.py (100%) rename fairgraph/openminds/{ => v4}/sands/miscellaneous/quantitative_relation_assessment.py (100%) rename fairgraph/openminds/{ => v4}/sands/miscellaneous/single_color.py (100%) rename fairgraph/openminds/{ => v4}/sands/miscellaneous/viewer_specification.py (100%) rename fairgraph/openminds/{ => v4}/sands/non_atlas/__init__.py (100%) rename fairgraph/openminds/{ => v4}/sands/non_atlas/custom_anatomical_entity.py (100%) rename fairgraph/openminds/{ => v4}/sands/non_atlas/custom_annotation.py (100%) rename fairgraph/openminds/{ => v4}/sands/non_atlas/custom_coordinate_space.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/__init__.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/activity/__init__.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/activity/cranial_window_preparation.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/activity/tissue_culture_preparation.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/activity/tissue_sample_slicing.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/device/__init__.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/device/slicing_device.py (100%) rename fairgraph/openminds/{ => v4}/specimen_prep/device/slicing_device_usage.py (100%) rename fairgraph/openminds/{ => v4}/stimulation/__init__.py (100%) rename fairgraph/openminds/{ => v4}/stimulation/activity/__init__.py (100%) rename fairgraph/openminds/{ => v4}/stimulation/activity/stimulation_activity.py (100%) rename fairgraph/openminds/{ => v4}/stimulation/stimulus/__init__.py (100%) rename fairgraph/openminds/{ => v4}/stimulation/stimulus/ephys_stimulus.py (100%) create mode 100644 fairgraph/openminds/v5/__init__.py create mode 100644 fairgraph/openminds/v5/chemicals/__init__.py create mode 100644 fairgraph/openminds/v5/chemicals/amount_of_chemical.py create mode 100644 fairgraph/openminds/v5/chemicals/chemical_mixture.py create mode 100644 fairgraph/openminds/v5/chemicals/chemical_substance.py create mode 100644 fairgraph/openminds/v5/chemicals/product_source.py create mode 100644 fairgraph/openminds/v5/computation/__init__.py create mode 100644 fairgraph/openminds/v5/computation/data_analysis.py create mode 100644 fairgraph/openminds/v5/computation/data_copy.py create mode 100644 fairgraph/openminds/v5/computation/deployed_interface.py create mode 100644 fairgraph/openminds/v5/computation/environment.py create mode 100644 fairgraph/openminds/v5/computation/generic_computation.py create mode 100644 fairgraph/openminds/v5/computation/hardware_system.py create mode 100644 fairgraph/openminds/v5/computation/launch_configuration.py create mode 100644 fairgraph/openminds/v5/computation/model_validation.py create mode 100644 fairgraph/openminds/v5/computation/optimization.py create mode 100644 fairgraph/openminds/v5/computation/service_deployment.py create mode 100644 fairgraph/openminds/v5/computation/simulation.py create mode 100644 fairgraph/openminds/v5/computation/software_agent.py create mode 100644 fairgraph/openminds/v5/computation/validation_test.py create mode 100644 fairgraph/openminds/v5/computation/validation_test_version.py create mode 100644 fairgraph/openminds/v5/computation/visualization.py create mode 100644 fairgraph/openminds/v5/computation/workflow_execution.py create mode 100644 fairgraph/openminds/v5/computation/workflow_recipe.py create mode 100644 fairgraph/openminds/v5/computation/workflow_recipe_version.py create mode 100644 fairgraph/openminds/v5/controlled_terms/__init__.py create mode 100644 fairgraph/openminds/v5/controlled_terms/access_channel.py create mode 100644 fairgraph/openminds/v5/controlled_terms/access_eligibility_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/access_form.py create mode 100644 fairgraph/openminds/v5/controlled_terms/access_process_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/action_status_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/age_category.py create mode 100644 fairgraph/openminds/v5/controlled_terms/age_reference.py create mode 100644 fairgraph/openminds/v5/controlled_terms/analysis_technique.py create mode 100644 fairgraph/openminds/v5/controlled_terms/anatomical_axes_orientation.py create mode 100644 fairgraph/openminds/v5/controlled_terms/anatomical_cavity.py create mode 100644 fairgraph/openminds/v5/controlled_terms/anatomical_identification_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/anatomical_plane.py create mode 100644 fairgraph/openminds/v5/controlled_terms/annotation_criteria_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/annotation_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/atlas_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/auditory_stimulus_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/biological_order.py create mode 100644 fairgraph/openminds/v5/controlled_terms/biological_process.py create mode 100644 fairgraph/openminds/v5/controlled_terms/biological_sex.py create mode 100644 fairgraph/openminds/v5/controlled_terms/breeding_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/cell_culture_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/cell_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/chemical_mixture_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/colormap.py create mode 100644 fairgraph/openminds/v5/controlled_terms/communication_interface_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/communication_protocol.py create mode 100644 fairgraph/openminds/v5/controlled_terms/contribution_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/cranial_window_construction_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/cranial_window_reinforcement_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/criteria_quality_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/data_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/dependency_impact.py create mode 100644 fairgraph/openminds/v5/controlled_terms/deployment_environment_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/device_mounting_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/device_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/difference_measure.py create mode 100644 fairgraph/openminds/v5/controlled_terms/disease.py create mode 100644 fairgraph/openminds/v5/controlled_terms/disease_model.py create mode 100644 fairgraph/openminds/v5/controlled_terms/educational_level.py create mode 100644 fairgraph/openminds/v5/controlled_terms/electrical_stimulus_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/experimental_approach.py create mode 100644 fairgraph/openminds/v5/controlled_terms/external_body_region.py create mode 100644 fairgraph/openminds/v5/controlled_terms/file_bundle_grouping.py create mode 100644 fairgraph/openminds/v5/controlled_terms/file_repository_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/file_usage_role.py create mode 100644 fairgraph/openminds/v5/controlled_terms/genetic_strain_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/gustatory_stimulus_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/handedness.py create mode 100644 fairgraph/openminds/v5/controlled_terms/language.py create mode 100644 fairgraph/openminds/v5/controlled_terms/laterality.py create mode 100644 fairgraph/openminds/v5/controlled_terms/learning_resource_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/measured_quantity.py create mode 100644 fairgraph/openminds/v5/controlled_terms/measured_signal_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/meta_data_model_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/model_abstraction_level.py create mode 100644 fairgraph/openminds/v5/controlled_terms/model_scope.py create mode 100644 fairgraph/openminds/v5/controlled_terms/modification_consent_requirement.py create mode 100644 fairgraph/openminds/v5/controlled_terms/modification_constraint.py create mode 100644 fairgraph/openminds/v5/controlled_terms/modification_form.py create mode 100644 fairgraph/openminds/v5/controlled_terms/modification_scope.py create mode 100644 fairgraph/openminds/v5/controlled_terms/molecular_entity.py create mode 100644 fairgraph/openminds/v5/controlled_terms/mri_fat_suppression_technique.py create mode 100644 fairgraph/openminds/v5/controlled_terms/mri_parallel_acquisition_technique.py create mode 100644 fairgraph/openminds/v5/controlled_terms/mri_pulse_sequence.py create mode 100644 fairgraph/openminds/v5/controlled_terms/mri_spoiling_technique.py create mode 100644 fairgraph/openminds/v5/controlled_terms/mri_weighting.py create mode 100644 fairgraph/openminds/v5/controlled_terms/muscular_structure.py create mode 100644 fairgraph/openminds/v5/controlled_terms/nervous_system_structure.py create mode 100644 fairgraph/openminds/v5/controlled_terms/olfactory_stimulus_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/operating_device.py create mode 100644 fairgraph/openminds/v5/controlled_terms/operating_system.py create mode 100644 fairgraph/openminds/v5/controlled_terms/operational_approach.py create mode 100644 fairgraph/openminds/v5/controlled_terms/optical_stimulus_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/organ.py create mode 100644 fairgraph/openminds/v5/controlled_terms/organ_system_structure.py create mode 100644 fairgraph/openminds/v5/controlled_terms/organism_substance.py create mode 100644 fairgraph/openminds/v5/controlled_terms/organism_system.py create mode 100644 fairgraph/openminds/v5/controlled_terms/organization_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/patch_clamp_variation.py create mode 100644 fairgraph/openminds/v5/controlled_terms/payment_model_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/preparation_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/programming_language.py create mode 100644 fairgraph/openminds/v5/controlled_terms/project_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/publication_status.py create mode 100644 fairgraph/openminds/v5/controlled_terms/pulse_shape.py create mode 100644 fairgraph/openminds/v5/controlled_terms/qualitative_overlap.py create mode 100644 fairgraph/openminds/v5/controlled_terms/semantic_data_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/setup_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/signal_directionality.py create mode 100644 fairgraph/openminds/v5/controlled_terms/skeletal_structure.py create mode 100644 fairgraph/openminds/v5/controlled_terms/software_application_category.py create mode 100644 fairgraph/openminds/v5/controlled_terms/software_feature.py create mode 100644 fairgraph/openminds/v5/controlled_terms/sovereign_state.py create mode 100644 fairgraph/openminds/v5/controlled_terms/spatial_encoding.py create mode 100644 fairgraph/openminds/v5/controlled_terms/species.py create mode 100644 fairgraph/openminds/v5/controlled_terms/stimulation_approach.py create mode 100644 fairgraph/openminds/v5/controlled_terms/stimulation_technique.py create mode 100644 fairgraph/openminds/v5/controlled_terms/subcellular_entity.py create mode 100644 fairgraph/openminds/v5/controlled_terms/subject_attribute.py create mode 100644 fairgraph/openminds/v5/controlled_terms/supranational_body.py create mode 100644 fairgraph/openminds/v5/controlled_terms/tactile_stimulus_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/technique.py create mode 100644 fairgraph/openminds/v5/controlled_terms/term_suggestion.py create mode 100644 fairgraph/openminds/v5/controlled_terms/terminology.py create mode 100644 fairgraph/openminds/v5/controlled_terms/tissue_sample_attribute.py create mode 100644 fairgraph/openminds/v5/controlled_terms/tissue_sample_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/tissue_structure.py create mode 100644 fairgraph/openminds/v5/controlled_terms/type_of_uncertainty.py create mode 100644 fairgraph/openminds/v5/controlled_terms/unit_of_measurement.py create mode 100644 fairgraph/openminds/v5/controlled_terms/vascular_structure.py create mode 100644 fairgraph/openminds/v5/controlled_terms/visual_stimulus_type.py create mode 100644 fairgraph/openminds/v5/controlled_terms/weight_type.py create mode 100644 fairgraph/openminds/v5/core/__init__.py create mode 100644 fairgraph/openminds/v5/core/actors/__init__.py create mode 100644 fairgraph/openminds/v5/core/actors/account_information.py create mode 100644 fairgraph/openminds/v5/core/actors/affiliation.py create mode 100644 fairgraph/openminds/v5/core/actors/consortium.py create mode 100644 fairgraph/openminds/v5/core/actors/contact_information.py create mode 100644 fairgraph/openminds/v5/core/actors/contribution.py create mode 100644 fairgraph/openminds/v5/core/actors/organization.py create mode 100644 fairgraph/openminds/v5/core/actors/person.py create mode 100644 fairgraph/openminds/v5/core/data/__init__.py create mode 100644 fairgraph/openminds/v5/core/data/content_type.py create mode 100644 fairgraph/openminds/v5/core/data/content_type_pattern.py create mode 100644 fairgraph/openminds/v5/core/data/copyright.py create mode 100644 fairgraph/openminds/v5/core/data/file.py create mode 100644 fairgraph/openminds/v5/core/data/file_archive.py create mode 100644 fairgraph/openminds/v5/core/data/file_bundle.py create mode 100644 fairgraph/openminds/v5/core/data/file_path_pattern.py create mode 100644 fairgraph/openminds/v5/core/data/file_repository.py create mode 100644 fairgraph/openminds/v5/core/data/file_repository_structure.py create mode 100644 fairgraph/openminds/v5/core/data/grid_image.py create mode 100644 fairgraph/openminds/v5/core/data/grid_image_stack.py create mode 100644 fairgraph/openminds/v5/core/data/grid_volume.py create mode 100644 fairgraph/openminds/v5/core/data/grid_volume_sequence.py create mode 100644 fairgraph/openminds/v5/core/data/hash.py create mode 100644 fairgraph/openminds/v5/core/data/license.py create mode 100644 fairgraph/openminds/v5/core/data/local_file.py create mode 100644 fairgraph/openminds/v5/core/data/measurement.py create mode 100644 fairgraph/openminds/v5/core/data/service_link.py create mode 100644 fairgraph/openminds/v5/core/data/usage_agreement.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/__init__.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/doi.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/generic_identifier.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/handle.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/identifiers_dot_org_id.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/isbn.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/isni.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/issn.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/lei.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/orcid.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/rorid.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/rrid.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/stock_number.py create mode 100644 fairgraph/openminds/v5/core/digital_identifier/swhid.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/__init__.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/accessibility.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/comment.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/dependency.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/funding.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/geo_coordinates.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/location.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/membership.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/quantitative_value.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/quantitative_value_array.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/quantitative_value_range.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/research_product_group.py create mode 100644 fairgraph/openminds/v5/core/miscellaneous/web_resource.py create mode 100644 fairgraph/openminds/v5/core/products/__init__.py create mode 100644 fairgraph/openminds/v5/core/products/dataset.py create mode 100644 fairgraph/openminds/v5/core/products/dataset_version.py create mode 100644 fairgraph/openminds/v5/core/products/hardware_product.py create mode 100644 fairgraph/openminds/v5/core/products/interface.py create mode 100644 fairgraph/openminds/v5/core/products/interface_version.py create mode 100644 fairgraph/openminds/v5/core/products/meta_data_model.py create mode 100644 fairgraph/openminds/v5/core/products/meta_data_model_version.py create mode 100644 fairgraph/openminds/v5/core/products/model.py create mode 100644 fairgraph/openminds/v5/core/products/model_version.py create mode 100644 fairgraph/openminds/v5/core/products/project.py create mode 100644 fairgraph/openminds/v5/core/products/service.py create mode 100644 fairgraph/openminds/v5/core/products/setup.py create mode 100644 fairgraph/openminds/v5/core/products/software.py create mode 100644 fairgraph/openminds/v5/core/products/software_version.py create mode 100644 fairgraph/openminds/v5/core/research/__init__.py create mode 100644 fairgraph/openminds/v5/core/research/behavioral_protocol.py create mode 100644 fairgraph/openminds/v5/core/research/configuration.py create mode 100644 fairgraph/openminds/v5/core/research/custom_property_set.py create mode 100644 fairgraph/openminds/v5/core/research/numerical_property.py create mode 100644 fairgraph/openminds/v5/core/research/property_value_list.py create mode 100644 fairgraph/openminds/v5/core/research/protocol.py create mode 100644 fairgraph/openminds/v5/core/research/protocol_execution.py create mode 100644 fairgraph/openminds/v5/core/research/specimen_age.py create mode 100644 fairgraph/openminds/v5/core/research/specimen_weight.py create mode 100644 fairgraph/openminds/v5/core/research/strain.py create mode 100644 fairgraph/openminds/v5/core/research/string_property.py create mode 100644 fairgraph/openminds/v5/core/research/subject.py create mode 100644 fairgraph/openminds/v5/core/research/subject_group.py create mode 100644 fairgraph/openminds/v5/core/research/subject_group_state.py create mode 100644 fairgraph/openminds/v5/core/research/subject_state.py create mode 100644 fairgraph/openminds/v5/core/research/tissue_sample.py create mode 100644 fairgraph/openminds/v5/core/research/tissue_sample_collection.py create mode 100644 fairgraph/openminds/v5/core/research/tissue_sample_collection_state.py create mode 100644 fairgraph/openminds/v5/core/research/tissue_sample_state.py create mode 100644 fairgraph/openminds/v5/ephys/__init__.py create mode 100644 fairgraph/openminds/v5/ephys/activity/__init__.py create mode 100644 fairgraph/openminds/v5/ephys/activity/cell_patching.py create mode 100644 fairgraph/openminds/v5/ephys/activity/electrode_placement.py create mode 100644 fairgraph/openminds/v5/ephys/activity/recording_activity.py create mode 100644 fairgraph/openminds/v5/ephys/device/__init__.py create mode 100644 fairgraph/openminds/v5/ephys/device/electrode.py create mode 100644 fairgraph/openminds/v5/ephys/device/electrode_array.py create mode 100644 fairgraph/openminds/v5/ephys/device/electrode_array_usage.py create mode 100644 fairgraph/openminds/v5/ephys/device/electrode_usage.py create mode 100644 fairgraph/openminds/v5/ephys/device/pipette.py create mode 100644 fairgraph/openminds/v5/ephys/device/pipette_usage.py create mode 100644 fairgraph/openminds/v5/neuroimaging/__init__.py create mode 100644 fairgraph/openminds/v5/neuroimaging/activity/__init__.py create mode 100644 fairgraph/openminds/v5/neuroimaging/activity/dynamic_mri_acquisition.py create mode 100644 fairgraph/openminds/v5/neuroimaging/activity/static_mri_acquisition.py create mode 100644 fairgraph/openminds/v5/neuroimaging/device/__init__.py create mode 100644 fairgraph/openminds/v5/neuroimaging/device/mri_coil.py create mode 100644 fairgraph/openminds/v5/neuroimaging/device/mri_coil_usage.py create mode 100644 fairgraph/openminds/v5/neuroimaging/device/mri_scanner.py create mode 100644 fairgraph/openminds/v5/neuroimaging/device/mri_scanner_usage.py create mode 100644 fairgraph/openminds/v5/publications/__init__.py create mode 100644 fairgraph/openminds/v5/publications/book.py create mode 100644 fairgraph/openminds/v5/publications/chapter.py create mode 100644 fairgraph/openminds/v5/publications/learning_resource.py create mode 100644 fairgraph/openminds/v5/publications/live_paper.py create mode 100644 fairgraph/openminds/v5/publications/live_paper_resource_item.py create mode 100644 fairgraph/openminds/v5/publications/live_paper_section.py create mode 100644 fairgraph/openminds/v5/publications/live_paper_version.py create mode 100644 fairgraph/openminds/v5/publications/periodical.py create mode 100644 fairgraph/openminds/v5/publications/publication_issue.py create mode 100644 fairgraph/openminds/v5/publications/publication_volume.py create mode 100644 fairgraph/openminds/v5/publications/scholarly_article.py create mode 100644 fairgraph/openminds/v5/sands/__init__.py create mode 100644 fairgraph/openminds/v5/sands/atlas/__init__.py create mode 100644 fairgraph/openminds/v5/sands/atlas/anatomical_atlas.py create mode 100644 fairgraph/openminds/v5/sands/atlas/anatomical_atlas_version.py create mode 100644 fairgraph/openminds/v5/sands/atlas/atlas_annotation.py create mode 100644 fairgraph/openminds/v5/sands/atlas/common_coordinate_framework.py create mode 100644 fairgraph/openminds/v5/sands/atlas/common_coordinate_framework_version.py create mode 100644 fairgraph/openminds/v5/sands/atlas/parcellation_entity.py create mode 100644 fairgraph/openminds/v5/sands/atlas/parcellation_entity_version.py create mode 100644 fairgraph/openminds/v5/sands/atlas/parcellation_terminology.py create mode 100644 fairgraph/openminds/v5/sands/atlas/parcellation_terminology_version.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/__init__.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/centroidal_pyramid.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/circle.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/circular_sector.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/cube.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/ellipse.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/ellipsoid.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/equilateral_triangle.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/frustum.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/isosceles_triangle.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/kite.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/parallelogram.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/rectangle.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/regular_polygon.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/rhombus.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/right_cone.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/right_cylinder.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/right_prism.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/right_triangle.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/sphere.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/spheroid.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/square.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/trapezoid.py create mode 100644 fairgraph/openminds/v5/sands/mathematical_shape/triangle.py create mode 100644 fairgraph/openminds/v5/sands/miscellaneous/__init__.py create mode 100644 fairgraph/openminds/v5/sands/miscellaneous/anatomical_target_position.py create mode 100644 fairgraph/openminds/v5/sands/miscellaneous/coordinate_point.py create mode 100644 fairgraph/openminds/v5/sands/miscellaneous/qualitative_relation_assessment.py create mode 100644 fairgraph/openminds/v5/sands/miscellaneous/quantitative_relation_assessment.py create mode 100644 fairgraph/openminds/v5/sands/miscellaneous/single_color.py create mode 100644 fairgraph/openminds/v5/sands/miscellaneous/viewer_specification.py create mode 100644 fairgraph/openminds/v5/sands/non_atlas/__init__.py create mode 100644 fairgraph/openminds/v5/sands/non_atlas/custom_anatomical_entity.py create mode 100644 fairgraph/openminds/v5/sands/non_atlas/custom_annotation.py create mode 100644 fairgraph/openminds/v5/sands/non_atlas/custom_coordinate_framework.py create mode 100644 fairgraph/openminds/v5/specimen_prep/__init__.py create mode 100644 fairgraph/openminds/v5/specimen_prep/activity/__init__.py create mode 100644 fairgraph/openminds/v5/specimen_prep/activity/cranial_window_preparation.py create mode 100644 fairgraph/openminds/v5/specimen_prep/activity/tissue_culture_preparation.py create mode 100644 fairgraph/openminds/v5/specimen_prep/activity/tissue_sample_slicing.py create mode 100644 fairgraph/openminds/v5/specimen_prep/device/__init__.py create mode 100644 fairgraph/openminds/v5/specimen_prep/device/slicing_device.py create mode 100644 fairgraph/openminds/v5/specimen_prep/device/slicing_device_usage.py create mode 100644 fairgraph/openminds/v5/stimulation/__init__.py create mode 100644 fairgraph/openminds/v5/stimulation/activity/__init__.py create mode 100644 fairgraph/openminds/v5/stimulation/activity/stimulation_activity.py create mode 100644 fairgraph/openminds/v5/stimulation/stimulus/__init__.py create mode 100644 fairgraph/openminds/v5/stimulation/stimulus/ephys_stimulus.py create mode 100644 test/test_openminds_versions.py diff --git a/builder/update_openminds.py b/builder/update_openminds.py index 31b27af3..38bade91 100644 --- a/builder/update_openminds.py +++ b/builder/update_openminds.py @@ -11,9 +11,6 @@ from jinja2 import Environment, select_autoescape, FileSystemLoader -OPENMINDS_VERSION = "v4" - - global_aliases = { "short_name": "alias", "full_name": "name", @@ -21,7 +18,7 @@ "has_entity": "entities", "hashes": "hash", "scope": "model_scope", - "environment_variable": "environment_variables" + "environment_variable": "environment_variables", } @@ -43,15 +40,19 @@ "anatomicalTarget": "isTargetOf", "applicationCategory": "appliesTo", "associatedAccount": "belongsTo", + "associatedProtocol": "usedIn", "attribute": "isAttributeOf", "author": "authored", + "authoringParty": "authored", "backgroundStrain": "isBackgroundStrainOf", "behavioralProtocol": "usedIn", "biologicalSex": "isBiologicalSexOf", "breedingType": "isBreedingTypeOf", + "channel": "isChannelOf", "chemicalProduct": "usedInAmount", "citedPublication": "citedIn", "commenter": "comments", + "communicationProtocol": "usedIn", "components": "isComponentOf", # or "is_part_of" (TODO "components" redundant with "hasComponent"?) "conductorMaterial": "isConductorOf", "configuration": "isConfigurationOf", @@ -59,10 +60,14 @@ "contactInformation": "isContactInformationOf", "contentType": "isDefinedBy", "contentTypePattern": "identifiesContentOf", + "contribution": "contributedTo", "contributor": "contribution", + "coordinateFramework": "isCoordinateFrameworkOf", "coordinateSpace": "isCoordinateSpaceOf", "coordinator": "coordinatedProjects", "copyOf": "hasCopies", + "country": "isCountryOf", + "countryOfFormation": "formedIn", "criteria": "basedOnProtocolExecution", "criteriaQualityType": "usedByAnnotation", # or "isCriteriaQualityTypeOf" "criteriaType": "usedByAnnotation", @@ -74,6 +79,8 @@ "defaultImage": "isDefaultImageFor", "definedIn": "defines", # or "containsDefinitionOf", "deliveredBy": "stimulationDevice", + "dependsOn": "isDependencyOf", + "deploymentType": "isDeploymentTypeOf", "descendedFrom": "hasChildren", # equivalent to "hasParent" ? "describedIn": "describes", "developer": "developed", @@ -88,24 +95,40 @@ "SlicingDeviceUsage": "usage", "PipetteUsage": "usage", "ElectrodeUsage": "usage", + "StaticMRIAcquisition": "usedIn", + "DynamicMRIAcquisition": "usedIn", + "MRICoilUsage": "usage", }, "deviceType": "isTypeOf", # TODO: replace with "type"? + "diffusionEncodingParameters": "usedIn", "digitalIdentifier": "identifies", "diseaseModel": "isModeledBy", + "distortionCorrection": "usedIn", + "documentation": "documents", "editor": "edited", "educationalLevel": "appliesTo", + "eligibility": "isEligibilityOf", + "emitter": "emitted", + "entryPoint": "isEntryPointOf", "environment": "usedFor", # or "isEnvironmentOf" "environmentVariable": "definesEnvironmentOf", "ethicsAssessment": "appliesTo", + "ethicsJurisdiction": "appliesTo", "experimentalApproach": "usedIn", + "failureImpact": "isImpactOf", + "fatSuppressionTechnique": "usedIn", "feature": "characterizes", + "fieldOfView": "usedIn", "fileRepository": "files", + "form": "isFormOf", "format": "isFormatOf", + "fulfilledBy": "fulfils", "fullDocumentation": "fullyDocuments", "funder": "funded", "funding": "funded", "generatedBy": "generationDevice", "geneticStrainType": "isGeneticStrainTypeOf", # or "strain" + "gradientCorrection": "usedIn", "groupedBy": "isUsedToGroup", "groupingType": { "FileBundle": "isUsedToGroup", @@ -120,15 +143,24 @@ "hasVersion": "isVersionOf", "holder": "holdsCopyright", # or "intellectualProperty", "hostedBy": "hosts", + "implements": "isImplementedBy", "inRelationTo": "assessment", # equivalent to "about" ? "input": "isInputTo", "inputData": "isInputTo", # could use just "input" ? "inputFormat": "isInputFormatOf", "inspiredBy": "inspired", "insulatorMaterial": "composes", + "intendedMountingLocation": "isIntendedLocationOf", + "interface": "isInterfaceOf", + "interfaceType": "isTypeOf", "isAlternativeVersionOf": "isAlternativeVersionOf", # ??!! + "isBasedOn": "hasDerived", "isNewVersionOf": "isOldVersionOf", "isPartOf": "hasParts", # hasComponent ? + "isPrecededBy": "precedes", + "isVariantOf": "hasVariants", + "isVersionOf": "hasVersions", + "jurisdiction": "appliesTo", "keyword": "describes", "labelingCompound": "labels", "language": "usedIn", @@ -139,36 +171,55 @@ "material": "composes", "measuredQuantity": "measurement", "measuredWith": "usedToMeasure", + "member": "isMemberOf", "memberOf": "hasMembers", "metadataLocation": "describes", "minValueUnit": "range", "maxValueUnit": "range", + "modificationProfile": "isProfileOf", "molecularEntity": "composes", + "motionCorrection": "usedIn", + "mountingLocation": "isMountingLocationOf", + "mountingType": "isMountingTypeOf", + "MRIWeighting": "usedIn", + "MTPulseShape": "usedIn", "nativeUnit": "usedBy", + "obtainedWith": "isUsedToObtain", + "operatingDevice": "usedBy", "operatingSystem": "usedBy", + "organization": "affiliations", "origin": "sample", "output": "isOutputOf", # or "generatedBy" "outputData": "isOutputOf", # replace with "output"? "outputFormat": "isOutputFormatOf", "owner": "isOwnerOf", # or "devices" + "parallelAcquisitionTechnique": "usedIn", "pathology": "specimenState", + "paymentModel": "isPaymentModelOf", "performedBy": "activities", + "person": "affiliations", "pipetteSolution": "usedIn", "preferredDisplayColor": "preferredBy", "preparationDesign": "usedFor", + "preparationType": "usedIn", "previewImage": "isPreviewOf", "previousRecording": "nextRecording", + "process": "isProcessOf", "productSource": "isSourceOf", "programmingLanguage": "usedIn", "protocol": "usedIn", "provider": "isProviderOf", # or "provided", + "publicationStatus": "isStatusOf", "publisher": "published", "qualitativeOverlap": "assessment", "recipe": "defined", # or "defines" "recordedWith": "usedToRecord", + "reference": "isReferenceOf", "referenceData": "isReferenceFor", "referenceDataAcquisition": "isReferenceFor", + "registrationData": "usedIn", "reinforcementType": "usedFor", + "relatedInterspeciesAnatomy": "interspeciesRelation", "relatedPublication": "relatedTo", "relatedUBERONTerm": "defines", "relevantFor": "hasProperties", @@ -179,16 +230,23 @@ "service": { "ServiceLink": "linkedFrom", "AccountInformation": "hasAccounts", + "ServiceDeployment": "deployments", }, "setup": "usedIn", + "signalDirectionality": "usedIn", + "sliceOrientation": "usedIn", "slicingDevice": "usedIn", # TODO: slicingDevice --> device? "slicingPlane": "usedIn", "software": "usedIn", + "source": "isSourceOf", "sourceData": "isSourceDataOf", + "spatialEncoding": "usedIn", "specialUsageRole": "file", "species": "isSpeciesOf", "specification": "specifies", "specificationFormat": "isSpecificationFormatOf", + "specimenOrientation": "usedIn", + "spoilingTechnique": "usedIn", "stage": "isPartOf", "startedBy": "started", "status": "isStatusOf", @@ -199,8 +257,10 @@ "studiedSpecimen": "hasStudyResultsIn", # "isPartOfStudy" "studiedState": "isStateOf", "studyTarget": "studiedIn", + "targetAnatomy": "isTargetOf", "targetIdentificationType": "isTypeOf", "technique": "usedIn", + "template": "isTemplateOf", "tissueBathSolution": "usedIn", "type": "isTypeOf", "typeOfUncertainty": "value", @@ -209,8 +269,12 @@ "QuantitativeValue": "value", "QuantitativeValueArray": "value", }, + "usageCondition": "appliesTo", + "usedCoils": "usedIn", "usedSpecies": "commonCoordinateSpace", "usedSpecimen": "usedIn", + "usedTaxon": "usedIn", + "uses": "isUsedBy", "variation": "usedIn", "vendor": "stocks", "wasInformedBy": "informed", @@ -267,133 +331,283 @@ def invert_dict(D): DEFAULT_SPACES = { - "chemicals": {"default": "in-depth"}, - "core": invert_dict( - { - "common": [ - "Affiliation", - "Comment", - "Configuration", - "Consortium", - "Funding", - "GRIDID", - "HANDLE", - "HardwareSystem", - "IdentifiersDotOrgID", - "ORCID", - "Organization", - "Person", - "Project", - "Query", - "RORID", - "TermSuggestion", - "WebResource", - "RRID", - "AccountInformation", # or does this go in "restricted"? - ], - "files": [ - "ContentTypePattern", - "File", - "FileBundle", - "FilePathPattern", - "FileRepositoryStructure", - "Hash", - ], - "dataset": [ - "Contribution", - "Copyright", - "DOI", - "Dataset", - "DatasetVersion", - "FileArchive", - "FileRepository", - "ISBN", - "ISSN", - "NumericalParameter", - "ParameterSet", - "PropertyValueList", - "Protocol", - "ExperimentalActivity", - "ProtocolExecution", - "QuantitativeValue", - "QuantitativeValueRange", - "QuantitativeValueArray", - "ResearchProductGroup", - "ServiceLink", - "StringParameter", - "Subject", - "SubjectGroup", - "SubjectGroupState", - "SubjectState", - "TissueSample", - "TissueSampleCollection", - "TissueSampleCollectionState", - "TissueSampleState", - "BehavioralProtocol", - "Stimulation", - "Strain", - "Setup", - ], - "model": ["Model", "ModelVersion"], - "software": ["SWHID", "Software", "SoftwareVersion"], - "restricted": ["ContactInformation"], - "metadatamodel": ["MetaDataModel", "MetaDataModelVersion"], - "controlled": ["License", "ContentType"], - "webservice": ["WebService", "WebServiceVersion"], - } - ), - "computation": {"default": "computation"}, - "controlled_terms": {"default": "controlled"}, - "sands": invert_dict( - { - "spatial": [ - "AnatomicalEntity", - "Annotation", - "CoordinatePoint", - "CustomAnatomicalEntity", - "CustomAnnotation", - "CustomCoordinateSpace", - "Image", - "QualitativeRelationAssessment", - "QuantitativeRelationAssessment", - ], - "atlas": [ - "AnatomicalTargetPosition", - "AtlasAnnotation", - "BrainAtlas", - "BrainAtlasVersion", - "Circle", - "ColorMap", - "CommonCoordinateSpace", - "CommonCoordinateSpaceVersion", - "CoordinatePoint", - "Ellipse", - "ParcellationEntity", - "ParcellationTerminology", - "ParcellationTerminologyVersion", - "ParcellationEntityVersion", - "Rectangle", - "SingleColor", - ], - } - ), - "publications": {"default": "livepapers"}, - "ephys": {"default": "in-depth"}, - "specimen_prep": {"default": "in-depth"}, - "stimulation": {"default": "in-depth"}, + "v4": { + "chemicals": {"default": "in-depth"}, + "core": invert_dict( + { + "common": [ + "Affiliation", + "Comment", + "Configuration", + "Consortium", + "Funding", + "GRIDID", + "HANDLE", + "HardwareSystem", + "IdentifiersDotOrgID", + "ORCID", + "Organization", + "Person", + "Project", + "Query", + "RORID", + "TermSuggestion", + "WebResource", + "RRID", + "AccountInformation", # or does this go in "restricted"? + ], + "files": [ + "ContentTypePattern", + "File", + "FileBundle", + "FilePathPattern", + "FileRepositoryStructure", + "Hash", + ], + "dataset": [ + "Contribution", + "Copyright", + "DOI", + "Dataset", + "DatasetVersion", + "FileArchive", + "FileRepository", + "ISBN", + "ISSN", + "NumericalParameter", + "ParameterSet", + "PropertyValueList", + "Protocol", + "ExperimentalActivity", + "ProtocolExecution", + "QuantitativeValue", + "QuantitativeValueRange", + "QuantitativeValueArray", + "ResearchProductGroup", + "ServiceLink", + "StringParameter", + "Subject", + "SubjectGroup", + "SubjectGroupState", + "SubjectState", + "TissueSample", + "TissueSampleCollection", + "TissueSampleCollectionState", + "TissueSampleState", + "BehavioralProtocol", + "Stimulation", + "Strain", + "Setup", + ], + "model": ["Model", "ModelVersion"], + "software": ["SWHID", "Software", "SoftwareVersion"], + "restricted": ["ContactInformation"], + "metadatamodel": ["MetaDataModel", "MetaDataModelVersion"], + "controlled": ["License", "ContentType"], + "webservice": ["WebService", "WebServiceVersion"], + } + ), + "computation": {"default": "computation"}, + "controlled_terms": {"default": "controlled"}, + "sands": invert_dict( + { + "spatial": [ + "AnatomicalEntity", + "Annotation", + "CoordinatePoint", + "CustomAnatomicalEntity", + "CustomAnnotation", + "CustomCoordinateSpace", + "Image", + "QualitativeRelationAssessment", + "QuantitativeRelationAssessment", + ], + "atlas": [ + "AnatomicalTargetPosition", + "AtlasAnnotation", + "BrainAtlas", + "BrainAtlasVersion", + "Circle", + "ColorMap", + "CommonCoordinateSpace", + "CommonCoordinateSpaceVersion", + "CoordinatePoint", + "Ellipse", + "ParcellationEntity", + "ParcellationTerminology", + "ParcellationTerminologyVersion", + "ParcellationEntityVersion", + "Rectangle", + "SingleColor", + ], + } + ), + "publications": {"default": "livepapers"}, + "ephys": {"default": "in-depth"}, + "specimen_prep": {"default": "in-depth"}, + "stimulation": {"default": "in-depth"}, + }, + "v5": { + "chemicals": {"default": "in-depth"}, + "core": invert_dict( + { + "common": [ + "Affiliation", + "Comment", + "Configuration", + "Consortium", + "Funding", + "HANDLE", + "HardwareProduct", + "IdentifiersDotOrgID", + "ISNI", + "LEI", + "ORCID", + "Organization", + "Person", + "Project", + "RORID", + "WebResource", + "RRID", + "AccountInformation", + "GenericIdentifier", + "Membership", + "GeoCoordinates", + "Location", + ], + "files": [ + "ContentTypePattern", + "File", + "FileBundle", + "FilePathPattern", + "FileRepositoryStructure", + "Hash", + "LocalFile", + ], + "dataset": [ + "Contribution", + "Copyright", + "DOI", + "Dataset", + "DatasetVersion", + "FileArchive", + "FileRepository", + "ISBN", + "ISSN", + "NumericalProperty", + "PropertyValueList", + "Protocol", + "ProtocolExecution", + "QuantitativeValue", + "QuantitativeValueRange", + "QuantitativeValueArray", + "ResearchProductGroup", + "ServiceLink", + "StringProperty", + "Subject", + "SubjectGroup", + "SubjectGroupState", + "SubjectState", + "TissueSample", + "TissueSampleCollection", + "TissueSampleCollectionState", + "TissueSampleState", + "BehavioralProtocol", + "Strain", + "Setup", + "CustomPropertySet", + "Measurement", + "StockNumber", + "SpecimenAge", + "SpecimenWeight", + "Accessibility", + "Dependency", + "UsageAgreement", + "GridImage", + "GridImageStack", + "GridVolume", + "GridVolumeSequence", + ], + "model": ["Model", "ModelVersion"], + "software": ["SWHID", "Software", "SoftwareVersion", "Service"], + "restricted": ["ContactInformation"], + "metadatamodel": ["MetaDataModel", "MetaDataModelVersion"], + "controlled": ["License", "ContentType"], + "interface": ["Interface", "InterfaceVersion", "DeployedInterface"], + } + ), + "computation": {"default": "computation"}, + "controlled_terms": {"default": "controlled"}, + "sands": invert_dict( + { + "spatial": [ + "CoordinatePoint", + "CustomAnatomicalEntity", + "CustomAnnotation", + "CustomCoordinateFramework", + "QualitativeRelationAssessment", + "QuantitativeRelationAssessment", + "ViewerSpecification", + ], + "atlas": [ + "AnatomicalAtlas", + "AnatomicalAtlasVersion", + "AnatomicalTargetPosition", + "AtlasAnnotation", + "CentroidalPyramid", + "Circle", + "CircularSector", + "CommonCoordinateFramework", + "CommonCoordinateFrameworkVersion", + "CoordinatePoint", + "Cube", + "Ellipse", + "Ellipsoid", + "EquilateralTriangle", + "Frustum", + "IsoscelesTriangle", + "Kite", + "ParcellationEntity", + "ParcellationEntityVersion", + "ParcellationTerminology", + "ParcellationTerminologyVersion", + "Parallelogram", + "Rectangle", + "RegularPolygon", + "Rhombus", + "RightCone", + "RightCylinder", + "RightPrism", + "RightTriangle", + "SingleColor", + "Sphere", + "Spheroid", + "Square", + "Trapezoid", + "Triangle", + ], + } + ), + "publications": {"default": "livepapers"}, + "ephys": {"default": "in-depth"}, + "specimen_prep": {"default": "in-depth"}, + "stimulation": {"default": "in-depth"}, + "neuroimaging": {"default": "in-depth"}, + }, } -def get_default_space(schema_group, cls_name): - if schema_group not in DEFAULT_SPACES: - raise Exception(f"Please update DEFAULT_SPACES for the {schema_group} module") - if cls_name in DEFAULT_SPACES[schema_group]: - return DEFAULT_SPACES[schema_group][cls_name] +def get_default_space(schema_group, cls_name, version="v4"): + spaces = DEFAULT_SPACES[version] + if schema_group not in spaces: + raise Exception(f"Please update DEFAULT_SPACES['{version}'] for the {schema_group} module") + if cls_name in spaces[schema_group]: + return spaces[schema_group][cls_name] else: try: - return DEFAULT_SPACES[schema_group]["default"] + return spaces[schema_group]["default"] except KeyError: - raise KeyError(f"An entry for '{cls_name}' is missing from DEFAULT_SPACES['{schema_group}']") + raise KeyError(f"An entry for '{cls_name}' is missing from DEFAULT_SPACES['{version}']['{schema_group}']") # in general, we use the required properties when deciding whether a given object already exists @@ -446,6 +660,19 @@ def get_default_space(schema_group, cls_name): "AmountOfChemical": ("chemical_product", "amount"), "QuantitativeValue": ("value", "unit", "uncertainties"), "Hash": ("algorithm", "digest"), + # v5 additions + "AnatomicalAtlas": ("digital_identifier",), + "AnatomicalAtlasVersion": ("short_name", "version_identifier"), + "CommonCoordinateFramework": ("short_name", "version_identifier"), + "CommonCoordinateFrameworkVersion": ("short_name", "version_identifier"), + "CustomCoordinateFramework": ("name",), + "GenericIdentifier": ("identifier",), + "ISNI": ("identifier",), + "LEI": ("identifier",), + "Interface": ("short_name",), + "InterfaceVersion": ("short_name", "version_identifier"), + "LocalFile": ("name", "hashes"), + "Service": ("short_name",), } @@ -476,78 +703,20 @@ def property_name_sort_key(property_name): return priorities.get(property_name, property_name) -def generate_class_name(iri, module_map=None): +def generate_class_name(iri, module_map=None, openminds_version="v4"): assert isinstance(iri, str) class_name = iri.split("/")[-1] module_name = generate_python_name(module_map[iri]) - return f"openminds.{OPENMINDS_VERSION}.{module_name}.{class_name}" + return f"openminds.{openminds_version}.{module_name}.{class_name}" def get_controlled_terms_table(type_): - # todo: reimplement this using instances repo from Github rather than accessing KG - # from kg_core.kg import kg - # from kg_core.request import Stage, Pagination - - # host = "core.kg.ebrains.eu" - # limit = 20 - # try: - # token = os.environ["KG_AUTH_TOKEN"] - # except KeyError: - # warnings.warn( - # "Cannot get controlled terms." - # "Please obtain an EBRAINS auth token and put it in an environment variable 'KG_AUTH_TOKEN'" - # ) - # return "" - # kg_client = kg(host).with_token(token).build() - # response = kg_client.instances.list( - # stage=Stage.RELEASED, - # target_type=type_, - # space="controlled", - # pagination=Pagination(start=0, size=limit), - # ) - # if response.error: - # warnings.warn(f"Error trying to retrieve values for {type_}: {response.error}") - # return "" - # else: - # if response.total == 0: - # return "" - # lines = [] - # if response.total > response.size: - # assert response.size == limit - # lines.extend( - # [ - # "", - # f" Here we show the first {limit} possible values, an additional {response.total - limit} values are not shown.", - # ] - # ) - # lines.extend( - # [ - # "", - # " .. list-table:: **Possible values**", - # " :widths: 20 80", - # " :header-rows: 0", - # "", - # ] - # ) - # for item in response.data: - # vocab = "https://openminds.ebrains.eu/vocab" - # name = item[f"{vocab}/name"] - # definition = item.get(f"{vocab}/definition", None) - # link = item.get(f"{vocab}/preferredOntologyIdentifier", None) - # if definition is None: - # definition = link or " " - # if link: - # name = f"`{name} <{link}>`_" - # lines.append(f" * - {name}") - # lines.append(f" - {definition}") - # lines.append("") - # return "\n".join(lines) return "" preamble_for_download = """from urllib.request import urlretrieve from pathlib import Path -from ....utility import accepted_terms_of_use""" +from fairgraph.utility import accepted_terms_of_use""" preamble = { "File": """import os @@ -566,6 +735,8 @@ def get_controlled_terms_table(type_): "ModelVersion": preamble_for_download, "BrainAtlasVersion": preamble_for_download, "CommonCoordinateSpaceVersion": preamble_for_download, + "CommonCoordinateFrameworkVersion": preamble_for_download, + "AnatomicalAtlasVersion": preamble_for_download, "ScholarlyArticle": """from fairgraph.utility import as_list from .publication_issue import PublicationIssue from .periodical import Periodical""", @@ -575,7 +746,7 @@ def get_controlled_terms_table(type_): class FairgraphClassBuilder: """docstring""" - def __init__(self, schema_file_path: str, root_path: str, target_path_root: str): + def __init__(self, schema_file_path: str, root_path: str, target_path_root: str, openminds_version: str = "v4"): self.template_name = "fairgraph_module_template.py.txt" self.env = Environment( loader=FileSystemLoader(os.path.dirname(os.path.realpath(__file__))), autoescape=select_autoescape() @@ -589,11 +760,14 @@ def __init__(self, schema_file_path: str, root_path: str, target_path_root: str) with open(schema_file_path, "r") as schema_f: self._schema_payload = json.load(schema_f) self.target_path_root = target_path_root + self.openminds_version = openminds_version def _target_file_without_extension(self) -> str: return os.path.join(*self.relative_path_without_extension) def translate(self, embedded=None, linked=None, module_map=None): + openminds_version = self.openminds_version + def get_type(prop): type_map = { "string": "str", @@ -650,7 +824,7 @@ def get_type(prop): standard_init_properties = "" else: base_class = "KGObject" - default_space = get_default_space(module_name, class_name) + default_space = get_default_space(module_name, class_name, version=openminds_version) standard_init_properties = "id=id, space=space, release_status=release_status, " properties = [] plurals_special_cases = { @@ -697,7 +871,10 @@ def get_type(prop): linked_from = linked[self._schema_payload["_type"]] for reverse_link_name in linked_from: unique_forward_iris = set(linked_from[reverse_link_name][0]) - types_str = [generate_class_name(iri, module_map) for iri in linked_from[reverse_link_name][2]] + types_str = [ + generate_class_name(iri, module_map, openminds_version=openminds_version) + for iri in linked_from[reverse_link_name][2] + ] if len(unique_forward_iris) == 1: (forward_iri,) = unique_forward_iris forward_link_names = set(linked_from[reverse_link_name][1]) @@ -754,7 +931,7 @@ def get_type(prop): with open(f"additional_methods/{class_name}.py.txt") as fp: additional_methods = fp.read() self.context = { - "openminds_version": OPENMINDS_VERSION, + "openminds_version": openminds_version, "docstring": self._schema_payload.get("description", ""), "base_class": base_class, "preamble": preamble.get(class_name, ""), # default value, may be updated below @@ -834,10 +1011,11 @@ def get_module_map(self): return self._schema_payload["_type"], self._schema_payload["_module"] -def main(openminds_root, ignore=[]): - target_path = os.path.join("..", "fairgraph", "openminds") - if os.path.exists(target_path): - shutil.rmtree(target_path) +def generate_version(openminds_root, openminds_version, target_path): + """Generate fairgraph classes for a single openMINDS version.""" + version_target_path = os.path.join(target_path, openminds_version) + if os.path.exists(version_target_path): + shutil.rmtree(version_target_path) openminds_root = os.path.realpath(openminds_root) schema_file_paths = glob(os.path.join(openminds_root, f"**/*.schema.omi.json"), recursive=True) @@ -846,14 +1024,18 @@ def main(openminds_root, ignore=[]): # Zeroth pass - map schemas to modules module_map = {} for schema_file_path in schema_file_paths: - type_, module_name = FairgraphClassBuilder(schema_file_path, openminds_root, target_path).get_module_map() + type_, module_name = FairgraphClassBuilder( + schema_file_path, openminds_root, version_target_path, openminds_version + ).get_module_map() module_map[type_] = module_name # First pass - figure out which schemas are embedded and which are linked embedded = set() linked = defaultdict(dict) for schema_file_path in schema_file_paths: - embedded_in, linked_from = FairgraphClassBuilder(schema_file_path, openminds_root, target_path).get_edges() + embedded_in, linked_from = FairgraphClassBuilder( + schema_file_path, openminds_root, version_target_path, openminds_version + ).get_edges() embedded.update(embedded_in) for openminds_type, (link_type, property_name, forward_name, reverse_name) in linked_from.items(): if link_type not in embedded: @@ -875,24 +1057,21 @@ def main(openminds_root, ignore=[]): # Second pass - create a Python module for each openMINDS schema for schema_file_path in schema_file_paths: - module_path, class_name = FairgraphClassBuilder(schema_file_path, openminds_root, target_path).build( - embedded=embedded, linked=linked, module_map=module_map - ) + module_path, class_name = FairgraphClassBuilder( + schema_file_path, openminds_root, version_target_path, openminds_version + ).build(embedded=embedded, linked=linked, module_map=module_map) parts = module_path.split(".") parent_path = ".".join(parts[:-1]) python_modules[parent_path].append((parts[-1], class_name)) # Now create additional files, e.g. __init__.py - env = Environment( - loader=FileSystemLoader(os.path.dirname(os.path.realpath(__file__))), autoescape=select_autoescape() - ) openminds_modules = set() for path, classes in python_modules.items(): dir_path = path.split(".") openminds_modules.add(dir_path[0]) # first write __init__ for submodule (or top-level module if no submodules) - init_file_path = os.path.join(target_path, *(dir_path + ["__init__.py"])) + init_file_path = os.path.join(version_target_path, *(dir_path + ["__init__.py"])) with open(init_file_path, "w") as fp: for class_module, class_name in sorted(classes, key=lambda entry: entry[0]): fp.write(f"from .{class_module} import {class_name}\n") @@ -901,7 +1080,7 @@ def main(openminds_root, ignore=[]): child_dir = dir_path[-1] dir_path = dir_path[:-1] if len(dir_path) == 1: - init_file_path = os.path.join(target_path, *(dir_path + ["__init__.py"])) + init_file_path = os.path.join(version_target_path, *(dir_path + ["__init__.py"])) with open(init_file_path, "a") as fp: class_names = ", ".join(class_name for _, class_name in classes) fp.write(f"from .{child_dir} import ({class_names})\n") @@ -909,7 +1088,7 @@ def main(openminds_root, ignore=[]): for om_module in openminds_modules: with open("init_template.py.txt") as fp: om_module_functions = fp.read() - init_file_path = os.path.join("..", "fairgraph", "openminds", om_module, "__init__.py") + init_file_path = os.path.join(version_target_path, om_module, "__init__.py") with open(init_file_path, "r") as fp: content = fp.read() with open(init_file_path, "w") as fp: @@ -925,7 +1104,37 @@ def main(openminds_root, ignore=[]): fp.write(content) fp.write(om_module_functions) - with open("../fairgraph/openminds/controlledterms.py", "w") as fp: + # Write version-level __init__.py + version_init_path = os.path.join(version_target_path, "__init__.py") + with open(version_init_path, "w") as fp: + fp.write(f"from . import ({', '.join(sorted(openminds_modules))})\n") + + return openminds_modules + + +def main(openminds_root, version="v4", ignore=[]): + target_path = os.path.join("..", "fairgraph", "openminds") + os.makedirs(target_path, exist_ok=True) + + openminds_modules = generate_version(openminds_root, version, target_path) + + # Format with Black + version_target_path = os.path.join(target_path, version) + subprocess.call([sys.executable, "-m", "black", "--quiet", version_target_path]) + + return openminds_modules + + +def generate_all(v4_root, v5_root): + """Generate both v4 and v5 in sequence, then write top-level files.""" + target_path = os.path.join("..", "fairgraph", "openminds") + os.makedirs(target_path, exist_ok=True) + + v4_modules = generate_version(v4_root, "v4", target_path) + v5_modules = generate_version(v5_root, "v5", target_path) + + # Write backward-compat alias modules at top level + with open(os.path.join(target_path, "controlledterms.py"), "w") as fp: fp.writelines( [ "from warnings import warn\n" @@ -933,7 +1142,7 @@ def main(openminds_root, ignore=[]): "warn('The `controlledterms` module has been renamed to `controlled_terms`, please update your code', DeprecationWarning)" ] ) - with open("../fairgraph/openminds/specimenprep.py", "w") as fp: + with open(os.path.join(target_path, "specimenprep.py"), "w") as fp: fp.writelines( [ "from warnings import warn\n" @@ -942,10 +1151,6 @@ def main(openminds_root, ignore=[]): ] ) - init_file_path = os.path.join("..", "fairgraph", "openminds", "__init__.py") - with open(init_file_path, "w") as fp: - fp.write(f"from . import ({', '.join(sorted(openminds_modules))})\n") - # Format with Black subprocess.call([sys.executable, "-m", "black", "--quiet", target_path]) @@ -955,7 +1160,23 @@ def main(openminds_root, ignore=[]): prog=sys.argv[0], description="Generate fairgraph classes from the EBRAINS openMINDS schema templates", ) - parser.add_argument("openminds_root", help="The path to the openMINDS directory") + parser.add_argument("openminds_root", help="The path to the openMINDS schema directory") + parser.add_argument("--version", help="openMINDS version (v4 or v5)", default="v4", choices=["v4", "v5"]) parser.add_argument("--ignore", help="Names of schema groups to ignore", default=[], action="append") - args = vars(parser.parse_args()) - main(**args) + parser.add_argument( + "--v5-root", + help="Path to v5 schemas (when using --generate-all)", + default=None, + ) + parser.add_argument( + "--generate-all", + help="Generate both v4 and v5 (requires --v5-root)", + action="store_true", + ) + args = parser.parse_args() + if args.generate_all: + if args.v5_root is None: + parser.error("--generate-all requires --v5-root") + generate_all(args.openminds_root, args.v5_root) + else: + main(args.openminds_root, version=args.version, ignore=args.ignore) diff --git a/doc/modules.rst b/doc/modules.rst index bd9cabf0..8d930e31 100644 --- a/doc/modules.rst +++ b/doc/modules.rst @@ -2,9 +2,15 @@ Metadata domains ================ +fairgraph supports both openMINDS v4 and v5 schemas. By default, modules are imported from v4 +for backwards compatibility:: -openMINDS ---------- + import fairgraph.openminds.core as omcore # v4 (default) + import fairgraph.openminds.v4.core as omcore4 # explicit v4 + import fairgraph.openminds.v5.core as omcore5 # explicit v5 + +openMINDS v4 +------------ .. toctree:: :hidden: @@ -19,8 +25,6 @@ openMINDS modules/openminds_stimulation modules/openminds_publications -**fairgraph** currently provides the following modules: - :doc:`modules/openminds_core` covers general origin, location and content of research products. @@ -47,3 +51,54 @@ openMINDS :doc:`modules/openminds_publications` covers scientific publications, particularly interactive publications such as live papers. + + +openMINDS v5 +------------ + +.. toctree:: + :hidden: + + modules/openminds_v5_core + modules/openminds_v5_controlledterms + modules/openminds_v5_chemicals + modules/openminds_v5_sands + modules/openminds_v5_computation + modules/openminds_v5_specimenprep + modules/openminds_v5_ephys + modules/openminds_v5_stimulation + modules/openminds_v5_publications + modules/openminds_v5_neuroimaging + +v5 includes all v4 modules plus a new **neuroimaging** module. Some classes have been renamed +(e.g. ``BrainAtlas`` → ``AnatomicalAtlas``), and new classes have been added. + +:doc:`modules/openminds_v5_core` + covers general origin, location and content of research products. + +:doc:`modules/openminds_v5_sands` + covers brain atlases, as well as anatomical locations and relations of non-atlas data. + +:doc:`modules/openminds_v5_controlledterms` + covers consistent definition of neuroscience terms. + +:doc:`modules/openminds_v5_chemicals` + covers chemical substances and mixtures used in neuroscience. + +:doc:`modules/openminds_v5_computation` + covers provenance of simulations, data analysis and visualizations in neuroscience. + +:doc:`modules/openminds_v5_ephys` + covers in-depth metadata for electrophysiology recordings, extending the basic information in openMINDS/core. + +:doc:`modules/openminds_v5_specimenprep` + covers in-depth metadata for the preparation of specimens (e.g. cell culture, surgical procedures, tissue slicing). + +:doc:`modules/openminds_v5_stimulation` + covers in-depth metadata about stimulation protocols in neuroscience experiments. + +:doc:`modules/openminds_v5_publications` + covers scientific publications, particularly interactive publications such as live papers. + +:doc:`modules/openminds_v5_neuroimaging` + covers in-depth metadata for neuroimaging data, particularly MRI acquisitions and devices. diff --git a/doc/modules/openminds_v5_chemicals.rst b/doc/modules/openminds_v5_chemicals.rst new file mode 100644 index 00000000..5127b691 --- /dev/null +++ b/doc/modules/openminds_v5_chemicals.rst @@ -0,0 +1,21 @@ +======================= +openminds.v5.chemicals +======================= + +Structured metadata about chemical substances and mixtures used in neuroscience. + +.. autoclass:: fairgraph.openminds.v5.chemicals.AmountOfChemical + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.chemicals.ChemicalMixture + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.chemicals.ChemicalSubstance + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.chemicals.ProductSource + :members: + :show-inheritance: diff --git a/doc/modules/openminds_v5_computation.rst b/doc/modules/openminds_v5_computation.rst new file mode 100644 index 00000000..c5f1d110 --- /dev/null +++ b/doc/modules/openminds_v5_computation.rst @@ -0,0 +1,77 @@ +======================== +openminds.v5.computation +======================== + +Provenance of computational workflows in neuroscience, including simulations, data analysis and visualizations. + +.. autoclass:: fairgraph.openminds.v5.computation.Environment + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.HardwareSystem + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.LaunchConfiguration + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.DataAnalysis + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.DataCopy + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.DeployedInterface + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.GenericComputation + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.Simulation + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.ModelValidation + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.ValidationTest + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.ValidationTestVersion + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.Visualization + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.Optimization + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.ServiceDeployment + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.SoftwareAgent + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.WorkflowExecution + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.WorkflowRecipe + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.computation.WorkflowRecipeVersion + :members: + :show-inheritance: diff --git a/doc/modules/openminds_v5_controlledterms.rst b/doc/modules/openminds_v5_controlledterms.rst new file mode 100644 index 00000000..1703c153 --- /dev/null +++ b/doc/modules/openminds_v5_controlledterms.rst @@ -0,0 +1,679 @@ +============================== +openminds.v5.controlled_terms +============================== + +Consistent definition of neuroscience terms. + +.. currentmodule:: fairgraph.openminds.v5.controlled_terms + +* :class:`~AccessChannel` +* :class:`~AccessEligibilityType` +* :class:`~AccessForm` +* :class:`~AccessProcessType` +* :class:`~ActionStatusType` +* :class:`~AgeCategory` +* :class:`~AgeReference` +* :class:`~AnalysisTechnique` +* :class:`~AnatomicalAxesOrientation` +* :class:`~AnatomicalCavity` +* :class:`~AnatomicalIdentificationType` +* :class:`~AnatomicalPlane` +* :class:`~AnnotationCriteriaType` +* :class:`~AnnotationType` +* :class:`~AtlasType` +* :class:`~AuditoryStimulusType` +* :class:`~BiologicalOrder` +* :class:`~BiologicalProcess` +* :class:`~BiologicalSex` +* :class:`~BreedingType` +* :class:`~CellCultureType` +* :class:`~CellType` +* :class:`~ChemicalMixtureType` +* :class:`~Colormap` +* :class:`~CommunicationInterfaceType` +* :class:`~CommunicationProtocol` +* :class:`~ContributionType` +* :class:`~CranialWindowConstructionType` +* :class:`~CranialWindowReinforcementType` +* :class:`~CriteriaQualityType` +* :class:`~DataType` +* :class:`~DependencyImpact` +* :class:`~DeploymentEnvironmentType` +* :class:`~DeviceMountingType` +* :class:`~DeviceType` +* :class:`~DifferenceMeasure` +* :class:`~Disease` +* :class:`~DiseaseModel` +* :class:`~EducationalLevel` +* :class:`~ElectricalStimulusType` +* :class:`~ExperimentalApproach` +* :class:`~ExternalBodyRegion` +* :class:`~FileBundleGrouping` +* :class:`~FileRepositoryType` +* :class:`~FileUsageRole` +* :class:`~GeneticStrainType` +* :class:`~GustatoryStimulusType` +* :class:`~Handedness` +* :class:`~Language` +* :class:`~Laterality` +* :class:`~LearningResourceType` +* :class:`~MeasuredQuantity` +* :class:`~MeasuredSignalType` +* :class:`~MetaDataModelType` +* :class:`~ModelAbstractionLevel` +* :class:`~ModelScope` +* :class:`~ModificationConsentRequirement` +* :class:`~ModificationConstraint` +* :class:`~ModificationForm` +* :class:`~ModificationScope` +* :class:`~MolecularEntity` +* :class:`~MRIFatSuppressionTechnique` +* :class:`~MRIParallelAcquisitionTechnique` +* :class:`~MRIPulseSequence` +* :class:`~MRISpoilingTechnique` +* :class:`~MRIWeighting` +* :class:`~MuscularStructure` +* :class:`~NervousSystemStructure` +* :class:`~OlfactoryStimulusType` +* :class:`~OperatingDevice` +* :class:`~OperatingSystem` +* :class:`~OperationalApproach` +* :class:`~OpticalStimulusType` +* :class:`~Organ` +* :class:`~OrganSystemStructure` +* :class:`~OrganismSubstance` +* :class:`~OrganismSystem` +* :class:`~OrganizationType` +* :class:`~PatchClampVariation` +* :class:`~PaymentModelType` +* :class:`~PreparationType` +* :class:`~ProgrammingLanguage` +* :class:`~ProjectType` +* :class:`~PublicationStatus` +* :class:`~PulseShape` +* :class:`~QualitativeOverlap` +* :class:`~SemanticDataType` +* :class:`~SetupType` +* :class:`~SignalDirectionality` +* :class:`~SkeletalStructure` +* :class:`~SoftwareApplicationCategory` +* :class:`~SoftwareFeature` +* :class:`~SovereignState` +* :class:`~SpatialEncoding` +* :class:`~Species` +* :class:`~StimulationApproach` +* :class:`~StimulationTechnique` +* :class:`~SubcellularEntity` +* :class:`~SubjectAttribute` +* :class:`~SupranationalBody` +* :class:`~TactileStimulusType` +* :class:`~Technique` +* :class:`~TermSuggestion` +* :class:`~Terminology` +* :class:`~TissueSampleAttribute` +* :class:`~TissueSampleType` +* :class:`~TissueStructure` +* :class:`~TypeOfUncertainty` +* :class:`~UnitOfMeasurement` +* :class:`~VascularStructure` +* :class:`~VisualStimulusType` +* :class:`~WeightType` + +---- + +.. autoclass:: AccessChannel + + +---- + +.. autoclass:: AccessEligibilityType + + +---- + +.. autoclass:: AccessForm + + +---- + +.. autoclass:: AccessProcessType + + +---- + +.. autoclass:: ActionStatusType + + +---- + +.. autoclass:: AgeCategory + + +---- + +.. autoclass:: AgeReference + + +---- + +.. autoclass:: AnalysisTechnique + + +---- + +.. autoclass:: AnatomicalAxesOrientation + + +---- + +.. autoclass:: AnatomicalCavity + + +---- + +.. autoclass:: AnatomicalIdentificationType + + +---- + +.. autoclass:: AnatomicalPlane + + +---- + +.. autoclass:: AnnotationCriteriaType + + +---- + +.. autoclass:: AnnotationType + + +---- + +.. autoclass:: AtlasType + + +---- + +.. autoclass:: AuditoryStimulusType + + +---- + +.. autoclass:: BiologicalOrder + + +---- + +.. autoclass:: BiologicalProcess + + +---- + +.. autoclass:: BiologicalSex + + +---- + +.. autoclass:: BreedingType + + +---- + +.. autoclass:: CellCultureType + + +---- + +.. autoclass:: CellType + + +---- + +.. autoclass:: ChemicalMixtureType + + +---- + +.. autoclass:: Colormap + + +---- + +.. autoclass:: CommunicationInterfaceType + + +---- + +.. autoclass:: CommunicationProtocol + + +---- + +.. autoclass:: ContributionType + + +---- + +.. autoclass:: CranialWindowConstructionType + + +---- + +.. autoclass:: CranialWindowReinforcementType + + +---- + +.. autoclass:: CriteriaQualityType + + +---- + +.. autoclass:: DataType + + +---- + +.. autoclass:: DependencyImpact + + +---- + +.. autoclass:: DeploymentEnvironmentType + + +---- + +.. autoclass:: DeviceMountingType + + +---- + +.. autoclass:: DeviceType + + +---- + +.. autoclass:: DifferenceMeasure + + +---- + +.. autoclass:: Disease + + +---- + +.. autoclass:: DiseaseModel + + +---- + +.. autoclass:: EducationalLevel + + +---- + +.. autoclass:: ElectricalStimulusType + + +---- + +.. autoclass:: ExperimentalApproach + + +---- + +.. autoclass:: ExternalBodyRegion + + +---- + +.. autoclass:: FileBundleGrouping + + +---- + +.. autoclass:: FileRepositoryType + + +---- + +.. autoclass:: FileUsageRole + + +---- + +.. autoclass:: GeneticStrainType + + +---- + +.. autoclass:: GustatoryStimulusType + + +---- + +.. autoclass:: Handedness + + +---- + +.. autoclass:: Language + + +---- + +.. autoclass:: Laterality + + +---- + +.. autoclass:: LearningResourceType + + +---- + +.. autoclass:: MeasuredQuantity + + +---- + +.. autoclass:: MeasuredSignalType + + +---- + +.. autoclass:: MetaDataModelType + + +---- + +.. autoclass:: ModelAbstractionLevel + + +---- + +.. autoclass:: ModelScope + + +---- + +.. autoclass:: ModificationConsentRequirement + + +---- + +.. autoclass:: ModificationConstraint + + +---- + +.. autoclass:: ModificationForm + + +---- + +.. autoclass:: ModificationScope + + +---- + +.. autoclass:: MolecularEntity + + +---- + +.. autoclass:: MRIFatSuppressionTechnique + + +---- + +.. autoclass:: MRIParallelAcquisitionTechnique + + +---- + +.. autoclass:: MRIPulseSequence + + +---- + +.. autoclass:: MRISpoilingTechnique + + +---- + +.. autoclass:: MRIWeighting + + +---- + +.. autoclass:: MuscularStructure + + +---- + +.. autoclass:: NervousSystemStructure + + +---- + +.. autoclass:: OlfactoryStimulusType + + +---- + +.. autoclass:: OperatingDevice + + +---- + +.. autoclass:: OperatingSystem + + +---- + +.. autoclass:: OperationalApproach + + +---- + +.. autoclass:: OpticalStimulusType + + +---- + +.. autoclass:: Organ + + +---- + +.. autoclass:: OrganSystemStructure + + +---- + +.. autoclass:: OrganismSubstance + + +---- + +.. autoclass:: OrganismSystem + + +---- + +.. autoclass:: OrganizationType + + +---- + +.. autoclass:: PatchClampVariation + + +---- + +.. autoclass:: PaymentModelType + + +---- + +.. autoclass:: PreparationType + + +---- + +.. autoclass:: ProgrammingLanguage + + +---- + +.. autoclass:: ProjectType + + +---- + +.. autoclass:: PublicationStatus + + +---- + +.. autoclass:: PulseShape + + +---- + +.. autoclass:: QualitativeOverlap + + +---- + +.. autoclass:: SemanticDataType + + +---- + +.. autoclass:: SetupType + + +---- + +.. autoclass:: SignalDirectionality + + +---- + +.. autoclass:: SkeletalStructure + + +---- + +.. autoclass:: SoftwareApplicationCategory + + +---- + +.. autoclass:: SoftwareFeature + + +---- + +.. autoclass:: SovereignState + + +---- + +.. autoclass:: SpatialEncoding + + +---- + +.. autoclass:: Species + + +---- + +.. autoclass:: StimulationApproach + + +---- + +.. autoclass:: StimulationTechnique + + +---- + +.. autoclass:: SubcellularEntity + + +---- + +.. autoclass:: SubjectAttribute + + +---- + +.. autoclass:: SupranationalBody + + +---- + +.. autoclass:: TactileStimulusType + + +---- + +.. autoclass:: Technique + + +---- + +.. autoclass:: TermSuggestion + + +---- + +.. autoclass:: Terminology + + +---- + +.. autoclass:: TissueSampleAttribute + + +---- + +.. autoclass:: TissueSampleType + + +---- + +.. autoclass:: TissueStructure + + +---- + +.. autoclass:: TypeOfUncertainty + + +---- + +.. autoclass:: UnitOfMeasurement + + +---- + +.. autoclass:: VascularStructure + + +---- + +.. autoclass:: VisualStimulusType + + +---- + +.. autoclass:: WeightType diff --git a/doc/modules/openminds_v5_core.rst b/doc/modules/openminds_v5_core.rst new file mode 100644 index 00000000..c4bb99db --- /dev/null +++ b/doc/modules/openminds_v5_core.rst @@ -0,0 +1,280 @@ +================== +openminds.v5.core +================== + +Metadata about the general origin, location and content of research products. + +.. currentmodule:: fairgraph.openminds.v5.core + +Actors +------ + +.. autoclass:: Person + :members: + +.. autoclass:: ContactInformation + :members: + +.. autoclass:: AccountInformation + :members: + +.. autoclass:: Organization + :members: + +.. autoclass:: Consortium + :members: + +.. autoclass:: Affiliation + :members: + +.. autoclass:: Contribution + :members: + +Data +---- + +.. autoclass:: ContentType + +.. autoclass:: ContentTypePattern + :members: + +.. autoclass:: Copyright + :members: + +.. autoclass:: File + :members: + +.. autoclass:: FileBundle + :members: + +.. autoclass:: FileRepository + :members: + +.. autoclass:: FileArchive + :members: + +.. autoclass:: FilePathPattern + :members: + +.. autoclass:: FileRepositoryStructure + :members: + +.. autoclass:: GridImage + :members: + +.. autoclass:: GridImageStack + :members: + +.. autoclass:: GridVolume + :members: + +.. autoclass:: GridVolumeSequence + :members: + +.. autoclass:: Hash + :members: + +.. autoclass:: License + +.. autoclass:: LocalFile + :members: + +.. autoclass:: ServiceLink + :members: + +.. autoclass:: UsageAgreement + :members: + +.. autoclass:: Measurement + :members: + +.. autoclass:: QuantitativeValue + :members: + +.. autoclass:: QuantitativeValueArray + :members: + +.. autoclass:: QuantitativeValueRange + :members: + + +Miscellaneous +------------- + +.. autoclass:: Accessibility + :members: + +.. autoclass:: Comment + :members: + +.. autoclass:: Dependency + :members: + +.. autoclass:: Funding + :members: + +.. autoclass:: GeoCoordinates + :members: + +.. autoclass:: Location + :members: + +.. autoclass:: Membership + :members: + +.. autoclass:: ResearchProductGroup + :members: + +.. autoclass:: WebResource + :members: + + +Identifiers +----------- + +.. autoclass:: DOI + :members: + +.. autoclass:: GenericIdentifier + :members: + +.. autoclass:: HANDLE + :members: + +.. autoclass:: IdentifiersDotOrgID + :members: + +.. autoclass:: ISBN + :members: + +.. autoclass:: ISNI + :members: + +.. autoclass:: ISSN + :members: + +.. autoclass:: LEI + :members: + +.. autoclass:: ORCID + :members: + +.. autoclass:: RORID + :members: + +.. autoclass:: RRID + :members: + +.. autoclass:: SWHID + :members: + +.. autoclass:: StockNumber + :members: + + +Products +-------- + +.. autoclass:: Dataset + :members: + +.. autoclass:: DatasetVersion + :members: + +.. autoclass:: HardwareProduct + :members: + +.. autoclass:: Interface + :members: + +.. autoclass:: InterfaceVersion + :members: + +.. autoclass:: Model + :members: + +.. autoclass:: ModelVersion + :members: + +.. autoclass:: Project + :members: + +.. autoclass:: Service + :members: + +.. autoclass:: Setup + :members: + +.. autoclass:: Software + :members: + +.. autoclass:: SoftwareVersion + :members: + +.. autoclass:: MetaDataModel + :members: + +.. autoclass:: MetaDataModelVersion + :members: + + +Research +-------- + +.. autoclass:: BehavioralProtocol + :members: + +.. autoclass:: Protocol + :members: + +.. autoclass:: ProtocolExecution + :members: + +.. autoclass:: Strain + :members: + +.. autoclass:: Subject + :members: + +.. autoclass:: SubjectGroup + :members: + +.. autoclass:: SubjectGroupState + :members: + +.. autoclass:: SubjectState + :members: + +.. autoclass:: TissueSample + :members: + +.. autoclass:: TissueSampleCollection + :members: + +.. autoclass:: TissueSampleCollectionState + :members: + +.. autoclass:: TissueSampleState + :members: + +.. autoclass:: Configuration + :members: + +.. autoclass:: CustomPropertySet + :members: + :show-inheritance: + +.. autoclass:: PropertyValueList + :members: + +.. autoclass:: StringProperty + :members: + +.. autoclass:: NumericalProperty + :members: + +.. autoclass:: SpecimenAge + :members: + +.. autoclass:: SpecimenWeight + :members: diff --git a/doc/modules/openminds_v5_ephys.rst b/doc/modules/openminds_v5_ephys.rst new file mode 100644 index 00000000..99f93077 --- /dev/null +++ b/doc/modules/openminds_v5_ephys.rst @@ -0,0 +1,43 @@ +=================== +openminds.v5.ephys +=================== + +In-depth metadata for electrophysiology recordings. + + +.. autoclass:: fairgraph.openminds.v5.ephys.CellPatching + :members: + :show-inheritance: + + +.. autoclass:: fairgraph.openminds.v5.ephys.ElectrodePlacement + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.ephys.RecordingActivity + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.ephys.Electrode + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.ephys.ElectrodeArray + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.ephys.ElectrodeArrayUsage + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.ephys.ElectrodeUsage + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.ephys.Pipette + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.ephys.PipetteUsage + :members: + :show-inheritance: diff --git a/doc/modules/openminds_v5_neuroimaging.rst b/doc/modules/openminds_v5_neuroimaging.rst new file mode 100644 index 00000000..103dc719 --- /dev/null +++ b/doc/modules/openminds_v5_neuroimaging.rst @@ -0,0 +1,31 @@ +========================== +openminds.v5.neuroimaging +========================== + +In-depth metadata for neuroimaging experiments, including MRI acquisition and equipment. + +.. currentmodule:: fairgraph.openminds.v5.neuroimaging + +Activities +---------- + +.. autoclass:: StaticMRIAcquisition + :members: + +.. autoclass:: DynamicMRIAcquisition + :members: + +Devices +------- + +.. autoclass:: MRIScanner + :members: + +.. autoclass:: MRIScannerUsage + :members: + +.. autoclass:: MRICoil + :members: + +.. autoclass:: MRICoilUsage + :members: diff --git a/doc/modules/openminds_v5_publications.rst b/doc/modules/openminds_v5_publications.rst new file mode 100644 index 00000000..d138410f --- /dev/null +++ b/doc/modules/openminds_v5_publications.rst @@ -0,0 +1,50 @@ +========================== +openminds.v5.publications +========================== + +Structured metadata about scientific publications, particularly interactive publications such as live papers. + + +.. autoclass:: fairgraph.openminds.v5.publications.Book + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.Chapter + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.ScholarlyArticle + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.Periodical + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.PublicationVolume + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.PublicationIssue + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.LearningResource + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.LivePaper + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.LivePaperVersion + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.LivePaperSection + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.v5.publications.LivePaperResourceItem + :members: + :show-inheritance: diff --git a/doc/modules/openminds_v5_sands.rst b/doc/modules/openminds_v5_sands.rst new file mode 100644 index 00000000..3abefcdf --- /dev/null +++ b/doc/modules/openminds_v5_sands.rst @@ -0,0 +1,144 @@ +=================== +openminds.v5.sands +=================== + +Metadata about brain atlases, as well as anatomical locations and relations of non-atlas data. + +.. currentmodule:: fairgraph.openminds.v5.sands + +Brain Atlases +============= + +.. autoclass:: AnatomicalAtlas + + +.. autoclass:: AnatomicalAtlasVersion + + +.. autoclass:: AtlasAnnotation + + +.. autoclass:: CommonCoordinateFramework + + +.. autoclass:: CommonCoordinateFrameworkVersion + + +.. autoclass:: ParcellationEntity + + +.. autoclass:: ParcellationEntityVersion + + +.. autoclass:: ParcellationTerminology + + +.. autoclass:: ParcellationTerminologyVersion + + + +Non-atlas-related +================= + +.. autoclass:: CustomAnatomicalEntity + + +.. autoclass:: CustomAnnotation + + +.. autoclass:: CustomCoordinateFramework + + + +Mathematical Shapes +=================== + +.. autoclass:: CentroidalPyramid + + +.. autoclass:: Circle + + +.. autoclass:: CircularSector + + +.. autoclass:: Cube + + +.. autoclass:: Ellipse + + +.. autoclass:: Ellipsoid + + +.. autoclass:: EquilateralTriangle + + +.. autoclass:: Frustum + + +.. autoclass:: IsoscelesTriangle + + +.. autoclass:: Kite + + +.. autoclass:: Parallelogram + + +.. autoclass:: Rectangle + + +.. autoclass:: RegularPolygon + + +.. autoclass:: Rhombus + + +.. autoclass:: RightCone + + +.. autoclass:: RightCylinder + + +.. autoclass:: RightPrism + + +.. autoclass:: RightTriangle + + +.. autoclass:: Sphere + + +.. autoclass:: Spheroid + + +.. autoclass:: Square + + +.. autoclass:: Trapezoid + + +.. autoclass:: Triangle + + + +Miscellaneous +============= + +.. autoclass:: AnatomicalTargetPosition + + +.. autoclass:: CoordinatePoint + + +.. autoclass:: QualitativeRelationAssessment + + +.. autoclass:: QuantitativeRelationAssessment + + +.. autoclass:: SingleColor + + +.. autoclass:: ViewerSpecification diff --git a/doc/modules/openminds_v5_specimenprep.rst b/doc/modules/openminds_v5_specimenprep.rst new file mode 100644 index 00000000..bf400f5a --- /dev/null +++ b/doc/modules/openminds_v5_specimenprep.rst @@ -0,0 +1,30 @@ +=========================== +openminds.v5.specimen_prep +=========================== + +In-depth metadata for the preparation of specimens (e.g. cell culture, surgical procedures, tissue slicing). + + +.. autoclass:: fairgraph.openminds.v5.specimen_prep.CranialWindowPreparation + :members: + :show-inheritance: + + +.. autoclass:: fairgraph.openminds.v5.specimen_prep.TissueCulturePreparation + :members: + :show-inheritance: + + +.. autoclass:: fairgraph.openminds.v5.specimen_prep.TissueSampleSlicing + :members: + :show-inheritance: + + +.. autoclass:: fairgraph.openminds.v5.specimen_prep.SlicingDevice + :members: + :show-inheritance: + + +.. autoclass:: fairgraph.openminds.v5.specimen_prep.SlicingDeviceUsage + :members: + :show-inheritance: diff --git a/doc/modules/openminds_v5_stimulation.rst b/doc/modules/openminds_v5_stimulation.rst new file mode 100644 index 00000000..d31148e2 --- /dev/null +++ b/doc/modules/openminds_v5_stimulation.rst @@ -0,0 +1,15 @@ +========================= +openminds.v5.stimulation +========================= + +In-depth metadata about stimulation protocols in neuroscience experiments. + + +.. autoclass:: fairgraph.openminds.v5.stimulation.StimulationActivity + :members: + :show-inheritance: + + +.. autoclass:: fairgraph.openminds.v5.stimulation.EphysStimulus + :members: + :show-inheritance: diff --git a/fairgraph/openminds/__init__.py b/fairgraph/openminds/__init__.py index 1bdbd1a6..489ae8c3 100644 --- a/fairgraph/openminds/__init__.py +++ b/fairgraph/openminds/__init__.py @@ -34,4 +34,17 @@ def set_error_handling(value, module=None): cls.set_error_handling(value) -from . import chemicals, computation, controlled_terms, core, ephys, publications, sands, specimen_prep, stimulation +from . import v4, v5 + +# Backwards compatibility: expose v4 modules at top level so that +# `import fairgraph.openminds.core` continues to work +from .v4 import chemicals, computation, controlled_terms, core, ephys, publications, sands, specimen_prep, stimulation + +_v4_modules = [ + "chemicals", "computation", "controlled_terms", "core", + "ephys", "publications", "sands", "specimen_prep", "stimulation", +] +for _mod_name in _v4_modules: + _v4_mod = getattr(v4, _mod_name) + sys.modules[f"{__name__}.{_mod_name}"] = _v4_mod +del _mod_name, _v4_mod, _v4_modules diff --git a/fairgraph/openminds/v4/__init__.py b/fairgraph/openminds/v4/__init__.py new file mode 100644 index 00000000..e573de0c --- /dev/null +++ b/fairgraph/openminds/v4/__init__.py @@ -0,0 +1 @@ +from . import chemicals, computation, controlled_terms, core, ephys, publications, sands, specimen_prep, stimulation diff --git a/fairgraph/openminds/chemicals/__init__.py b/fairgraph/openminds/v4/chemicals/__init__.py similarity index 100% rename from fairgraph/openminds/chemicals/__init__.py rename to fairgraph/openminds/v4/chemicals/__init__.py diff --git a/fairgraph/openminds/chemicals/amount_of_chemical.py b/fairgraph/openminds/v4/chemicals/amount_of_chemical.py similarity index 100% rename from fairgraph/openminds/chemicals/amount_of_chemical.py rename to fairgraph/openminds/v4/chemicals/amount_of_chemical.py diff --git a/fairgraph/openminds/chemicals/chemical_mixture.py b/fairgraph/openminds/v4/chemicals/chemical_mixture.py similarity index 100% rename from fairgraph/openminds/chemicals/chemical_mixture.py rename to fairgraph/openminds/v4/chemicals/chemical_mixture.py diff --git a/fairgraph/openminds/chemicals/chemical_substance.py b/fairgraph/openminds/v4/chemicals/chemical_substance.py similarity index 100% rename from fairgraph/openminds/chemicals/chemical_substance.py rename to fairgraph/openminds/v4/chemicals/chemical_substance.py diff --git a/fairgraph/openminds/chemicals/product_source.py b/fairgraph/openminds/v4/chemicals/product_source.py similarity index 100% rename from fairgraph/openminds/chemicals/product_source.py rename to fairgraph/openminds/v4/chemicals/product_source.py diff --git a/fairgraph/openminds/computation/__init__.py b/fairgraph/openminds/v4/computation/__init__.py similarity index 100% rename from fairgraph/openminds/computation/__init__.py rename to fairgraph/openminds/v4/computation/__init__.py diff --git a/fairgraph/openminds/computation/data_analysis.py b/fairgraph/openminds/v4/computation/data_analysis.py similarity index 100% rename from fairgraph/openminds/computation/data_analysis.py rename to fairgraph/openminds/v4/computation/data_analysis.py diff --git a/fairgraph/openminds/computation/data_copy.py b/fairgraph/openminds/v4/computation/data_copy.py similarity index 100% rename from fairgraph/openminds/computation/data_copy.py rename to fairgraph/openminds/v4/computation/data_copy.py diff --git a/fairgraph/openminds/computation/environment.py b/fairgraph/openminds/v4/computation/environment.py similarity index 100% rename from fairgraph/openminds/computation/environment.py rename to fairgraph/openminds/v4/computation/environment.py diff --git a/fairgraph/openminds/computation/generic_computation.py b/fairgraph/openminds/v4/computation/generic_computation.py similarity index 100% rename from fairgraph/openminds/computation/generic_computation.py rename to fairgraph/openminds/v4/computation/generic_computation.py diff --git a/fairgraph/openminds/computation/hardware_system.py b/fairgraph/openminds/v4/computation/hardware_system.py similarity index 100% rename from fairgraph/openminds/computation/hardware_system.py rename to fairgraph/openminds/v4/computation/hardware_system.py diff --git a/fairgraph/openminds/computation/launch_configuration.py b/fairgraph/openminds/v4/computation/launch_configuration.py similarity index 100% rename from fairgraph/openminds/computation/launch_configuration.py rename to fairgraph/openminds/v4/computation/launch_configuration.py diff --git a/fairgraph/openminds/computation/local_file.py b/fairgraph/openminds/v4/computation/local_file.py similarity index 97% rename from fairgraph/openminds/computation/local_file.py rename to fairgraph/openminds/v4/computation/local_file.py index 0066789f..f38aed4b 100644 --- a/fairgraph/openminds/computation/local_file.py +++ b/fairgraph/openminds/v4/computation/local_file.py @@ -43,7 +43,7 @@ class LocalFile(KGObject, OMLocalFile): description="reverse of 'grouped_by'", ), ] - existence_query_properties = ("name", "path") + existence_query_properties = ("name", "hashes") def __init__( self, diff --git a/fairgraph/openminds/computation/model_validation.py b/fairgraph/openminds/v4/computation/model_validation.py similarity index 100% rename from fairgraph/openminds/computation/model_validation.py rename to fairgraph/openminds/v4/computation/model_validation.py diff --git a/fairgraph/openminds/computation/optimization.py b/fairgraph/openminds/v4/computation/optimization.py similarity index 100% rename from fairgraph/openminds/computation/optimization.py rename to fairgraph/openminds/v4/computation/optimization.py diff --git a/fairgraph/openminds/computation/simulation.py b/fairgraph/openminds/v4/computation/simulation.py similarity index 100% rename from fairgraph/openminds/computation/simulation.py rename to fairgraph/openminds/v4/computation/simulation.py diff --git a/fairgraph/openminds/computation/software_agent.py b/fairgraph/openminds/v4/computation/software_agent.py similarity index 100% rename from fairgraph/openminds/computation/software_agent.py rename to fairgraph/openminds/v4/computation/software_agent.py diff --git a/fairgraph/openminds/computation/validation_test.py b/fairgraph/openminds/v4/computation/validation_test.py similarity index 100% rename from fairgraph/openminds/computation/validation_test.py rename to fairgraph/openminds/v4/computation/validation_test.py diff --git a/fairgraph/openminds/computation/validation_test_version.py b/fairgraph/openminds/v4/computation/validation_test_version.py similarity index 100% rename from fairgraph/openminds/computation/validation_test_version.py rename to fairgraph/openminds/v4/computation/validation_test_version.py diff --git a/fairgraph/openminds/computation/visualization.py b/fairgraph/openminds/v4/computation/visualization.py similarity index 100% rename from fairgraph/openminds/computation/visualization.py rename to fairgraph/openminds/v4/computation/visualization.py diff --git a/fairgraph/openminds/computation/workflow_execution.py b/fairgraph/openminds/v4/computation/workflow_execution.py similarity index 100% rename from fairgraph/openminds/computation/workflow_execution.py rename to fairgraph/openminds/v4/computation/workflow_execution.py diff --git a/fairgraph/openminds/computation/workflow_recipe.py b/fairgraph/openminds/v4/computation/workflow_recipe.py similarity index 100% rename from fairgraph/openminds/computation/workflow_recipe.py rename to fairgraph/openminds/v4/computation/workflow_recipe.py diff --git a/fairgraph/openminds/computation/workflow_recipe_version.py b/fairgraph/openminds/v4/computation/workflow_recipe_version.py similarity index 100% rename from fairgraph/openminds/computation/workflow_recipe_version.py rename to fairgraph/openminds/v4/computation/workflow_recipe_version.py diff --git a/fairgraph/openminds/controlled_terms/__init__.py b/fairgraph/openminds/v4/controlled_terms/__init__.py similarity index 100% rename from fairgraph/openminds/controlled_terms/__init__.py rename to fairgraph/openminds/v4/controlled_terms/__init__.py diff --git a/fairgraph/openminds/controlled_terms/action_status_type.py b/fairgraph/openminds/v4/controlled_terms/action_status_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/action_status_type.py rename to fairgraph/openminds/v4/controlled_terms/action_status_type.py diff --git a/fairgraph/openminds/controlled_terms/age_category.py b/fairgraph/openminds/v4/controlled_terms/age_category.py similarity index 100% rename from fairgraph/openminds/controlled_terms/age_category.py rename to fairgraph/openminds/v4/controlled_terms/age_category.py diff --git a/fairgraph/openminds/controlled_terms/analysis_technique.py b/fairgraph/openminds/v4/controlled_terms/analysis_technique.py similarity index 100% rename from fairgraph/openminds/controlled_terms/analysis_technique.py rename to fairgraph/openminds/v4/controlled_terms/analysis_technique.py diff --git a/fairgraph/openminds/controlled_terms/anatomical_axes_orientation.py b/fairgraph/openminds/v4/controlled_terms/anatomical_axes_orientation.py similarity index 100% rename from fairgraph/openminds/controlled_terms/anatomical_axes_orientation.py rename to fairgraph/openminds/v4/controlled_terms/anatomical_axes_orientation.py diff --git a/fairgraph/openminds/controlled_terms/anatomical_identification_type.py b/fairgraph/openminds/v4/controlled_terms/anatomical_identification_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/anatomical_identification_type.py rename to fairgraph/openminds/v4/controlled_terms/anatomical_identification_type.py diff --git a/fairgraph/openminds/controlled_terms/anatomical_plane.py b/fairgraph/openminds/v4/controlled_terms/anatomical_plane.py similarity index 100% rename from fairgraph/openminds/controlled_terms/anatomical_plane.py rename to fairgraph/openminds/v4/controlled_terms/anatomical_plane.py diff --git a/fairgraph/openminds/controlled_terms/annotation_criteria_type.py b/fairgraph/openminds/v4/controlled_terms/annotation_criteria_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/annotation_criteria_type.py rename to fairgraph/openminds/v4/controlled_terms/annotation_criteria_type.py diff --git a/fairgraph/openminds/controlled_terms/annotation_type.py b/fairgraph/openminds/v4/controlled_terms/annotation_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/annotation_type.py rename to fairgraph/openminds/v4/controlled_terms/annotation_type.py diff --git a/fairgraph/openminds/controlled_terms/atlas_type.py b/fairgraph/openminds/v4/controlled_terms/atlas_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/atlas_type.py rename to fairgraph/openminds/v4/controlled_terms/atlas_type.py diff --git a/fairgraph/openminds/controlled_terms/auditory_stimulus_type.py b/fairgraph/openminds/v4/controlled_terms/auditory_stimulus_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/auditory_stimulus_type.py rename to fairgraph/openminds/v4/controlled_terms/auditory_stimulus_type.py diff --git a/fairgraph/openminds/controlled_terms/biological_order.py b/fairgraph/openminds/v4/controlled_terms/biological_order.py similarity index 100% rename from fairgraph/openminds/controlled_terms/biological_order.py rename to fairgraph/openminds/v4/controlled_terms/biological_order.py diff --git a/fairgraph/openminds/controlled_terms/biological_process.py b/fairgraph/openminds/v4/controlled_terms/biological_process.py similarity index 100% rename from fairgraph/openminds/controlled_terms/biological_process.py rename to fairgraph/openminds/v4/controlled_terms/biological_process.py diff --git a/fairgraph/openminds/controlled_terms/biological_sex.py b/fairgraph/openminds/v4/controlled_terms/biological_sex.py similarity index 100% rename from fairgraph/openminds/controlled_terms/biological_sex.py rename to fairgraph/openminds/v4/controlled_terms/biological_sex.py diff --git a/fairgraph/openminds/controlled_terms/breeding_type.py b/fairgraph/openminds/v4/controlled_terms/breeding_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/breeding_type.py rename to fairgraph/openminds/v4/controlled_terms/breeding_type.py diff --git a/fairgraph/openminds/controlled_terms/cell_culture_type.py b/fairgraph/openminds/v4/controlled_terms/cell_culture_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/cell_culture_type.py rename to fairgraph/openminds/v4/controlled_terms/cell_culture_type.py diff --git a/fairgraph/openminds/controlled_terms/cell_type.py b/fairgraph/openminds/v4/controlled_terms/cell_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/cell_type.py rename to fairgraph/openminds/v4/controlled_terms/cell_type.py diff --git a/fairgraph/openminds/controlled_terms/chemical_mixture_type.py b/fairgraph/openminds/v4/controlled_terms/chemical_mixture_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/chemical_mixture_type.py rename to fairgraph/openminds/v4/controlled_terms/chemical_mixture_type.py diff --git a/fairgraph/openminds/controlled_terms/colormap.py b/fairgraph/openminds/v4/controlled_terms/colormap.py similarity index 100% rename from fairgraph/openminds/controlled_terms/colormap.py rename to fairgraph/openminds/v4/controlled_terms/colormap.py diff --git a/fairgraph/openminds/controlled_terms/contribution_type.py b/fairgraph/openminds/v4/controlled_terms/contribution_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/contribution_type.py rename to fairgraph/openminds/v4/controlled_terms/contribution_type.py diff --git a/fairgraph/openminds/controlled_terms/cranial_window_construction_type.py b/fairgraph/openminds/v4/controlled_terms/cranial_window_construction_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/cranial_window_construction_type.py rename to fairgraph/openminds/v4/controlled_terms/cranial_window_construction_type.py diff --git a/fairgraph/openminds/controlled_terms/cranial_window_reinforcement_type.py b/fairgraph/openminds/v4/controlled_terms/cranial_window_reinforcement_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/cranial_window_reinforcement_type.py rename to fairgraph/openminds/v4/controlled_terms/cranial_window_reinforcement_type.py diff --git a/fairgraph/openminds/controlled_terms/criteria_quality_type.py b/fairgraph/openminds/v4/controlled_terms/criteria_quality_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/criteria_quality_type.py rename to fairgraph/openminds/v4/controlled_terms/criteria_quality_type.py diff --git a/fairgraph/openminds/controlled_terms/data_type.py b/fairgraph/openminds/v4/controlled_terms/data_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/data_type.py rename to fairgraph/openminds/v4/controlled_terms/data_type.py diff --git a/fairgraph/openminds/controlled_terms/device_type.py b/fairgraph/openminds/v4/controlled_terms/device_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/device_type.py rename to fairgraph/openminds/v4/controlled_terms/device_type.py diff --git a/fairgraph/openminds/controlled_terms/difference_measure.py b/fairgraph/openminds/v4/controlled_terms/difference_measure.py similarity index 100% rename from fairgraph/openminds/controlled_terms/difference_measure.py rename to fairgraph/openminds/v4/controlled_terms/difference_measure.py diff --git a/fairgraph/openminds/controlled_terms/disease.py b/fairgraph/openminds/v4/controlled_terms/disease.py similarity index 100% rename from fairgraph/openminds/controlled_terms/disease.py rename to fairgraph/openminds/v4/controlled_terms/disease.py diff --git a/fairgraph/openminds/controlled_terms/disease_model.py b/fairgraph/openminds/v4/controlled_terms/disease_model.py similarity index 100% rename from fairgraph/openminds/controlled_terms/disease_model.py rename to fairgraph/openminds/v4/controlled_terms/disease_model.py diff --git a/fairgraph/openminds/controlled_terms/educational_level.py b/fairgraph/openminds/v4/controlled_terms/educational_level.py similarity index 100% rename from fairgraph/openminds/controlled_terms/educational_level.py rename to fairgraph/openminds/v4/controlled_terms/educational_level.py diff --git a/fairgraph/openminds/controlled_terms/electrical_stimulus_type.py b/fairgraph/openminds/v4/controlled_terms/electrical_stimulus_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/electrical_stimulus_type.py rename to fairgraph/openminds/v4/controlled_terms/electrical_stimulus_type.py diff --git a/fairgraph/openminds/controlled_terms/ethics_assessment.py b/fairgraph/openminds/v4/controlled_terms/ethics_assessment.py similarity index 100% rename from fairgraph/openminds/controlled_terms/ethics_assessment.py rename to fairgraph/openminds/v4/controlled_terms/ethics_assessment.py diff --git a/fairgraph/openminds/controlled_terms/experimental_approach.py b/fairgraph/openminds/v4/controlled_terms/experimental_approach.py similarity index 100% rename from fairgraph/openminds/controlled_terms/experimental_approach.py rename to fairgraph/openminds/v4/controlled_terms/experimental_approach.py diff --git a/fairgraph/openminds/controlled_terms/file_bundle_grouping.py b/fairgraph/openminds/v4/controlled_terms/file_bundle_grouping.py similarity index 100% rename from fairgraph/openminds/controlled_terms/file_bundle_grouping.py rename to fairgraph/openminds/v4/controlled_terms/file_bundle_grouping.py diff --git a/fairgraph/openminds/controlled_terms/file_repository_type.py b/fairgraph/openminds/v4/controlled_terms/file_repository_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/file_repository_type.py rename to fairgraph/openminds/v4/controlled_terms/file_repository_type.py diff --git a/fairgraph/openminds/controlled_terms/file_usage_role.py b/fairgraph/openminds/v4/controlled_terms/file_usage_role.py similarity index 100% rename from fairgraph/openminds/controlled_terms/file_usage_role.py rename to fairgraph/openminds/v4/controlled_terms/file_usage_role.py diff --git a/fairgraph/openminds/controlled_terms/genetic_strain_type.py b/fairgraph/openminds/v4/controlled_terms/genetic_strain_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/genetic_strain_type.py rename to fairgraph/openminds/v4/controlled_terms/genetic_strain_type.py diff --git a/fairgraph/openminds/controlled_terms/gustatory_stimulus_type.py b/fairgraph/openminds/v4/controlled_terms/gustatory_stimulus_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/gustatory_stimulus_type.py rename to fairgraph/openminds/v4/controlled_terms/gustatory_stimulus_type.py diff --git a/fairgraph/openminds/controlled_terms/handedness.py b/fairgraph/openminds/v4/controlled_terms/handedness.py similarity index 100% rename from fairgraph/openminds/controlled_terms/handedness.py rename to fairgraph/openminds/v4/controlled_terms/handedness.py diff --git a/fairgraph/openminds/controlled_terms/language.py b/fairgraph/openminds/v4/controlled_terms/language.py similarity index 100% rename from fairgraph/openminds/controlled_terms/language.py rename to fairgraph/openminds/v4/controlled_terms/language.py diff --git a/fairgraph/openminds/controlled_terms/laterality.py b/fairgraph/openminds/v4/controlled_terms/laterality.py similarity index 100% rename from fairgraph/openminds/controlled_terms/laterality.py rename to fairgraph/openminds/v4/controlled_terms/laterality.py diff --git a/fairgraph/openminds/controlled_terms/learning_resource_type.py b/fairgraph/openminds/v4/controlled_terms/learning_resource_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/learning_resource_type.py rename to fairgraph/openminds/v4/controlled_terms/learning_resource_type.py diff --git a/fairgraph/openminds/controlled_terms/measured_quantity.py b/fairgraph/openminds/v4/controlled_terms/measured_quantity.py similarity index 100% rename from fairgraph/openminds/controlled_terms/measured_quantity.py rename to fairgraph/openminds/v4/controlled_terms/measured_quantity.py diff --git a/fairgraph/openminds/controlled_terms/measured_signal_type.py b/fairgraph/openminds/v4/controlled_terms/measured_signal_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/measured_signal_type.py rename to fairgraph/openminds/v4/controlled_terms/measured_signal_type.py diff --git a/fairgraph/openminds/controlled_terms/meta_data_model_type.py b/fairgraph/openminds/v4/controlled_terms/meta_data_model_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/meta_data_model_type.py rename to fairgraph/openminds/v4/controlled_terms/meta_data_model_type.py diff --git a/fairgraph/openminds/controlled_terms/model_abstraction_level.py b/fairgraph/openminds/v4/controlled_terms/model_abstraction_level.py similarity index 100% rename from fairgraph/openminds/controlled_terms/model_abstraction_level.py rename to fairgraph/openminds/v4/controlled_terms/model_abstraction_level.py diff --git a/fairgraph/openminds/controlled_terms/model_scope.py b/fairgraph/openminds/v4/controlled_terms/model_scope.py similarity index 100% rename from fairgraph/openminds/controlled_terms/model_scope.py rename to fairgraph/openminds/v4/controlled_terms/model_scope.py diff --git a/fairgraph/openminds/controlled_terms/molecular_entity.py b/fairgraph/openminds/v4/controlled_terms/molecular_entity.py similarity index 100% rename from fairgraph/openminds/controlled_terms/molecular_entity.py rename to fairgraph/openminds/v4/controlled_terms/molecular_entity.py diff --git a/fairgraph/openminds/controlled_terms/mri_pulse_sequence.py b/fairgraph/openminds/v4/controlled_terms/mri_pulse_sequence.py similarity index 100% rename from fairgraph/openminds/controlled_terms/mri_pulse_sequence.py rename to fairgraph/openminds/v4/controlled_terms/mri_pulse_sequence.py diff --git a/fairgraph/openminds/controlled_terms/mri_weighting.py b/fairgraph/openminds/v4/controlled_terms/mri_weighting.py similarity index 100% rename from fairgraph/openminds/controlled_terms/mri_weighting.py rename to fairgraph/openminds/v4/controlled_terms/mri_weighting.py diff --git a/fairgraph/openminds/controlled_terms/olfactory_stimulus_type.py b/fairgraph/openminds/v4/controlled_terms/olfactory_stimulus_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/olfactory_stimulus_type.py rename to fairgraph/openminds/v4/controlled_terms/olfactory_stimulus_type.py diff --git a/fairgraph/openminds/controlled_terms/operating_device.py b/fairgraph/openminds/v4/controlled_terms/operating_device.py similarity index 100% rename from fairgraph/openminds/controlled_terms/operating_device.py rename to fairgraph/openminds/v4/controlled_terms/operating_device.py diff --git a/fairgraph/openminds/controlled_terms/operating_system.py b/fairgraph/openminds/v4/controlled_terms/operating_system.py similarity index 100% rename from fairgraph/openminds/controlled_terms/operating_system.py rename to fairgraph/openminds/v4/controlled_terms/operating_system.py diff --git a/fairgraph/openminds/controlled_terms/optical_stimulus_type.py b/fairgraph/openminds/v4/controlled_terms/optical_stimulus_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/optical_stimulus_type.py rename to fairgraph/openminds/v4/controlled_terms/optical_stimulus_type.py diff --git a/fairgraph/openminds/controlled_terms/organ.py b/fairgraph/openminds/v4/controlled_terms/organ.py similarity index 100% rename from fairgraph/openminds/controlled_terms/organ.py rename to fairgraph/openminds/v4/controlled_terms/organ.py diff --git a/fairgraph/openminds/controlled_terms/organism_substance.py b/fairgraph/openminds/v4/controlled_terms/organism_substance.py similarity index 100% rename from fairgraph/openminds/controlled_terms/organism_substance.py rename to fairgraph/openminds/v4/controlled_terms/organism_substance.py diff --git a/fairgraph/openminds/controlled_terms/organism_system.py b/fairgraph/openminds/v4/controlled_terms/organism_system.py similarity index 100% rename from fairgraph/openminds/controlled_terms/organism_system.py rename to fairgraph/openminds/v4/controlled_terms/organism_system.py diff --git a/fairgraph/openminds/controlled_terms/patch_clamp_variation.py b/fairgraph/openminds/v4/controlled_terms/patch_clamp_variation.py similarity index 100% rename from fairgraph/openminds/controlled_terms/patch_clamp_variation.py rename to fairgraph/openminds/v4/controlled_terms/patch_clamp_variation.py diff --git a/fairgraph/openminds/controlled_terms/preparation_type.py b/fairgraph/openminds/v4/controlled_terms/preparation_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/preparation_type.py rename to fairgraph/openminds/v4/controlled_terms/preparation_type.py diff --git a/fairgraph/openminds/controlled_terms/product_accessibility.py b/fairgraph/openminds/v4/controlled_terms/product_accessibility.py similarity index 100% rename from fairgraph/openminds/controlled_terms/product_accessibility.py rename to fairgraph/openminds/v4/controlled_terms/product_accessibility.py diff --git a/fairgraph/openminds/controlled_terms/programming_language.py b/fairgraph/openminds/v4/controlled_terms/programming_language.py similarity index 100% rename from fairgraph/openminds/controlled_terms/programming_language.py rename to fairgraph/openminds/v4/controlled_terms/programming_language.py diff --git a/fairgraph/openminds/controlled_terms/qualitative_overlap.py b/fairgraph/openminds/v4/controlled_terms/qualitative_overlap.py similarity index 100% rename from fairgraph/openminds/controlled_terms/qualitative_overlap.py rename to fairgraph/openminds/v4/controlled_terms/qualitative_overlap.py diff --git a/fairgraph/openminds/controlled_terms/semantic_data_type.py b/fairgraph/openminds/v4/controlled_terms/semantic_data_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/semantic_data_type.py rename to fairgraph/openminds/v4/controlled_terms/semantic_data_type.py diff --git a/fairgraph/openminds/controlled_terms/service.py b/fairgraph/openminds/v4/controlled_terms/service.py similarity index 98% rename from fairgraph/openminds/controlled_terms/service.py rename to fairgraph/openminds/v4/controlled_terms/service.py index 18655c4b..9180fd13 100644 --- a/fairgraph/openminds/controlled_terms/service.py +++ b/fairgraph/openminds/v4/controlled_terms/service.py @@ -53,7 +53,7 @@ class Service(KGObject, OMService): description="reverse of 'service'", ), ] - existence_query_properties = ("name",) + existence_query_properties = ("short_name",) def __init__( self, diff --git a/fairgraph/openminds/controlled_terms/setup_type.py b/fairgraph/openminds/v4/controlled_terms/setup_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/setup_type.py rename to fairgraph/openminds/v4/controlled_terms/setup_type.py diff --git a/fairgraph/openminds/controlled_terms/software_application_category.py b/fairgraph/openminds/v4/controlled_terms/software_application_category.py similarity index 100% rename from fairgraph/openminds/controlled_terms/software_application_category.py rename to fairgraph/openminds/v4/controlled_terms/software_application_category.py diff --git a/fairgraph/openminds/controlled_terms/software_feature.py b/fairgraph/openminds/v4/controlled_terms/software_feature.py similarity index 100% rename from fairgraph/openminds/controlled_terms/software_feature.py rename to fairgraph/openminds/v4/controlled_terms/software_feature.py diff --git a/fairgraph/openminds/controlled_terms/species.py b/fairgraph/openminds/v4/controlled_terms/species.py similarity index 100% rename from fairgraph/openminds/controlled_terms/species.py rename to fairgraph/openminds/v4/controlled_terms/species.py diff --git a/fairgraph/openminds/controlled_terms/stimulation_approach.py b/fairgraph/openminds/v4/controlled_terms/stimulation_approach.py similarity index 100% rename from fairgraph/openminds/controlled_terms/stimulation_approach.py rename to fairgraph/openminds/v4/controlled_terms/stimulation_approach.py diff --git a/fairgraph/openminds/controlled_terms/stimulation_technique.py b/fairgraph/openminds/v4/controlled_terms/stimulation_technique.py similarity index 100% rename from fairgraph/openminds/controlled_terms/stimulation_technique.py rename to fairgraph/openminds/v4/controlled_terms/stimulation_technique.py diff --git a/fairgraph/openminds/controlled_terms/subcellular_entity.py b/fairgraph/openminds/v4/controlled_terms/subcellular_entity.py similarity index 100% rename from fairgraph/openminds/controlled_terms/subcellular_entity.py rename to fairgraph/openminds/v4/controlled_terms/subcellular_entity.py diff --git a/fairgraph/openminds/controlled_terms/subject_attribute.py b/fairgraph/openminds/v4/controlled_terms/subject_attribute.py similarity index 100% rename from fairgraph/openminds/controlled_terms/subject_attribute.py rename to fairgraph/openminds/v4/controlled_terms/subject_attribute.py diff --git a/fairgraph/openminds/controlled_terms/tactile_stimulus_type.py b/fairgraph/openminds/v4/controlled_terms/tactile_stimulus_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/tactile_stimulus_type.py rename to fairgraph/openminds/v4/controlled_terms/tactile_stimulus_type.py diff --git a/fairgraph/openminds/controlled_terms/technique.py b/fairgraph/openminds/v4/controlled_terms/technique.py similarity index 100% rename from fairgraph/openminds/controlled_terms/technique.py rename to fairgraph/openminds/v4/controlled_terms/technique.py diff --git a/fairgraph/openminds/controlled_terms/term_suggestion.py b/fairgraph/openminds/v4/controlled_terms/term_suggestion.py similarity index 100% rename from fairgraph/openminds/controlled_terms/term_suggestion.py rename to fairgraph/openminds/v4/controlled_terms/term_suggestion.py diff --git a/fairgraph/openminds/controlled_terms/terminology.py b/fairgraph/openminds/v4/controlled_terms/terminology.py similarity index 100% rename from fairgraph/openminds/controlled_terms/terminology.py rename to fairgraph/openminds/v4/controlled_terms/terminology.py diff --git a/fairgraph/openminds/controlled_terms/tissue_sample_attribute.py b/fairgraph/openminds/v4/controlled_terms/tissue_sample_attribute.py similarity index 100% rename from fairgraph/openminds/controlled_terms/tissue_sample_attribute.py rename to fairgraph/openminds/v4/controlled_terms/tissue_sample_attribute.py diff --git a/fairgraph/openminds/controlled_terms/tissue_sample_type.py b/fairgraph/openminds/v4/controlled_terms/tissue_sample_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/tissue_sample_type.py rename to fairgraph/openminds/v4/controlled_terms/tissue_sample_type.py diff --git a/fairgraph/openminds/controlled_terms/type_of_uncertainty.py b/fairgraph/openminds/v4/controlled_terms/type_of_uncertainty.py similarity index 100% rename from fairgraph/openminds/controlled_terms/type_of_uncertainty.py rename to fairgraph/openminds/v4/controlled_terms/type_of_uncertainty.py diff --git a/fairgraph/openminds/controlled_terms/uberon_parcellation.py b/fairgraph/openminds/v4/controlled_terms/uberon_parcellation.py similarity index 100% rename from fairgraph/openminds/controlled_terms/uberon_parcellation.py rename to fairgraph/openminds/v4/controlled_terms/uberon_parcellation.py diff --git a/fairgraph/openminds/controlled_terms/unit_of_measurement.py b/fairgraph/openminds/v4/controlled_terms/unit_of_measurement.py similarity index 100% rename from fairgraph/openminds/controlled_terms/unit_of_measurement.py rename to fairgraph/openminds/v4/controlled_terms/unit_of_measurement.py diff --git a/fairgraph/openminds/controlled_terms/visual_stimulus_type.py b/fairgraph/openminds/v4/controlled_terms/visual_stimulus_type.py similarity index 100% rename from fairgraph/openminds/controlled_terms/visual_stimulus_type.py rename to fairgraph/openminds/v4/controlled_terms/visual_stimulus_type.py diff --git a/fairgraph/openminds/core/__init__.py b/fairgraph/openminds/v4/core/__init__.py similarity index 100% rename from fairgraph/openminds/core/__init__.py rename to fairgraph/openminds/v4/core/__init__.py diff --git a/fairgraph/openminds/core/actors/__init__.py b/fairgraph/openminds/v4/core/actors/__init__.py similarity index 100% rename from fairgraph/openminds/core/actors/__init__.py rename to fairgraph/openminds/v4/core/actors/__init__.py diff --git a/fairgraph/openminds/core/actors/account_information.py b/fairgraph/openminds/v4/core/actors/account_information.py similarity index 100% rename from fairgraph/openminds/core/actors/account_information.py rename to fairgraph/openminds/v4/core/actors/account_information.py diff --git a/fairgraph/openminds/core/actors/affiliation.py b/fairgraph/openminds/v4/core/actors/affiliation.py similarity index 85% rename from fairgraph/openminds/core/actors/affiliation.py rename to fairgraph/openminds/v4/core/actors/affiliation.py index 64ba7294..2a6539fc 100644 --- a/fairgraph/openminds/core/actors/affiliation.py +++ b/fairgraph/openminds/v4/core/actors/affiliation.py @@ -25,6 +25,4 @@ class Affiliation(KGEmbedded, OMAffiliation): def __init__( self, end_date=None, member_of=None, start_date=None, id=None, data=None, space=None, release_status=None ): - return KGEmbedded.__init__( - self, data=data, end_date=end_date, member_of=member_of, start_date=start_date - ) + return KGEmbedded.__init__(self, data=data, end_date=end_date, member_of=member_of, start_date=start_date) diff --git a/fairgraph/openminds/core/actors/consortium.py b/fairgraph/openminds/v4/core/actors/consortium.py similarity index 100% rename from fairgraph/openminds/core/actors/consortium.py rename to fairgraph/openminds/v4/core/actors/consortium.py diff --git a/fairgraph/openminds/core/actors/contact_information.py b/fairgraph/openminds/v4/core/actors/contact_information.py similarity index 100% rename from fairgraph/openminds/core/actors/contact_information.py rename to fairgraph/openminds/v4/core/actors/contact_information.py diff --git a/fairgraph/openminds/core/actors/contribution.py b/fairgraph/openminds/v4/core/actors/contribution.py similarity index 100% rename from fairgraph/openminds/core/actors/contribution.py rename to fairgraph/openminds/v4/core/actors/contribution.py diff --git a/fairgraph/openminds/core/actors/organization.py b/fairgraph/openminds/v4/core/actors/organization.py similarity index 100% rename from fairgraph/openminds/core/actors/organization.py rename to fairgraph/openminds/v4/core/actors/organization.py diff --git a/fairgraph/openminds/core/actors/person.py b/fairgraph/openminds/v4/core/actors/person.py similarity index 100% rename from fairgraph/openminds/core/actors/person.py rename to fairgraph/openminds/v4/core/actors/person.py diff --git a/fairgraph/openminds/core/data/__init__.py b/fairgraph/openminds/v4/core/data/__init__.py similarity index 100% rename from fairgraph/openminds/core/data/__init__.py rename to fairgraph/openminds/v4/core/data/__init__.py diff --git a/fairgraph/openminds/core/data/content_type.py b/fairgraph/openminds/v4/core/data/content_type.py similarity index 100% rename from fairgraph/openminds/core/data/content_type.py rename to fairgraph/openminds/v4/core/data/content_type.py diff --git a/fairgraph/openminds/core/data/content_type_pattern.py b/fairgraph/openminds/v4/core/data/content_type_pattern.py similarity index 100% rename from fairgraph/openminds/core/data/content_type_pattern.py rename to fairgraph/openminds/v4/core/data/content_type_pattern.py diff --git a/fairgraph/openminds/core/data/copyright.py b/fairgraph/openminds/v4/core/data/copyright.py similarity index 100% rename from fairgraph/openminds/core/data/copyright.py rename to fairgraph/openminds/v4/core/data/copyright.py diff --git a/fairgraph/openminds/core/data/file.py b/fairgraph/openminds/v4/core/data/file.py similarity index 100% rename from fairgraph/openminds/core/data/file.py rename to fairgraph/openminds/v4/core/data/file.py diff --git a/fairgraph/openminds/core/data/file_archive.py b/fairgraph/openminds/v4/core/data/file_archive.py similarity index 100% rename from fairgraph/openminds/core/data/file_archive.py rename to fairgraph/openminds/v4/core/data/file_archive.py diff --git a/fairgraph/openminds/core/data/file_bundle.py b/fairgraph/openminds/v4/core/data/file_bundle.py similarity index 100% rename from fairgraph/openminds/core/data/file_bundle.py rename to fairgraph/openminds/v4/core/data/file_bundle.py diff --git a/fairgraph/openminds/core/data/file_path_pattern.py b/fairgraph/openminds/v4/core/data/file_path_pattern.py similarity index 100% rename from fairgraph/openminds/core/data/file_path_pattern.py rename to fairgraph/openminds/v4/core/data/file_path_pattern.py diff --git a/fairgraph/openminds/core/data/file_repository.py b/fairgraph/openminds/v4/core/data/file_repository.py similarity index 100% rename from fairgraph/openminds/core/data/file_repository.py rename to fairgraph/openminds/v4/core/data/file_repository.py diff --git a/fairgraph/openminds/core/data/file_repository_structure.py b/fairgraph/openminds/v4/core/data/file_repository_structure.py similarity index 100% rename from fairgraph/openminds/core/data/file_repository_structure.py rename to fairgraph/openminds/v4/core/data/file_repository_structure.py diff --git a/fairgraph/openminds/core/data/hash.py b/fairgraph/openminds/v4/core/data/hash.py similarity index 100% rename from fairgraph/openminds/core/data/hash.py rename to fairgraph/openminds/v4/core/data/hash.py diff --git a/fairgraph/openminds/core/data/license.py b/fairgraph/openminds/v4/core/data/license.py similarity index 100% rename from fairgraph/openminds/core/data/license.py rename to fairgraph/openminds/v4/core/data/license.py diff --git a/fairgraph/openminds/core/data/measurement.py b/fairgraph/openminds/v4/core/data/measurement.py similarity index 100% rename from fairgraph/openminds/core/data/measurement.py rename to fairgraph/openminds/v4/core/data/measurement.py diff --git a/fairgraph/openminds/core/data/service_link.py b/fairgraph/openminds/v4/core/data/service_link.py similarity index 100% rename from fairgraph/openminds/core/data/service_link.py rename to fairgraph/openminds/v4/core/data/service_link.py diff --git a/fairgraph/openminds/core/digital_identifier/__init__.py b/fairgraph/openminds/v4/core/digital_identifier/__init__.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/__init__.py rename to fairgraph/openminds/v4/core/digital_identifier/__init__.py diff --git a/fairgraph/openminds/core/digital_identifier/doi.py b/fairgraph/openminds/v4/core/digital_identifier/doi.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/doi.py rename to fairgraph/openminds/v4/core/digital_identifier/doi.py diff --git a/fairgraph/openminds/core/digital_identifier/gridid.py b/fairgraph/openminds/v4/core/digital_identifier/gridid.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/gridid.py rename to fairgraph/openminds/v4/core/digital_identifier/gridid.py diff --git a/fairgraph/openminds/core/digital_identifier/handle.py b/fairgraph/openminds/v4/core/digital_identifier/handle.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/handle.py rename to fairgraph/openminds/v4/core/digital_identifier/handle.py diff --git a/fairgraph/openminds/core/digital_identifier/identifiers_dot_org_id.py b/fairgraph/openminds/v4/core/digital_identifier/identifiers_dot_org_id.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/identifiers_dot_org_id.py rename to fairgraph/openminds/v4/core/digital_identifier/identifiers_dot_org_id.py diff --git a/fairgraph/openminds/core/digital_identifier/isbn.py b/fairgraph/openminds/v4/core/digital_identifier/isbn.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/isbn.py rename to fairgraph/openminds/v4/core/digital_identifier/isbn.py diff --git a/fairgraph/openminds/core/digital_identifier/issn.py b/fairgraph/openminds/v4/core/digital_identifier/issn.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/issn.py rename to fairgraph/openminds/v4/core/digital_identifier/issn.py diff --git a/fairgraph/openminds/core/digital_identifier/orcid.py b/fairgraph/openminds/v4/core/digital_identifier/orcid.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/orcid.py rename to fairgraph/openminds/v4/core/digital_identifier/orcid.py diff --git a/fairgraph/openminds/core/digital_identifier/rorid.py b/fairgraph/openminds/v4/core/digital_identifier/rorid.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/rorid.py rename to fairgraph/openminds/v4/core/digital_identifier/rorid.py diff --git a/fairgraph/openminds/core/digital_identifier/rrid.py b/fairgraph/openminds/v4/core/digital_identifier/rrid.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/rrid.py rename to fairgraph/openminds/v4/core/digital_identifier/rrid.py diff --git a/fairgraph/openminds/core/digital_identifier/stock_number.py b/fairgraph/openminds/v4/core/digital_identifier/stock_number.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/stock_number.py rename to fairgraph/openminds/v4/core/digital_identifier/stock_number.py diff --git a/fairgraph/openminds/core/digital_identifier/swhid.py b/fairgraph/openminds/v4/core/digital_identifier/swhid.py similarity index 100% rename from fairgraph/openminds/core/digital_identifier/swhid.py rename to fairgraph/openminds/v4/core/digital_identifier/swhid.py diff --git a/fairgraph/openminds/core/miscellaneous/__init__.py b/fairgraph/openminds/v4/core/miscellaneous/__init__.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/__init__.py rename to fairgraph/openminds/v4/core/miscellaneous/__init__.py diff --git a/fairgraph/openminds/core/miscellaneous/comment.py b/fairgraph/openminds/v4/core/miscellaneous/comment.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/comment.py rename to fairgraph/openminds/v4/core/miscellaneous/comment.py diff --git a/fairgraph/openminds/core/miscellaneous/funding.py b/fairgraph/openminds/v4/core/miscellaneous/funding.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/funding.py rename to fairgraph/openminds/v4/core/miscellaneous/funding.py diff --git a/fairgraph/openminds/core/miscellaneous/quantitative_value.py b/fairgraph/openminds/v4/core/miscellaneous/quantitative_value.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/quantitative_value.py rename to fairgraph/openminds/v4/core/miscellaneous/quantitative_value.py diff --git a/fairgraph/openminds/core/miscellaneous/quantitative_value_array.py b/fairgraph/openminds/v4/core/miscellaneous/quantitative_value_array.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/quantitative_value_array.py rename to fairgraph/openminds/v4/core/miscellaneous/quantitative_value_array.py diff --git a/fairgraph/openminds/core/miscellaneous/quantitative_value_range.py b/fairgraph/openminds/v4/core/miscellaneous/quantitative_value_range.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/quantitative_value_range.py rename to fairgraph/openminds/v4/core/miscellaneous/quantitative_value_range.py diff --git a/fairgraph/openminds/core/miscellaneous/research_product_group.py b/fairgraph/openminds/v4/core/miscellaneous/research_product_group.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/research_product_group.py rename to fairgraph/openminds/v4/core/miscellaneous/research_product_group.py diff --git a/fairgraph/openminds/core/miscellaneous/web_resource.py b/fairgraph/openminds/v4/core/miscellaneous/web_resource.py similarity index 100% rename from fairgraph/openminds/core/miscellaneous/web_resource.py rename to fairgraph/openminds/v4/core/miscellaneous/web_resource.py diff --git a/fairgraph/openminds/core/products/__init__.py b/fairgraph/openminds/v4/core/products/__init__.py similarity index 100% rename from fairgraph/openminds/core/products/__init__.py rename to fairgraph/openminds/v4/core/products/__init__.py diff --git a/fairgraph/openminds/core/products/dataset.py b/fairgraph/openminds/v4/core/products/dataset.py similarity index 100% rename from fairgraph/openminds/core/products/dataset.py rename to fairgraph/openminds/v4/core/products/dataset.py diff --git a/fairgraph/openminds/core/products/dataset_version.py b/fairgraph/openminds/v4/core/products/dataset_version.py similarity index 99% rename from fairgraph/openminds/core/products/dataset_version.py rename to fairgraph/openminds/v4/core/products/dataset_version.py index 92103fbf..ec138ba6 100644 --- a/fairgraph/openminds/core/products/dataset_version.py +++ b/fairgraph/openminds/v4/core/products/dataset_version.py @@ -10,7 +10,7 @@ from urllib.request import urlretrieve from pathlib import Path -from ....utility import accepted_terms_of_use +from fairgraph.utility import accepted_terms_of_use from datetime import date from openminds import IRI diff --git a/fairgraph/openminds/core/products/meta_data_model.py b/fairgraph/openminds/v4/core/products/meta_data_model.py similarity index 100% rename from fairgraph/openminds/core/products/meta_data_model.py rename to fairgraph/openminds/v4/core/products/meta_data_model.py diff --git a/fairgraph/openminds/core/products/meta_data_model_version.py b/fairgraph/openminds/v4/core/products/meta_data_model_version.py similarity index 100% rename from fairgraph/openminds/core/products/meta_data_model_version.py rename to fairgraph/openminds/v4/core/products/meta_data_model_version.py diff --git a/fairgraph/openminds/core/products/model.py b/fairgraph/openminds/v4/core/products/model.py similarity index 100% rename from fairgraph/openminds/core/products/model.py rename to fairgraph/openminds/v4/core/products/model.py diff --git a/fairgraph/openminds/core/products/model_version.py b/fairgraph/openminds/v4/core/products/model_version.py similarity index 99% rename from fairgraph/openminds/core/products/model_version.py rename to fairgraph/openminds/v4/core/products/model_version.py index d97b7788..56773c3d 100644 --- a/fairgraph/openminds/core/products/model_version.py +++ b/fairgraph/openminds/v4/core/products/model_version.py @@ -10,7 +10,7 @@ from urllib.request import urlretrieve from pathlib import Path -from ....utility import accepted_terms_of_use +from fairgraph.utility import accepted_terms_of_use from datetime import date from openminds import IRI diff --git a/fairgraph/openminds/core/products/project.py b/fairgraph/openminds/v4/core/products/project.py similarity index 100% rename from fairgraph/openminds/core/products/project.py rename to fairgraph/openminds/v4/core/products/project.py diff --git a/fairgraph/openminds/core/products/setup.py b/fairgraph/openminds/v4/core/products/setup.py similarity index 100% rename from fairgraph/openminds/core/products/setup.py rename to fairgraph/openminds/v4/core/products/setup.py diff --git a/fairgraph/openminds/core/products/software.py b/fairgraph/openminds/v4/core/products/software.py similarity index 100% rename from fairgraph/openminds/core/products/software.py rename to fairgraph/openminds/v4/core/products/software.py diff --git a/fairgraph/openminds/core/products/software_version.py b/fairgraph/openminds/v4/core/products/software_version.py similarity index 100% rename from fairgraph/openminds/core/products/software_version.py rename to fairgraph/openminds/v4/core/products/software_version.py diff --git a/fairgraph/openminds/core/products/web_service.py b/fairgraph/openminds/v4/core/products/web_service.py similarity index 100% rename from fairgraph/openminds/core/products/web_service.py rename to fairgraph/openminds/v4/core/products/web_service.py diff --git a/fairgraph/openminds/core/products/web_service_version.py b/fairgraph/openminds/v4/core/products/web_service_version.py similarity index 100% rename from fairgraph/openminds/core/products/web_service_version.py rename to fairgraph/openminds/v4/core/products/web_service_version.py diff --git a/fairgraph/openminds/core/research/__init__.py b/fairgraph/openminds/v4/core/research/__init__.py similarity index 100% rename from fairgraph/openminds/core/research/__init__.py rename to fairgraph/openminds/v4/core/research/__init__.py diff --git a/fairgraph/openminds/core/research/behavioral_protocol.py b/fairgraph/openminds/v4/core/research/behavioral_protocol.py similarity index 100% rename from fairgraph/openminds/core/research/behavioral_protocol.py rename to fairgraph/openminds/v4/core/research/behavioral_protocol.py diff --git a/fairgraph/openminds/core/research/configuration.py b/fairgraph/openminds/v4/core/research/configuration.py similarity index 100% rename from fairgraph/openminds/core/research/configuration.py rename to fairgraph/openminds/v4/core/research/configuration.py diff --git a/fairgraph/openminds/core/research/custom_property_set.py b/fairgraph/openminds/v4/core/research/custom_property_set.py similarity index 100% rename from fairgraph/openminds/core/research/custom_property_set.py rename to fairgraph/openminds/v4/core/research/custom_property_set.py diff --git a/fairgraph/openminds/core/research/numerical_property.py b/fairgraph/openminds/v4/core/research/numerical_property.py similarity index 100% rename from fairgraph/openminds/core/research/numerical_property.py rename to fairgraph/openminds/v4/core/research/numerical_property.py diff --git a/fairgraph/openminds/core/research/property_value_list.py b/fairgraph/openminds/v4/core/research/property_value_list.py similarity index 100% rename from fairgraph/openminds/core/research/property_value_list.py rename to fairgraph/openminds/v4/core/research/property_value_list.py diff --git a/fairgraph/openminds/core/research/protocol.py b/fairgraph/openminds/v4/core/research/protocol.py similarity index 100% rename from fairgraph/openminds/core/research/protocol.py rename to fairgraph/openminds/v4/core/research/protocol.py diff --git a/fairgraph/openminds/core/research/protocol_execution.py b/fairgraph/openminds/v4/core/research/protocol_execution.py similarity index 100% rename from fairgraph/openminds/core/research/protocol_execution.py rename to fairgraph/openminds/v4/core/research/protocol_execution.py diff --git a/fairgraph/openminds/core/research/strain.py b/fairgraph/openminds/v4/core/research/strain.py similarity index 100% rename from fairgraph/openminds/core/research/strain.py rename to fairgraph/openminds/v4/core/research/strain.py diff --git a/fairgraph/openminds/core/research/string_property.py b/fairgraph/openminds/v4/core/research/string_property.py similarity index 100% rename from fairgraph/openminds/core/research/string_property.py rename to fairgraph/openminds/v4/core/research/string_property.py diff --git a/fairgraph/openminds/core/research/subject.py b/fairgraph/openminds/v4/core/research/subject.py similarity index 100% rename from fairgraph/openminds/core/research/subject.py rename to fairgraph/openminds/v4/core/research/subject.py diff --git a/fairgraph/openminds/core/research/subject_group.py b/fairgraph/openminds/v4/core/research/subject_group.py similarity index 100% rename from fairgraph/openminds/core/research/subject_group.py rename to fairgraph/openminds/v4/core/research/subject_group.py diff --git a/fairgraph/openminds/core/research/subject_group_state.py b/fairgraph/openminds/v4/core/research/subject_group_state.py similarity index 100% rename from fairgraph/openminds/core/research/subject_group_state.py rename to fairgraph/openminds/v4/core/research/subject_group_state.py diff --git a/fairgraph/openminds/core/research/subject_state.py b/fairgraph/openminds/v4/core/research/subject_state.py similarity index 100% rename from fairgraph/openminds/core/research/subject_state.py rename to fairgraph/openminds/v4/core/research/subject_state.py diff --git a/fairgraph/openminds/core/research/tissue_sample.py b/fairgraph/openminds/v4/core/research/tissue_sample.py similarity index 100% rename from fairgraph/openminds/core/research/tissue_sample.py rename to fairgraph/openminds/v4/core/research/tissue_sample.py diff --git a/fairgraph/openminds/core/research/tissue_sample_collection.py b/fairgraph/openminds/v4/core/research/tissue_sample_collection.py similarity index 100% rename from fairgraph/openminds/core/research/tissue_sample_collection.py rename to fairgraph/openminds/v4/core/research/tissue_sample_collection.py diff --git a/fairgraph/openminds/core/research/tissue_sample_collection_state.py b/fairgraph/openminds/v4/core/research/tissue_sample_collection_state.py similarity index 100% rename from fairgraph/openminds/core/research/tissue_sample_collection_state.py rename to fairgraph/openminds/v4/core/research/tissue_sample_collection_state.py diff --git a/fairgraph/openminds/core/research/tissue_sample_state.py b/fairgraph/openminds/v4/core/research/tissue_sample_state.py similarity index 100% rename from fairgraph/openminds/core/research/tissue_sample_state.py rename to fairgraph/openminds/v4/core/research/tissue_sample_state.py diff --git a/fairgraph/openminds/ephys/__init__.py b/fairgraph/openminds/v4/ephys/__init__.py similarity index 100% rename from fairgraph/openminds/ephys/__init__.py rename to fairgraph/openminds/v4/ephys/__init__.py diff --git a/fairgraph/openminds/ephys/activity/__init__.py b/fairgraph/openminds/v4/ephys/activity/__init__.py similarity index 100% rename from fairgraph/openminds/ephys/activity/__init__.py rename to fairgraph/openminds/v4/ephys/activity/__init__.py diff --git a/fairgraph/openminds/ephys/activity/cell_patching.py b/fairgraph/openminds/v4/ephys/activity/cell_patching.py similarity index 100% rename from fairgraph/openminds/ephys/activity/cell_patching.py rename to fairgraph/openminds/v4/ephys/activity/cell_patching.py diff --git a/fairgraph/openminds/ephys/activity/electrode_placement.py b/fairgraph/openminds/v4/ephys/activity/electrode_placement.py similarity index 100% rename from fairgraph/openminds/ephys/activity/electrode_placement.py rename to fairgraph/openminds/v4/ephys/activity/electrode_placement.py diff --git a/fairgraph/openminds/ephys/activity/recording_activity.py b/fairgraph/openminds/v4/ephys/activity/recording_activity.py similarity index 100% rename from fairgraph/openminds/ephys/activity/recording_activity.py rename to fairgraph/openminds/v4/ephys/activity/recording_activity.py diff --git a/fairgraph/openminds/ephys/device/__init__.py b/fairgraph/openminds/v4/ephys/device/__init__.py similarity index 100% rename from fairgraph/openminds/ephys/device/__init__.py rename to fairgraph/openminds/v4/ephys/device/__init__.py diff --git a/fairgraph/openminds/ephys/device/electrode.py b/fairgraph/openminds/v4/ephys/device/electrode.py similarity index 100% rename from fairgraph/openminds/ephys/device/electrode.py rename to fairgraph/openminds/v4/ephys/device/electrode.py diff --git a/fairgraph/openminds/ephys/device/electrode_array.py b/fairgraph/openminds/v4/ephys/device/electrode_array.py similarity index 100% rename from fairgraph/openminds/ephys/device/electrode_array.py rename to fairgraph/openminds/v4/ephys/device/electrode_array.py diff --git a/fairgraph/openminds/ephys/device/electrode_array_usage.py b/fairgraph/openminds/v4/ephys/device/electrode_array_usage.py similarity index 100% rename from fairgraph/openminds/ephys/device/electrode_array_usage.py rename to fairgraph/openminds/v4/ephys/device/electrode_array_usage.py diff --git a/fairgraph/openminds/ephys/device/electrode_usage.py b/fairgraph/openminds/v4/ephys/device/electrode_usage.py similarity index 100% rename from fairgraph/openminds/ephys/device/electrode_usage.py rename to fairgraph/openminds/v4/ephys/device/electrode_usage.py diff --git a/fairgraph/openminds/ephys/device/pipette.py b/fairgraph/openminds/v4/ephys/device/pipette.py similarity index 100% rename from fairgraph/openminds/ephys/device/pipette.py rename to fairgraph/openminds/v4/ephys/device/pipette.py diff --git a/fairgraph/openminds/ephys/device/pipette_usage.py b/fairgraph/openminds/v4/ephys/device/pipette_usage.py similarity index 100% rename from fairgraph/openminds/ephys/device/pipette_usage.py rename to fairgraph/openminds/v4/ephys/device/pipette_usage.py diff --git a/fairgraph/openminds/ephys/entity/__init__.py b/fairgraph/openminds/v4/ephys/entity/__init__.py similarity index 100% rename from fairgraph/openminds/ephys/entity/__init__.py rename to fairgraph/openminds/v4/ephys/entity/__init__.py diff --git a/fairgraph/openminds/ephys/entity/channel.py b/fairgraph/openminds/v4/ephys/entity/channel.py similarity index 100% rename from fairgraph/openminds/ephys/entity/channel.py rename to fairgraph/openminds/v4/ephys/entity/channel.py diff --git a/fairgraph/openminds/ephys/entity/recording.py b/fairgraph/openminds/v4/ephys/entity/recording.py similarity index 100% rename from fairgraph/openminds/ephys/entity/recording.py rename to fairgraph/openminds/v4/ephys/entity/recording.py diff --git a/fairgraph/openminds/publications/__init__.py b/fairgraph/openminds/v4/publications/__init__.py similarity index 100% rename from fairgraph/openminds/publications/__init__.py rename to fairgraph/openminds/v4/publications/__init__.py diff --git a/fairgraph/openminds/publications/book.py b/fairgraph/openminds/v4/publications/book.py similarity index 100% rename from fairgraph/openminds/publications/book.py rename to fairgraph/openminds/v4/publications/book.py diff --git a/fairgraph/openminds/publications/chapter.py b/fairgraph/openminds/v4/publications/chapter.py similarity index 100% rename from fairgraph/openminds/publications/chapter.py rename to fairgraph/openminds/v4/publications/chapter.py diff --git a/fairgraph/openminds/publications/learning_resource.py b/fairgraph/openminds/v4/publications/learning_resource.py similarity index 100% rename from fairgraph/openminds/publications/learning_resource.py rename to fairgraph/openminds/v4/publications/learning_resource.py diff --git a/fairgraph/openminds/publications/live_paper.py b/fairgraph/openminds/v4/publications/live_paper.py similarity index 100% rename from fairgraph/openminds/publications/live_paper.py rename to fairgraph/openminds/v4/publications/live_paper.py diff --git a/fairgraph/openminds/publications/live_paper_resource_item.py b/fairgraph/openminds/v4/publications/live_paper_resource_item.py similarity index 100% rename from fairgraph/openminds/publications/live_paper_resource_item.py rename to fairgraph/openminds/v4/publications/live_paper_resource_item.py diff --git a/fairgraph/openminds/publications/live_paper_section.py b/fairgraph/openminds/v4/publications/live_paper_section.py similarity index 100% rename from fairgraph/openminds/publications/live_paper_section.py rename to fairgraph/openminds/v4/publications/live_paper_section.py diff --git a/fairgraph/openminds/publications/live_paper_version.py b/fairgraph/openminds/v4/publications/live_paper_version.py similarity index 100% rename from fairgraph/openminds/publications/live_paper_version.py rename to fairgraph/openminds/v4/publications/live_paper_version.py diff --git a/fairgraph/openminds/publications/periodical.py b/fairgraph/openminds/v4/publications/periodical.py similarity index 100% rename from fairgraph/openminds/publications/periodical.py rename to fairgraph/openminds/v4/publications/periodical.py diff --git a/fairgraph/openminds/publications/publication_issue.py b/fairgraph/openminds/v4/publications/publication_issue.py similarity index 100% rename from fairgraph/openminds/publications/publication_issue.py rename to fairgraph/openminds/v4/publications/publication_issue.py diff --git a/fairgraph/openminds/publications/publication_volume.py b/fairgraph/openminds/v4/publications/publication_volume.py similarity index 100% rename from fairgraph/openminds/publications/publication_volume.py rename to fairgraph/openminds/v4/publications/publication_volume.py diff --git a/fairgraph/openminds/publications/scholarly_article.py b/fairgraph/openminds/v4/publications/scholarly_article.py similarity index 100% rename from fairgraph/openminds/publications/scholarly_article.py rename to fairgraph/openminds/v4/publications/scholarly_article.py diff --git a/fairgraph/openminds/sands/__init__.py b/fairgraph/openminds/v4/sands/__init__.py similarity index 100% rename from fairgraph/openminds/sands/__init__.py rename to fairgraph/openminds/v4/sands/__init__.py diff --git a/fairgraph/openminds/sands/atlas/__init__.py b/fairgraph/openminds/v4/sands/atlas/__init__.py similarity index 100% rename from fairgraph/openminds/sands/atlas/__init__.py rename to fairgraph/openminds/v4/sands/atlas/__init__.py diff --git a/fairgraph/openminds/sands/atlas/atlas_annotation.py b/fairgraph/openminds/v4/sands/atlas/atlas_annotation.py similarity index 100% rename from fairgraph/openminds/sands/atlas/atlas_annotation.py rename to fairgraph/openminds/v4/sands/atlas/atlas_annotation.py diff --git a/fairgraph/openminds/sands/atlas/brain_atlas.py b/fairgraph/openminds/v4/sands/atlas/brain_atlas.py similarity index 100% rename from fairgraph/openminds/sands/atlas/brain_atlas.py rename to fairgraph/openminds/v4/sands/atlas/brain_atlas.py diff --git a/fairgraph/openminds/sands/atlas/brain_atlas_version.py b/fairgraph/openminds/v4/sands/atlas/brain_atlas_version.py similarity index 99% rename from fairgraph/openminds/sands/atlas/brain_atlas_version.py rename to fairgraph/openminds/v4/sands/atlas/brain_atlas_version.py index f94b893d..04b43015 100644 --- a/fairgraph/openminds/sands/atlas/brain_atlas_version.py +++ b/fairgraph/openminds/v4/sands/atlas/brain_atlas_version.py @@ -10,7 +10,7 @@ from urllib.request import urlretrieve from pathlib import Path -from ....utility import accepted_terms_of_use +from fairgraph.utility import accepted_terms_of_use from datetime import date from openminds import IRI diff --git a/fairgraph/openminds/sands/atlas/common_coordinate_space.py b/fairgraph/openminds/v4/sands/atlas/common_coordinate_space.py similarity index 100% rename from fairgraph/openminds/sands/atlas/common_coordinate_space.py rename to fairgraph/openminds/v4/sands/atlas/common_coordinate_space.py diff --git a/fairgraph/openminds/sands/atlas/common_coordinate_space_version.py b/fairgraph/openminds/v4/sands/atlas/common_coordinate_space_version.py similarity index 99% rename from fairgraph/openminds/sands/atlas/common_coordinate_space_version.py rename to fairgraph/openminds/v4/sands/atlas/common_coordinate_space_version.py index b0f457e0..08779fd1 100644 --- a/fairgraph/openminds/sands/atlas/common_coordinate_space_version.py +++ b/fairgraph/openminds/v4/sands/atlas/common_coordinate_space_version.py @@ -10,7 +10,7 @@ from urllib.request import urlretrieve from pathlib import Path -from ....utility import accepted_terms_of_use +from fairgraph.utility import accepted_terms_of_use from datetime import date from openminds import IRI diff --git a/fairgraph/openminds/sands/atlas/parcellation_entity.py b/fairgraph/openminds/v4/sands/atlas/parcellation_entity.py similarity index 100% rename from fairgraph/openminds/sands/atlas/parcellation_entity.py rename to fairgraph/openminds/v4/sands/atlas/parcellation_entity.py diff --git a/fairgraph/openminds/sands/atlas/parcellation_entity_version.py b/fairgraph/openminds/v4/sands/atlas/parcellation_entity_version.py similarity index 100% rename from fairgraph/openminds/sands/atlas/parcellation_entity_version.py rename to fairgraph/openminds/v4/sands/atlas/parcellation_entity_version.py diff --git a/fairgraph/openminds/sands/atlas/parcellation_terminology.py b/fairgraph/openminds/v4/sands/atlas/parcellation_terminology.py similarity index 100% rename from fairgraph/openminds/sands/atlas/parcellation_terminology.py rename to fairgraph/openminds/v4/sands/atlas/parcellation_terminology.py diff --git a/fairgraph/openminds/sands/atlas/parcellation_terminology_version.py b/fairgraph/openminds/v4/sands/atlas/parcellation_terminology_version.py similarity index 100% rename from fairgraph/openminds/sands/atlas/parcellation_terminology_version.py rename to fairgraph/openminds/v4/sands/atlas/parcellation_terminology_version.py diff --git a/fairgraph/openminds/sands/mathematical_shapes/__init__.py b/fairgraph/openminds/v4/sands/mathematical_shapes/__init__.py similarity index 100% rename from fairgraph/openminds/sands/mathematical_shapes/__init__.py rename to fairgraph/openminds/v4/sands/mathematical_shapes/__init__.py diff --git a/fairgraph/openminds/sands/mathematical_shapes/circle.py b/fairgraph/openminds/v4/sands/mathematical_shapes/circle.py similarity index 100% rename from fairgraph/openminds/sands/mathematical_shapes/circle.py rename to fairgraph/openminds/v4/sands/mathematical_shapes/circle.py diff --git a/fairgraph/openminds/sands/mathematical_shapes/ellipse.py b/fairgraph/openminds/v4/sands/mathematical_shapes/ellipse.py similarity index 82% rename from fairgraph/openminds/sands/mathematical_shapes/ellipse.py rename to fairgraph/openminds/v4/sands/mathematical_shapes/ellipse.py index b8855764..82aaa3ef 100644 --- a/fairgraph/openminds/sands/mathematical_shapes/ellipse.py +++ b/fairgraph/openminds/v4/sands/mathematical_shapes/ellipse.py @@ -22,6 +22,4 @@ class Ellipse(KGEmbedded, OMEllipse): def __init__( self, semi_major_axis=None, semi_minor_axis=None, id=None, data=None, space=None, release_status=None ): - return KGEmbedded.__init__( - self, data=data, semi_major_axis=semi_major_axis, semi_minor_axis=semi_minor_axis - ) + return KGEmbedded.__init__(self, data=data, semi_major_axis=semi_major_axis, semi_minor_axis=semi_minor_axis) diff --git a/fairgraph/openminds/sands/mathematical_shapes/rectangle.py b/fairgraph/openminds/v4/sands/mathematical_shapes/rectangle.py similarity index 100% rename from fairgraph/openminds/sands/mathematical_shapes/rectangle.py rename to fairgraph/openminds/v4/sands/mathematical_shapes/rectangle.py diff --git a/fairgraph/openminds/sands/miscellaneous/__init__.py b/fairgraph/openminds/v4/sands/miscellaneous/__init__.py similarity index 100% rename from fairgraph/openminds/sands/miscellaneous/__init__.py rename to fairgraph/openminds/v4/sands/miscellaneous/__init__.py diff --git a/fairgraph/openminds/sands/miscellaneous/anatomical_target_position.py b/fairgraph/openminds/v4/sands/miscellaneous/anatomical_target_position.py similarity index 100% rename from fairgraph/openminds/sands/miscellaneous/anatomical_target_position.py rename to fairgraph/openminds/v4/sands/miscellaneous/anatomical_target_position.py diff --git a/fairgraph/openminds/sands/miscellaneous/coordinate_point.py b/fairgraph/openminds/v4/sands/miscellaneous/coordinate_point.py similarity index 100% rename from fairgraph/openminds/sands/miscellaneous/coordinate_point.py rename to fairgraph/openminds/v4/sands/miscellaneous/coordinate_point.py diff --git a/fairgraph/openminds/sands/miscellaneous/qualitative_relation_assessment.py b/fairgraph/openminds/v4/sands/miscellaneous/qualitative_relation_assessment.py similarity index 100% rename from fairgraph/openminds/sands/miscellaneous/qualitative_relation_assessment.py rename to fairgraph/openminds/v4/sands/miscellaneous/qualitative_relation_assessment.py diff --git a/fairgraph/openminds/sands/miscellaneous/quantitative_relation_assessment.py b/fairgraph/openminds/v4/sands/miscellaneous/quantitative_relation_assessment.py similarity index 100% rename from fairgraph/openminds/sands/miscellaneous/quantitative_relation_assessment.py rename to fairgraph/openminds/v4/sands/miscellaneous/quantitative_relation_assessment.py diff --git a/fairgraph/openminds/sands/miscellaneous/single_color.py b/fairgraph/openminds/v4/sands/miscellaneous/single_color.py similarity index 100% rename from fairgraph/openminds/sands/miscellaneous/single_color.py rename to fairgraph/openminds/v4/sands/miscellaneous/single_color.py diff --git a/fairgraph/openminds/sands/miscellaneous/viewer_specification.py b/fairgraph/openminds/v4/sands/miscellaneous/viewer_specification.py similarity index 100% rename from fairgraph/openminds/sands/miscellaneous/viewer_specification.py rename to fairgraph/openminds/v4/sands/miscellaneous/viewer_specification.py diff --git a/fairgraph/openminds/sands/non_atlas/__init__.py b/fairgraph/openminds/v4/sands/non_atlas/__init__.py similarity index 100% rename from fairgraph/openminds/sands/non_atlas/__init__.py rename to fairgraph/openminds/v4/sands/non_atlas/__init__.py diff --git a/fairgraph/openminds/sands/non_atlas/custom_anatomical_entity.py b/fairgraph/openminds/v4/sands/non_atlas/custom_anatomical_entity.py similarity index 100% rename from fairgraph/openminds/sands/non_atlas/custom_anatomical_entity.py rename to fairgraph/openminds/v4/sands/non_atlas/custom_anatomical_entity.py diff --git a/fairgraph/openminds/sands/non_atlas/custom_annotation.py b/fairgraph/openminds/v4/sands/non_atlas/custom_annotation.py similarity index 100% rename from fairgraph/openminds/sands/non_atlas/custom_annotation.py rename to fairgraph/openminds/v4/sands/non_atlas/custom_annotation.py diff --git a/fairgraph/openminds/sands/non_atlas/custom_coordinate_space.py b/fairgraph/openminds/v4/sands/non_atlas/custom_coordinate_space.py similarity index 100% rename from fairgraph/openminds/sands/non_atlas/custom_coordinate_space.py rename to fairgraph/openminds/v4/sands/non_atlas/custom_coordinate_space.py diff --git a/fairgraph/openminds/specimen_prep/__init__.py b/fairgraph/openminds/v4/specimen_prep/__init__.py similarity index 100% rename from fairgraph/openminds/specimen_prep/__init__.py rename to fairgraph/openminds/v4/specimen_prep/__init__.py diff --git a/fairgraph/openminds/specimen_prep/activity/__init__.py b/fairgraph/openminds/v4/specimen_prep/activity/__init__.py similarity index 100% rename from fairgraph/openminds/specimen_prep/activity/__init__.py rename to fairgraph/openminds/v4/specimen_prep/activity/__init__.py diff --git a/fairgraph/openminds/specimen_prep/activity/cranial_window_preparation.py b/fairgraph/openminds/v4/specimen_prep/activity/cranial_window_preparation.py similarity index 100% rename from fairgraph/openminds/specimen_prep/activity/cranial_window_preparation.py rename to fairgraph/openminds/v4/specimen_prep/activity/cranial_window_preparation.py diff --git a/fairgraph/openminds/specimen_prep/activity/tissue_culture_preparation.py b/fairgraph/openminds/v4/specimen_prep/activity/tissue_culture_preparation.py similarity index 100% rename from fairgraph/openminds/specimen_prep/activity/tissue_culture_preparation.py rename to fairgraph/openminds/v4/specimen_prep/activity/tissue_culture_preparation.py diff --git a/fairgraph/openminds/specimen_prep/activity/tissue_sample_slicing.py b/fairgraph/openminds/v4/specimen_prep/activity/tissue_sample_slicing.py similarity index 100% rename from fairgraph/openminds/specimen_prep/activity/tissue_sample_slicing.py rename to fairgraph/openminds/v4/specimen_prep/activity/tissue_sample_slicing.py diff --git a/fairgraph/openminds/specimen_prep/device/__init__.py b/fairgraph/openminds/v4/specimen_prep/device/__init__.py similarity index 100% rename from fairgraph/openminds/specimen_prep/device/__init__.py rename to fairgraph/openminds/v4/specimen_prep/device/__init__.py diff --git a/fairgraph/openminds/specimen_prep/device/slicing_device.py b/fairgraph/openminds/v4/specimen_prep/device/slicing_device.py similarity index 100% rename from fairgraph/openminds/specimen_prep/device/slicing_device.py rename to fairgraph/openminds/v4/specimen_prep/device/slicing_device.py diff --git a/fairgraph/openminds/specimen_prep/device/slicing_device_usage.py b/fairgraph/openminds/v4/specimen_prep/device/slicing_device_usage.py similarity index 100% rename from fairgraph/openminds/specimen_prep/device/slicing_device_usage.py rename to fairgraph/openminds/v4/specimen_prep/device/slicing_device_usage.py diff --git a/fairgraph/openminds/stimulation/__init__.py b/fairgraph/openminds/v4/stimulation/__init__.py similarity index 100% rename from fairgraph/openminds/stimulation/__init__.py rename to fairgraph/openminds/v4/stimulation/__init__.py diff --git a/fairgraph/openminds/stimulation/activity/__init__.py b/fairgraph/openminds/v4/stimulation/activity/__init__.py similarity index 100% rename from fairgraph/openminds/stimulation/activity/__init__.py rename to fairgraph/openminds/v4/stimulation/activity/__init__.py diff --git a/fairgraph/openminds/stimulation/activity/stimulation_activity.py b/fairgraph/openminds/v4/stimulation/activity/stimulation_activity.py similarity index 100% rename from fairgraph/openminds/stimulation/activity/stimulation_activity.py rename to fairgraph/openminds/v4/stimulation/activity/stimulation_activity.py diff --git a/fairgraph/openminds/stimulation/stimulus/__init__.py b/fairgraph/openminds/v4/stimulation/stimulus/__init__.py similarity index 100% rename from fairgraph/openminds/stimulation/stimulus/__init__.py rename to fairgraph/openminds/v4/stimulation/stimulus/__init__.py diff --git a/fairgraph/openminds/stimulation/stimulus/ephys_stimulus.py b/fairgraph/openminds/v4/stimulation/stimulus/ephys_stimulus.py similarity index 100% rename from fairgraph/openminds/stimulation/stimulus/ephys_stimulus.py rename to fairgraph/openminds/v4/stimulation/stimulus/ephys_stimulus.py diff --git a/fairgraph/openminds/v5/__init__.py b/fairgraph/openminds/v5/__init__.py new file mode 100644 index 00000000..7243cc09 --- /dev/null +++ b/fairgraph/openminds/v5/__init__.py @@ -0,0 +1,12 @@ +from . import ( + chemicals, + computation, + controlled_terms, + core, + ephys, + neuroimaging, + publications, + sands, + specimen_prep, + stimulation, +) diff --git a/fairgraph/openminds/v5/chemicals/__init__.py b/fairgraph/openminds/v5/chemicals/__init__.py new file mode 100644 index 00000000..f7da55e2 --- /dev/null +++ b/fairgraph/openminds/v5/chemicals/__init__.py @@ -0,0 +1,33 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .amount_of_chemical import AmountOfChemical +from .chemical_mixture import ChemicalMixture +from .chemical_substance import ChemicalSubstance +from .product_source import ProductSource + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/chemicals/amount_of_chemical.py b/fairgraph/openminds/v5/chemicals/amount_of_chemical.py new file mode 100644 index 00000000..ef962ded --- /dev/null +++ b/fairgraph/openminds/v5/chemicals/amount_of_chemical.py @@ -0,0 +1,23 @@ +""" +Structured information about the amount of a given chemical that was used. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.chemicals import AmountOfChemical as OMAmountOfChemical +from fairgraph import KGEmbedded + + +class AmountOfChemical(KGEmbedded, OMAmountOfChemical): + """ + Structured information about the amount of a given chemical that was used. + """ + + type_ = "https://openminds.om-i.org/types/AmountOfChemical" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("chemical_product", "amount") + + def __init__(self, amount=None, chemical_product=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, amount=amount, chemical_product=chemical_product) diff --git a/fairgraph/openminds/v5/chemicals/chemical_mixture.py b/fairgraph/openminds/v5/chemicals/chemical_mixture.py new file mode 100644 index 00000000..11da07c4 --- /dev/null +++ b/fairgraph/openminds/v5/chemicals/chemical_mixture.py @@ -0,0 +1,72 @@ +""" +Structured information about a mixture of chemical substances. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.chemicals import ChemicalMixture as OMChemicalMixture +from fairgraph import KGObject + + +class ChemicalMixture(KGObject, OMChemicalMixture): + """ + Structured information about a mixture of chemical substances. + """ + + type_ = "https://openminds.om-i.org/types/ChemicalMixture" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "composes", + ["openminds.v5.ephys.Electrode", "openminds.v5.ephys.ElectrodeArray", "openminds.v5.ephys.Pipette"], + ["insulatorMaterial", "material"], + reverse=["insulator_material", "material"], + multiple=True, + description="reverse of insulator_material, material", + ), + Property( + "used_in", + [ + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.PipetteUsage", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + ], + ["cultureMedium", "pipetteSolution", "tissueBathSolution"], + reverse=["culture_medium", "pipette_solution", "tissue_bath_solution"], + multiple=True, + description="reverse of culture_medium, pipette_solution, tissue_bath_solution", + ), + ] + existence_query_properties = ("has_parts", "type") + + def __init__( + self, + name=None, + additional_remarks=None, + composes=None, + has_parts=None, + product_source=None, + type=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + additional_remarks=additional_remarks, + composes=composes, + has_parts=has_parts, + product_source=product_source, + type=type, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/chemicals/chemical_substance.py b/fairgraph/openminds/v5/chemicals/chemical_substance.py new file mode 100644 index 00000000..bd40ae9b --- /dev/null +++ b/fairgraph/openminds/v5/chemicals/chemical_substance.py @@ -0,0 +1,67 @@ +""" +Structured information about a chemical substance. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.chemicals import ChemicalSubstance as OMChemicalSubstance +from fairgraph import KGObject + + +class ChemicalSubstance(KGObject, OMChemicalSubstance): + """ + Structured information about a chemical substance. + """ + + type_ = "https://openminds.om-i.org/types/ChemicalSubstance" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "composes", + ["openminds.v5.ephys.Electrode", "openminds.v5.ephys.ElectrodeArray", "openminds.v5.ephys.Pipette"], + ["insulatorMaterial", "material"], + reverse=["insulator_material", "material"], + multiple=True, + description="reverse of insulator_material, material", + ), + Property( + "labels", + "openminds.v5.ephys.PipetteUsage", + "labelingCompound", + reverse="labeling_compound", + multiple=True, + description="reverse of 'labeling_compound'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + additional_remarks=None, + composes=None, + labels=None, + molecular_entity=None, + product_source=None, + purity=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + additional_remarks=additional_remarks, + composes=composes, + labels=labels, + molecular_entity=molecular_entity, + product_source=product_source, + purity=purity, + ) diff --git a/fairgraph/openminds/v5/chemicals/product_source.py b/fairgraph/openminds/v5/chemicals/product_source.py new file mode 100644 index 00000000..3f48cc3e --- /dev/null +++ b/fairgraph/openminds/v5/chemicals/product_source.py @@ -0,0 +1,57 @@ +""" +Structured information about the source of a chemical substance or mixture. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.chemicals import ProductSource as OMProductSource +from fairgraph import KGObject + + +class ProductSource(KGObject, OMProductSource): + """ + Structured information about the source of a chemical substance or mixture. + """ + + type_ = "https://openminds.om-i.org/types/ProductSource" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_source_of", + ["openminds.v5.chemicals.ChemicalMixture", "openminds.v5.chemicals.ChemicalSubstance"], + "productSource", + reverse="product_source", + multiple=True, + description="reverse of 'product_source'", + ), + ] + existence_query_properties = ("product_name", "provider") + + def __init__( + self, + digital_identifier=None, + identifier=None, + is_source_of=None, + product_name=None, + provider=None, + purity=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + digital_identifier=digital_identifier, + identifier=identifier, + is_source_of=is_source_of, + product_name=product_name, + provider=provider, + purity=purity, + ) diff --git a/fairgraph/openminds/v5/computation/__init__.py b/fairgraph/openminds/v5/computation/__init__.py new file mode 100644 index 00000000..cd699291 --- /dev/null +++ b/fairgraph/openminds/v5/computation/__init__.py @@ -0,0 +1,47 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .data_analysis import DataAnalysis +from .data_copy import DataCopy +from .deployed_interface import DeployedInterface +from .environment import Environment +from .generic_computation import GenericComputation +from .hardware_system import HardwareSystem +from .launch_configuration import LaunchConfiguration +from .model_validation import ModelValidation +from .optimization import Optimization +from .service_deployment import ServiceDeployment +from .simulation import Simulation +from .software_agent import SoftwareAgent +from .validation_test import ValidationTest +from .validation_test_version import ValidationTestVersion +from .visualization import Visualization +from .workflow_execution import WorkflowExecution +from .workflow_recipe import WorkflowRecipe +from .workflow_recipe_version import WorkflowRecipeVersion + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/computation/data_analysis.py b/fairgraph/openminds/v5/computation/data_analysis.py new file mode 100644 index 00000000..a144b355 --- /dev/null +++ b/fairgraph/openminds/v5/computation/data_analysis.py @@ -0,0 +1,104 @@ +""" +Structured information on inspecting, cleansing, transforming, and modelling data. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import DataAnalysis as OMDataAnalysis +from fairgraph import KGObject + + +from datetime import datetime, time + + +class DataAnalysis(KGObject, OMDataAnalysis): + """ + Structured information on inspecting, cleansing, transforming, and modelling data. + """ + + type_ = "https://openminds.om-i.org/types/DataAnalysis" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "informed", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "wasInformedBy", + reverse="was_informed_by", + multiple=True, + description="reverse of 'was_informed_by'", + ), + Property( + "is_part_of", + "openminds.v5.computation.WorkflowExecution", + "stage", + reverse="stages", + multiple=True, + description="reverse of 'stages'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + environment=None, + informed=None, + inputs=None, + is_part_of=None, + launch_configuration=None, + outputs=None, + performed_by=None, + recipe=None, + resource_usages=None, + start_time=None, + started_by=None, + status=None, + study_targets=None, + tags=None, + techniques=None, + was_informed_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + environment=environment, + informed=informed, + inputs=inputs, + is_part_of=is_part_of, + launch_configuration=launch_configuration, + outputs=outputs, + performed_by=performed_by, + recipe=recipe, + resource_usages=resource_usages, + start_time=start_time, + started_by=started_by, + status=status, + study_targets=study_targets, + tags=tags, + techniques=techniques, + was_informed_by=was_informed_by, + ) diff --git a/fairgraph/openminds/v5/computation/data_copy.py b/fairgraph/openminds/v5/computation/data_copy.py new file mode 100644 index 00000000..cce549e1 --- /dev/null +++ b/fairgraph/openminds/v5/computation/data_copy.py @@ -0,0 +1,104 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import DataCopy as OMDataCopy +from fairgraph import KGObject + + +from datetime import datetime, time + + +class DataCopy(KGObject, OMDataCopy): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DataCopy" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "informed", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "wasInformedBy", + reverse="was_informed_by", + multiple=True, + description="reverse of 'was_informed_by'", + ), + Property( + "is_part_of", + "openminds.v5.computation.WorkflowExecution", + "stage", + reverse="stages", + multiple=True, + description="reverse of 'stages'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + environment=None, + informed=None, + inputs=None, + is_part_of=None, + launch_configuration=None, + outputs=None, + performed_by=None, + recipe=None, + resource_usages=None, + start_time=None, + started_by=None, + status=None, + study_targets=None, + tags=None, + techniques=None, + was_informed_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + environment=environment, + informed=informed, + inputs=inputs, + is_part_of=is_part_of, + launch_configuration=launch_configuration, + outputs=outputs, + performed_by=performed_by, + recipe=recipe, + resource_usages=resource_usages, + start_time=start_time, + started_by=started_by, + status=status, + study_targets=study_targets, + tags=tags, + techniques=techniques, + was_informed_by=was_informed_by, + ) diff --git a/fairgraph/openminds/v5/computation/deployed_interface.py b/fairgraph/openminds/v5/computation/deployed_interface.py new file mode 100644 index 00000000..c02a4be0 --- /dev/null +++ b/fairgraph/openminds/v5/computation/deployed_interface.py @@ -0,0 +1,27 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import DeployedInterface as OMDeployedInterface +from fairgraph import KGEmbedded + + +class DeployedInterface(KGEmbedded, OMDeployedInterface): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DeployedInterface" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("accessibility", "entry_point", "interface") + + def __init__( + self, accessibility=None, entry_point=None, interface=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__( + self, data=data, accessibility=accessibility, entry_point=entry_point, interface=interface + ) diff --git a/fairgraph/openminds/v5/computation/environment.py b/fairgraph/openminds/v5/computation/environment.py new file mode 100644 index 00000000..8a548b00 --- /dev/null +++ b/fairgraph/openminds/v5/computation/environment.py @@ -0,0 +1,66 @@ +""" +Structured information on the computer system or set of systems in which a computation is deployed and executed. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import Environment as OMEnvironment +from fairgraph import KGObject + + +class Environment(KGObject, OMEnvironment): + """ + Structured information on the computer system or set of systems in which a computation is deployed and executed. + """ + + type_ = "https://openminds.om-i.org/types/Environment" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "used_for", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.SoftwareAgent", + "openminds.v5.computation.Visualization", + ], + "environment", + reverse="environment", + multiple=True, + description="reverse of 'environment'", + ), + ] + existence_query_properties = ("hardware", "name") + + def __init__( + self, + name=None, + configuration=None, + description=None, + hardware=None, + software=None, + used_for=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + configuration=configuration, + description=description, + hardware=hardware, + software=software, + used_for=used_for, + ) diff --git a/fairgraph/openminds/v5/computation/generic_computation.py b/fairgraph/openminds/v5/computation/generic_computation.py new file mode 100644 index 00000000..03492fd3 --- /dev/null +++ b/fairgraph/openminds/v5/computation/generic_computation.py @@ -0,0 +1,104 @@ +""" +Structured information about a computation whose type is unknown or unspecified. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import GenericComputation as OMGenericComputation +from fairgraph import KGObject + + +from datetime import datetime, time + + +class GenericComputation(KGObject, OMGenericComputation): + """ + Structured information about a computation whose type is unknown or unspecified. + """ + + type_ = "https://openminds.om-i.org/types/GenericComputation" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "informed", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "wasInformedBy", + reverse="was_informed_by", + multiple=True, + description="reverse of 'was_informed_by'", + ), + Property( + "is_part_of", + "openminds.v5.computation.WorkflowExecution", + "stage", + reverse="stages", + multiple=True, + description="reverse of 'stages'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + environment=None, + informed=None, + inputs=None, + is_part_of=None, + launch_configuration=None, + outputs=None, + performed_by=None, + recipe=None, + resource_usages=None, + start_time=None, + started_by=None, + status=None, + study_targets=None, + tags=None, + techniques=None, + was_informed_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + environment=environment, + informed=informed, + inputs=inputs, + is_part_of=is_part_of, + launch_configuration=launch_configuration, + outputs=outputs, + performed_by=performed_by, + recipe=recipe, + resource_usages=resource_usages, + start_time=start_time, + started_by=started_by, + status=status, + study_targets=study_targets, + tags=tags, + techniques=techniques, + was_informed_by=was_informed_by, + ) diff --git a/fairgraph/openminds/v5/computation/hardware_system.py b/fairgraph/openminds/v5/computation/hardware_system.py new file mode 100644 index 00000000..edf4cedb --- /dev/null +++ b/fairgraph/openminds/v5/computation/hardware_system.py @@ -0,0 +1,53 @@ +""" +Structured information about computing hardware. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import HardwareSystem as OMHardwareSystem +from fairgraph import KGObject + + +class HardwareSystem(KGObject, OMHardwareSystem): + """ + Structured information about computing hardware. + """ + + type_ = "https://openminds.om-i.org/types/HardwareSystem" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "used_by", + "openminds.v5.computation.Environment", + "hardware", + reverse="hardware", + multiple=True, + description="reverse of 'hardware'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + description=None, + used_by=None, + version_identifier=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + description=description, + used_by=used_by, + version_identifier=version_identifier, + ) diff --git a/fairgraph/openminds/v5/computation/launch_configuration.py b/fairgraph/openminds/v5/computation/launch_configuration.py new file mode 100644 index 00000000..69b61fcf --- /dev/null +++ b/fairgraph/openminds/v5/computation/launch_configuration.py @@ -0,0 +1,68 @@ +""" +Structured information about the launch of a computational process. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import LaunchConfiguration as OMLaunchConfiguration +from fairgraph import KGObject + + +class LaunchConfiguration(KGObject, OMLaunchConfiguration): + """ + Structured information about the launch of a computational process. + """ + + type_ = "https://openminds.om-i.org/types/LaunchConfiguration" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_launch_configuration_of", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "launchConfiguration", + reverse="launch_configuration", + multiple=True, + description="reverse of 'launch_configuration'", + ), + ] + aliases = {"environment_variables": "environment_variable"} + existence_query_properties = ("executable", "name") + + def __init__( + self, + name=None, + arguments=None, + description=None, + environment_variable=None, + environment_variables=None, + executable=None, + is_launch_configuration_of=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + arguments=arguments, + description=description, + environment_variable=environment_variable, + environment_variables=environment_variables, + executable=executable, + is_launch_configuration_of=is_launch_configuration_of, + ) diff --git a/fairgraph/openminds/v5/computation/model_validation.py b/fairgraph/openminds/v5/computation/model_validation.py new file mode 100644 index 00000000..e760fed0 --- /dev/null +++ b/fairgraph/openminds/v5/computation/model_validation.py @@ -0,0 +1,107 @@ +""" +Structured information about a process of validating a computational model. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import ModelValidation as OMModelValidation +from fairgraph import KGObject + + +from datetime import datetime, time +from numbers import Real + + +class ModelValidation(KGObject, OMModelValidation): + """ + Structured information about a process of validating a computational model. + """ + + type_ = "https://openminds.om-i.org/types/ModelValidation" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "informed", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "wasInformedBy", + reverse="was_informed_by", + multiple=True, + description="reverse of 'was_informed_by'", + ), + Property( + "is_part_of", + "openminds.v5.computation.WorkflowExecution", + "stage", + reverse="stages", + multiple=True, + description="reverse of 'stages'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + environment=None, + informed=None, + inputs=None, + is_part_of=None, + launch_configuration=None, + outputs=None, + performed_by=None, + recipe=None, + resource_usages=None, + score=None, + start_time=None, + started_by=None, + status=None, + study_targets=None, + tags=None, + techniques=None, + was_informed_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + environment=environment, + informed=informed, + inputs=inputs, + is_part_of=is_part_of, + launch_configuration=launch_configuration, + outputs=outputs, + performed_by=performed_by, + recipe=recipe, + resource_usages=resource_usages, + score=score, + start_time=start_time, + started_by=started_by, + status=status, + study_targets=study_targets, + tags=tags, + techniques=techniques, + was_informed_by=was_informed_by, + ) diff --git a/fairgraph/openminds/v5/computation/optimization.py b/fairgraph/openminds/v5/computation/optimization.py new file mode 100644 index 00000000..e676687f --- /dev/null +++ b/fairgraph/openminds/v5/computation/optimization.py @@ -0,0 +1,104 @@ +""" +Structured information about a process of optimizing a model or a piece of code. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import Optimization as OMOptimization +from fairgraph import KGObject + + +from datetime import datetime, time + + +class Optimization(KGObject, OMOptimization): + """ + Structured information about a process of optimizing a model or a piece of code. + """ + + type_ = "https://openminds.om-i.org/types/Optimization" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "informed", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "wasInformedBy", + reverse="was_informed_by", + multiple=True, + description="reverse of 'was_informed_by'", + ), + Property( + "is_part_of", + "openminds.v5.computation.WorkflowExecution", + "stage", + reverse="stages", + multiple=True, + description="reverse of 'stages'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + environment=None, + informed=None, + inputs=None, + is_part_of=None, + launch_configuration=None, + outputs=None, + performed_by=None, + recipe=None, + resource_usages=None, + start_time=None, + started_by=None, + status=None, + study_targets=None, + tags=None, + techniques=None, + was_informed_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + environment=environment, + informed=informed, + inputs=inputs, + is_part_of=is_part_of, + launch_configuration=launch_configuration, + outputs=outputs, + performed_by=performed_by, + recipe=recipe, + resource_usages=resource_usages, + start_time=start_time, + started_by=started_by, + status=status, + study_targets=study_targets, + tags=tags, + techniques=techniques, + was_informed_by=was_informed_by, + ) diff --git a/fairgraph/openminds/v5/computation/service_deployment.py b/fairgraph/openminds/v5/computation/service_deployment.py new file mode 100644 index 00000000..41616b27 --- /dev/null +++ b/fairgraph/openminds/v5/computation/service_deployment.py @@ -0,0 +1,55 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import ServiceDeployment as OMServiceDeployment +from fairgraph import KGObject + + +from datetime import datetime + + +class ServiceDeployment(KGObject, OMServiceDeployment): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ServiceDeployment" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("name", "provides", "service", "start_time") + + def __init__( + self, + name=None, + depends_on=None, + deployment_type=None, + end_time=None, + provides=None, + service=None, + start_time=None, + uses=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + depends_on=depends_on, + deployment_type=deployment_type, + end_time=end_time, + provides=provides, + service=service, + start_time=start_time, + uses=uses, + ) diff --git a/fairgraph/openminds/v5/computation/simulation.py b/fairgraph/openminds/v5/computation/simulation.py new file mode 100644 index 00000000..d33c71f5 --- /dev/null +++ b/fairgraph/openminds/v5/computation/simulation.py @@ -0,0 +1,104 @@ +""" +Structured information about a process of running simulations of a computational model. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import Simulation as OMSimulation +from fairgraph import KGObject + + +from datetime import datetime, time + + +class Simulation(KGObject, OMSimulation): + """ + Structured information about a process of running simulations of a computational model. + """ + + type_ = "https://openminds.om-i.org/types/Simulation" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "informed", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "wasInformedBy", + reverse="was_informed_by", + multiple=True, + description="reverse of 'was_informed_by'", + ), + Property( + "is_part_of", + "openminds.v5.computation.WorkflowExecution", + "stage", + reverse="stages", + multiple=True, + description="reverse of 'stages'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + environment=None, + informed=None, + inputs=None, + is_part_of=None, + launch_configuration=None, + outputs=None, + performed_by=None, + recipe=None, + resource_usages=None, + start_time=None, + started_by=None, + status=None, + study_targets=None, + tags=None, + techniques=None, + was_informed_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + environment=environment, + informed=informed, + inputs=inputs, + is_part_of=is_part_of, + launch_configuration=launch_configuration, + outputs=outputs, + performed_by=performed_by, + recipe=recipe, + resource_usages=resource_usages, + start_time=start_time, + started_by=started_by, + status=status, + study_targets=study_targets, + tags=tags, + techniques=techniques, + was_informed_by=was_informed_by, + ) diff --git a/fairgraph/openminds/v5/computation/software_agent.py b/fairgraph/openminds/v5/computation/software_agent.py new file mode 100644 index 00000000..37e22dbc --- /dev/null +++ b/fairgraph/openminds/v5/computation/software_agent.py @@ -0,0 +1,83 @@ +""" +Structured information about a piece of software or web service that can perform a task autonomously. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import SoftwareAgent as OMSoftwareAgent +from fairgraph import KGObject + + +class SoftwareAgent(KGObject, OMSoftwareAgent): + """ + Structured information about a piece of software or web service that can perform a task autonomously. + """ + + type_ = "https://openminds.om-i.org/types/SoftwareAgent" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "activities", + [ + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "performedBy", + reverse="performed_by", + multiple=True, + description="reverse of 'performed_by'", + ), + Property( + "started", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + "openminds.v5.computation.WorkflowExecution", + ], + "startedBy", + reverse="started_by", + multiple=True, + description="reverse of 'started_by'", + ), + ] + existence_query_properties = ("name", "software") + + def __init__( + self, + name=None, + activities=None, + environment=None, + software=None, + started=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + activities=activities, + environment=environment, + software=software, + started=started, + ) diff --git a/fairgraph/openminds/v5/computation/validation_test.py b/fairgraph/openminds/v5/computation/validation_test.py new file mode 100644 index 00000000..ea96fb68 --- /dev/null +++ b/fairgraph/openminds/v5/computation/validation_test.py @@ -0,0 +1,119 @@ +""" +Structured information about the definition of a process for validating a computational model. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import ValidationTest as OMValidationTest +from fairgraph import KGObject + + +from openminds import IRI + + +class ValidationTest(KGObject, OMValidationTest): + """ + Structured information about the definition of a process for validating a computational model. + """ + + type_ = "https://openminds.om-i.org/types/ValidationTest" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.computation.ValidationTestVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "model_scope": "scope", "alias": "short_name"} + existence_query_properties = ("full_name", "short_name") + + def __init__( + self, + name=None, + alias=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + keywords=None, + learning_resources=None, + model_scope=None, + reference_data_acquisitions=None, + related_publications=None, + scope=None, + score_type=None, + short_name=None, + study_targets=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + model_scope=model_scope, + reference_data_acquisitions=reference_data_acquisitions, + related_publications=related_publications, + scope=scope, + score_type=score_type, + short_name=short_name, + study_targets=study_targets, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/computation/validation_test_version.py b/fairgraph/openminds/v5/computation/validation_test_version.py new file mode 100644 index 00000000..1121d8d8 --- /dev/null +++ b/fairgraph/openminds/v5/computation/validation_test_version.py @@ -0,0 +1,172 @@ +""" +Structured information about a specific implementation of a validation test. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import ValidationTestVersion as OMValidationTestVersion +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class ValidationTestVersion(KGObject, OMValidationTestVersion): + """ + Structured information about a specific implementation of a validation test. + """ + + type_ = "https://openminds.om-i.org/types/ValidationTestVersion" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_variants", + "openminds.v5.computation.ValidationTestVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_input_to", + ["openminds.v5.computation.DataCopy", "openminds.v5.computation.ModelValidation"], + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + accessibility=None, + comments=None, + configuration=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + description=None, + digital_identifier=None, + documentation=None, + entry_point=None, + format=None, + full_name=None, + funding=None, + has_variants=None, + homepage=None, + how_to_cite=None, + is_input_to=None, + is_part_of=None, + is_preceded_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + publication_status=None, + reference_data=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + support_channels=None, + usage_conditions=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + accessibility=accessibility, + comments=comments, + configuration=configuration, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + entry_point=entry_point, + format=format, + full_name=full_name, + funding=funding, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + is_input_to=is_input_to, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + publication_status=publication_status, + reference_data=reference_data, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + support_channels=support_channels, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + version_specification=version_specification, + ) + + def _get_inherited_property(self, property_name, client, release_status="released"): + value = getattr(self, property_name) + if value: + return value + else: + parent = self.is_version_of.resolve(client, release_status=release_status) + return getattr(parent, property_name) + + def get_full_name(self, client, release_status="released"): + return self._get_inherited_property("full_name", client, release_status) + + def get_short_name(self, client, release_status="released"): + return self._get_inherited_property("short_name", client, release_status) + + def get_description(self, client, release_status="released"): + return self._get_inherited_property("description", client, release_status) + + def get_developers(self, client, release_status="released"): + return self._get_inherited_property("developers", client, release_status) diff --git a/fairgraph/openminds/v5/computation/visualization.py b/fairgraph/openminds/v5/computation/visualization.py new file mode 100644 index 00000000..66a07bfa --- /dev/null +++ b/fairgraph/openminds/v5/computation/visualization.py @@ -0,0 +1,104 @@ +""" +Structured information about a process of visualizing a computational model, a computational process, or a dataset. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import Visualization as OMVisualization +from fairgraph import KGObject + + +from datetime import datetime, time + + +class Visualization(KGObject, OMVisualization): + """ + Structured information about a process of visualizing a computational model, a computational process, or a dataset. + """ + + type_ = "https://openminds.om-i.org/types/Visualization" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "informed", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "wasInformedBy", + reverse="was_informed_by", + multiple=True, + description="reverse of 'was_informed_by'", + ), + Property( + "is_part_of", + "openminds.v5.computation.WorkflowExecution", + "stage", + reverse="stages", + multiple=True, + description="reverse of 'stages'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + environment=None, + informed=None, + inputs=None, + is_part_of=None, + launch_configuration=None, + outputs=None, + performed_by=None, + recipe=None, + resource_usages=None, + start_time=None, + started_by=None, + status=None, + study_targets=None, + tags=None, + techniques=None, + was_informed_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + environment=environment, + informed=informed, + inputs=inputs, + is_part_of=is_part_of, + launch_configuration=launch_configuration, + outputs=outputs, + performed_by=performed_by, + recipe=recipe, + resource_usages=resource_usages, + start_time=start_time, + started_by=started_by, + status=status, + study_targets=study_targets, + tags=tags, + techniques=techniques, + was_informed_by=was_informed_by, + ) diff --git a/fairgraph/openminds/v5/computation/workflow_execution.py b/fairgraph/openminds/v5/computation/workflow_execution.py new file mode 100644 index 00000000..96af24c9 --- /dev/null +++ b/fairgraph/openminds/v5/computation/workflow_execution.py @@ -0,0 +1,44 @@ +""" +Structured information about an execution of a computational workflow. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import WorkflowExecution as OMWorkflowExecution +from fairgraph import KGObject + + +class WorkflowExecution(KGObject, OMWorkflowExecution): + """ + Structured information about an execution of a computational workflow. + """ + + type_ = "https://openminds.om-i.org/types/WorkflowExecution" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("stages",) + + def __init__( + self, + configuration=None, + recipe=None, + stages=None, + started_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + configuration=configuration, + recipe=recipe, + stages=stages, + started_by=started_by, + ) diff --git a/fairgraph/openminds/v5/computation/workflow_recipe.py b/fairgraph/openminds/v5/computation/workflow_recipe.py new file mode 100644 index 00000000..d7a8fd79 --- /dev/null +++ b/fairgraph/openminds/v5/computation/workflow_recipe.py @@ -0,0 +1,109 @@ +""" +Structured information about the description of a prospective workflow. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import WorkflowRecipe as OMWorkflowRecipe +from fairgraph import KGObject + + +from openminds import IRI + + +class WorkflowRecipe(KGObject, OMWorkflowRecipe): + """ + Structured information about the description of a prospective workflow. + """ + + type_ = "https://openminds.om-i.org/types/WorkflowRecipe" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.computation.WorkflowRecipeVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("full_name",) + + def __init__( + self, + name=None, + alias=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + keywords=None, + learning_resources=None, + related_publications=None, + short_name=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/computation/workflow_recipe_version.py b/fairgraph/openminds/v5/computation/workflow_recipe_version.py new file mode 100644 index 00000000..bf7b0bb2 --- /dev/null +++ b/fairgraph/openminds/v5/computation/workflow_recipe_version.py @@ -0,0 +1,187 @@ +""" +Structured information about a specific implemented version of a workflow recipe. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.computation import WorkflowRecipeVersion as OMWorkflowRecipeVersion +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class WorkflowRecipeVersion(KGObject, OMWorkflowRecipeVersion): + """ + Structured information about a specific implemented version of a workflow recipe. + """ + + type_ = "https://openminds.om-i.org/types/WorkflowRecipeVersion" + default_space = "computation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "defined", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + "openminds.v5.computation.WorkflowExecution", + ], + "recipe", + reverse="recipe", + multiple=True, + description="reverse of 'recipe'", + ), + Property( + "has_variants", + "openminds.v5.computation.WorkflowRecipeVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_used_by", + "openminds.v5.computation.ServiceDeployment", + "uses", + reverse="uses", + multiple=True, + description="reverse of 'uses'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("full_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + accessibility=None, + comments=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + defined=None, + description=None, + digital_identifier=None, + documentation=None, + format=None, + full_name=None, + funding=None, + has_parts=None, + has_variants=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + is_preceded_by=None, + is_used_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + support_channels=None, + usage_conditions=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + accessibility=accessibility, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + defined=defined, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + format=format, + full_name=full_name, + funding=funding, + has_parts=has_parts, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_used_by=is_used_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + support_channels=support_channels, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + version_specification=version_specification, + ) + + def _get_inherited_property(self, property_name, client, release_status="released"): + value = getattr(self, property_name) + if value: + return value + else: + parent = self.is_version_of.resolve(client, release_status=release_status) + return getattr(parent, property_name) + + def get_full_name(self, client, release_status="released"): + return self._get_inherited_property("full_name", client, release_status) + + def get_short_name(self, client, release_status="released"): + return self._get_inherited_property("short_name", client, release_status) + + def get_description(self, client, release_status="released"): + return self._get_inherited_property("description", client, release_status) + + def get_developers(self, client, release_status="released"): + return self._get_inherited_property("developers", client, release_status) diff --git a/fairgraph/openminds/v5/controlled_terms/__init__.py b/fairgraph/openminds/v5/controlled_terms/__init__.py new file mode 100644 index 00000000..ee0d2ff7 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/__init__.py @@ -0,0 +1,141 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .access_channel import AccessChannel +from .access_eligibility_type import AccessEligibilityType +from .access_form import AccessForm +from .access_process_type import AccessProcessType +from .action_status_type import ActionStatusType +from .age_category import AgeCategory +from .age_reference import AgeReference +from .analysis_technique import AnalysisTechnique +from .anatomical_axes_orientation import AnatomicalAxesOrientation +from .anatomical_cavity import AnatomicalCavity +from .anatomical_identification_type import AnatomicalIdentificationType +from .anatomical_plane import AnatomicalPlane +from .annotation_criteria_type import AnnotationCriteriaType +from .annotation_type import AnnotationType +from .atlas_type import AtlasType +from .auditory_stimulus_type import AuditoryStimulusType +from .biological_order import BiologicalOrder +from .biological_process import BiologicalProcess +from .biological_sex import BiologicalSex +from .breeding_type import BreedingType +from .cell_culture_type import CellCultureType +from .cell_type import CellType +from .chemical_mixture_type import ChemicalMixtureType +from .colormap import Colormap +from .communication_interface_type import CommunicationInterfaceType +from .communication_protocol import CommunicationProtocol +from .contribution_type import ContributionType +from .cranial_window_construction_type import CranialWindowConstructionType +from .cranial_window_reinforcement_type import CranialWindowReinforcementType +from .criteria_quality_type import CriteriaQualityType +from .data_type import DataType +from .dependency_impact import DependencyImpact +from .deployment_environment_type import DeploymentEnvironmentType +from .device_mounting_type import DeviceMountingType +from .device_type import DeviceType +from .difference_measure import DifferenceMeasure +from .disease import Disease +from .disease_model import DiseaseModel +from .educational_level import EducationalLevel +from .electrical_stimulus_type import ElectricalStimulusType +from .experimental_approach import ExperimentalApproach +from .external_body_region import ExternalBodyRegion +from .file_bundle_grouping import FileBundleGrouping +from .file_repository_type import FileRepositoryType +from .file_usage_role import FileUsageRole +from .genetic_strain_type import GeneticStrainType +from .gustatory_stimulus_type import GustatoryStimulusType +from .handedness import Handedness +from .language import Language +from .laterality import Laterality +from .learning_resource_type import LearningResourceType +from .measured_quantity import MeasuredQuantity +from .measured_signal_type import MeasuredSignalType +from .meta_data_model_type import MetaDataModelType +from .model_abstraction_level import ModelAbstractionLevel +from .model_scope import ModelScope +from .modification_consent_requirement import ModificationConsentRequirement +from .modification_constraint import ModificationConstraint +from .modification_form import ModificationForm +from .modification_scope import ModificationScope +from .molecular_entity import MolecularEntity +from .mri_fat_suppression_technique import MRIFatSuppressionTechnique +from .mri_parallel_acquisition_technique import MRIParallelAcquisitionTechnique +from .mri_pulse_sequence import MRIPulseSequence +from .mri_spoiling_technique import MRISpoilingTechnique +from .mri_weighting import MRIWeighting +from .muscular_structure import MuscularStructure +from .nervous_system_structure import NervousSystemStructure +from .olfactory_stimulus_type import OlfactoryStimulusType +from .operating_device import OperatingDevice +from .operating_system import OperatingSystem +from .operational_approach import OperationalApproach +from .optical_stimulus_type import OpticalStimulusType +from .organ import Organ +from .organ_system_structure import OrganSystemStructure +from .organism_substance import OrganismSubstance +from .organism_system import OrganismSystem +from .organization_type import OrganizationType +from .patch_clamp_variation import PatchClampVariation +from .payment_model_type import PaymentModelType +from .preparation_type import PreparationType +from .programming_language import ProgrammingLanguage +from .project_type import ProjectType +from .publication_status import PublicationStatus +from .pulse_shape import PulseShape +from .qualitative_overlap import QualitativeOverlap +from .semantic_data_type import SemanticDataType +from .setup_type import SetupType +from .signal_directionality import SignalDirectionality +from .skeletal_structure import SkeletalStructure +from .software_application_category import SoftwareApplicationCategory +from .software_feature import SoftwareFeature +from .sovereign_state import SovereignState +from .spatial_encoding import SpatialEncoding +from .species import Species +from .stimulation_approach import StimulationApproach +from .stimulation_technique import StimulationTechnique +from .subcellular_entity import SubcellularEntity +from .subject_attribute import SubjectAttribute +from .supranational_body import SupranationalBody +from .tactile_stimulus_type import TactileStimulusType +from .technique import Technique +from .term_suggestion import TermSuggestion +from .terminology import Terminology +from .tissue_sample_attribute import TissueSampleAttribute +from .tissue_sample_type import TissueSampleType +from .tissue_structure import TissueStructure +from .type_of_uncertainty import TypeOfUncertainty +from .unit_of_measurement import UnitOfMeasurement +from .vascular_structure import VascularStructure +from .visual_stimulus_type import VisualStimulusType +from .weight_type import WeightType + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/controlled_terms/access_channel.py b/fairgraph/openminds/v5/controlled_terms/access_channel.py new file mode 100644 index 00000000..761b0ddd --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/access_channel.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AccessChannel as OMAccessChannel +from fairgraph import KGObject + + +from openminds import IRI + + +class AccessChannel(KGObject, OMAccessChannel): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AccessChannel" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_channel_of", + "openminds.v5.core.Accessibility", + "channel", + reverse="channel", + multiple=True, + description="reverse of 'channel'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_channel_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_channel_of=is_channel_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/access_eligibility_type.py b/fairgraph/openminds/v5/controlled_terms/access_eligibility_type.py new file mode 100644 index 00000000..78e1e7fb --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/access_eligibility_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AccessEligibilityType as OMAccessEligibilityType +from fairgraph import KGObject + + +from openminds import IRI + + +class AccessEligibilityType(KGObject, OMAccessEligibilityType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AccessEligibilityType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_eligibility_of", + "openminds.v5.core.Accessibility", + "eligibility", + reverse="eligibility", + multiple=True, + description="reverse of 'eligibility'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_eligibility_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_eligibility_of=is_eligibility_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/access_form.py b/fairgraph/openminds/v5/controlled_terms/access_form.py new file mode 100644 index 00000000..f1c2d91f --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/access_form.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AccessForm as OMAccessForm +from fairgraph import KGObject + + +from openminds import IRI + + +class AccessForm(KGObject, OMAccessForm): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AccessForm" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_form_of", + "openminds.v5.core.Accessibility", + "form", + reverse="form", + multiple=True, + description="reverse of 'form'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_form_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_form_of=is_form_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/access_process_type.py b/fairgraph/openminds/v5/controlled_terms/access_process_type.py new file mode 100644 index 00000000..830428e1 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/access_process_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AccessProcessType as OMAccessProcessType +from fairgraph import KGObject + + +from openminds import IRI + + +class AccessProcessType(KGObject, OMAccessProcessType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AccessProcessType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_process_of", + "openminds.v5.core.Accessibility", + "process", + reverse="process", + multiple=True, + description="reverse of 'process'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_process_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_process_of=is_process_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/action_status_type.py b/fairgraph/openminds/v5/controlled_terms/action_status_type.py new file mode 100644 index 00000000..8eb74ed2 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/action_status_type.py @@ -0,0 +1,111 @@ +""" +Structured information about the status of an action. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ActionStatusType as OMActionStatusType +from fairgraph import KGObject + + +from openminds import IRI + + +class ActionStatusType(KGObject, OMActionStatusType): + """ + Structured information about the status of an action. + """ + + type_ = "https://openminds.om-i.org/types/ActionStatusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_status_of", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "status", + reverse="status", + multiple=True, + description="reverse of 'status'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_status_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_status_of=is_status_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/age_category.py b/fairgraph/openminds/v5/controlled_terms/age_category.py new file mode 100644 index 00000000..7b8993da --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/age_category.py @@ -0,0 +1,103 @@ +""" +Structured information on the life cycle (semantic term) of a specific age group. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AgeCategory as OMAgeCategory +from fairgraph import KGObject + + +from openminds import IRI + + +class AgeCategory(KGObject, OMAgeCategory): + """ + Structured information on the life cycle (semantic term) of a specific age group. + """ + + type_ = "https://openminds.om-i.org/types/AgeCategory" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_age_category_of", + ["openminds.v5.core.SubjectGroupState", "openminds.v5.core.SubjectState"], + "ageCategory", + reverse="age_categories", + multiple=True, + description="reverse of 'age_categories'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_age_category_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_age_category_of=is_age_category_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/age_reference.py b/fairgraph/openminds/v5/controlled_terms/age_reference.py new file mode 100644 index 00000000..8641e2c6 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/age_reference.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AgeReference as OMAgeReference +from fairgraph import KGObject + + +from openminds import IRI + + +class AgeReference(KGObject, OMAgeReference): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AgeReference" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/analysis_technique.py b/fairgraph/openminds/v5/controlled_terms/analysis_technique.py new file mode 100644 index 00000000..0b5c52de --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/analysis_technique.py @@ -0,0 +1,130 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AnalysisTechnique as OMAnalysisTechnique +from fairgraph import KGObject + + +from openminds import IRI + + +class AnalysisTechnique(KGObject, OMAnalysisTechnique): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnalysisTechnique" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Protocol", + "openminds.v5.neuroimaging.MRIScannerUsage", + ], + ["gradientCorrection", "technique"], + reverse=["gradient_correction", "techniques"], + multiple=True, + description="reverse of gradient_correction, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/anatomical_axes_orientation.py b/fairgraph/openminds/v5/controlled_terms/anatomical_axes_orientation.py new file mode 100644 index 00000000..7816c526 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/anatomical_axes_orientation.py @@ -0,0 +1,113 @@ +""" +Structured information on the anatomical directions of the X, Y, and Z axis. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AnatomicalAxesOrientation as OMAnatomicalAxesOrientation +from fairgraph import KGObject + + +from openminds import IRI + + +class AnatomicalAxesOrientation(KGObject, OMAnatomicalAxesOrientation): + """ + Structured information on the anatomical directions of the X, Y, and Z axis. + """ + + type_ = "https://openminds.om-i.org/types/AnatomicalAxesOrientation" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_orientation_of", + "openminds.v5.sands.CustomCoordinateFramework", + "anatomicalAxesOrientation", + reverse="anatomical_axes_orientation", + multiple=True, + description="reverse of 'anatomical_axes_orientation'", + ), + Property( + "used_in", + ["openminds.v5.neuroimaging.DynamicMRIAcquisition", "openminds.v5.neuroimaging.StaticMRIAcquisition"], + "specimenOrientation", + reverse="specimen_orientation", + multiple=True, + description="reverse of 'specimen_orientation'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_orientation_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_orientation_of=is_orientation_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/anatomical_cavity.py b/fairgraph/openminds/v5/controlled_terms/anatomical_cavity.py new file mode 100644 index 00000000..d3d206e2 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/anatomical_cavity.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AnatomicalCavity as OMAnatomicalCavity +from fairgraph import KGObject + + +from openminds import IRI + + +class AnatomicalCavity(KGObject, OMAnatomicalCavity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnatomicalCavity" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/anatomical_identification_type.py b/fairgraph/openminds/v5/controlled_terms/anatomical_identification_type.py new file mode 100644 index 00000000..b90f4708 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/anatomical_identification_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AnatomicalIdentificationType as OMAnatomicalIdentificationType +from fairgraph import KGObject + + +from openminds import IRI + + +class AnatomicalIdentificationType(KGObject, OMAnatomicalIdentificationType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnatomicalIdentificationType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.sands.AnatomicalTargetPosition", + "targetIdentificationType", + reverse="target_identification_type", + multiple=True, + description="reverse of 'target_identification_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/anatomical_plane.py b/fairgraph/openminds/v5/controlled_terms/anatomical_plane.py new file mode 100644 index 00000000..7ac44a17 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/anatomical_plane.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AnatomicalPlane as OMAnatomicalPlane +from fairgraph import KGObject + + +from openminds import IRI + + +class AnatomicalPlane(KGObject, OMAnatomicalPlane): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnatomicalPlane" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + ["openminds.v5.neuroimaging.MRIScannerUsage", "openminds.v5.specimen_prep.SlicingDeviceUsage"], + ["sliceOrientation", "slicingPlane"], + reverse=["slice_orientation", "slicing_plane"], + multiple=True, + description="reverse of slice_orientation, slicing_plane", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/annotation_criteria_type.py b/fairgraph/openminds/v5/controlled_terms/annotation_criteria_type.py new file mode 100644 index 00000000..6307ef80 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/annotation_criteria_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AnnotationCriteriaType as OMAnnotationCriteriaType +from fairgraph import KGObject + + +from openminds import IRI + + +class AnnotationCriteriaType(KGObject, OMAnnotationCriteriaType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnnotationCriteriaType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_by_annotation", + ["openminds.v5.sands.AtlasAnnotation", "openminds.v5.sands.CustomAnnotation"], + "criteriaType", + reverse="criteria_type", + multiple=True, + description="reverse of 'criteria_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_by_annotation=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_by_annotation=used_by_annotation, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/annotation_type.py b/fairgraph/openminds/v5/controlled_terms/annotation_type.py new file mode 100644 index 00000000..39b97d6c --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/annotation_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AnnotationType as OMAnnotationType +from fairgraph import KGObject + + +from openminds import IRI + + +class AnnotationType(KGObject, OMAnnotationType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnnotationType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + ["openminds.v5.sands.AtlasAnnotation", "openminds.v5.sands.CustomAnnotation"], + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/atlas_type.py b/fairgraph/openminds/v5/controlled_terms/atlas_type.py new file mode 100644 index 00000000..c6d91e81 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/atlas_type.py @@ -0,0 +1,102 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AtlasType as OMAtlasType +from fairgraph import KGObject + + +from openminds import IRI + + +class AtlasType(KGObject, OMAtlasType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AtlasType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.sands.AnatomicalAtlasVersion", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/auditory_stimulus_type.py b/fairgraph/openminds/v5/controlled_terms/auditory_stimulus_type.py new file mode 100644 index 00000000..b33c7cb6 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/auditory_stimulus_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import AuditoryStimulusType as OMAuditoryStimulusType +from fairgraph import KGObject + + +from openminds import IRI + + +class AuditoryStimulusType(KGObject, OMAuditoryStimulusType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AuditoryStimulusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "stimulusType", + reverse="stimulus_types", + multiple=True, + description="reverse of 'stimulus_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/biological_order.py b/fairgraph/openminds/v5/controlled_terms/biological_order.py new file mode 100644 index 00000000..bcedd249 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/biological_order.py @@ -0,0 +1,139 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import BiologicalOrder as OMBiologicalOrder +from fairgraph import KGObject + + +from openminds import IRI + + +class BiologicalOrder(KGObject, OMBiologicalOrder): + """ + + """ + + type_ = "https://openminds.om-i.org/types/BiologicalOrder" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.sands.AnatomicalAtlas", "openminds.v5.sands.CommonCoordinateFramework"], + "usedTaxon", + reverse="used_taxon", + multiple=True, + description="reverse of 'used_taxon'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/biological_process.py b/fairgraph/openminds/v5/controlled_terms/biological_process.py new file mode 100644 index 00000000..af1f8a18 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/biological_process.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import BiologicalProcess as OMBiologicalProcess +from fairgraph import KGObject + + +from openminds import IRI + + +class BiologicalProcess(KGObject, OMBiologicalProcess): + """ + + """ + + type_ = "https://openminds.om-i.org/types/BiologicalProcess" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/biological_sex.py b/fairgraph/openminds/v5/controlled_terms/biological_sex.py new file mode 100644 index 00000000..9a621534 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/biological_sex.py @@ -0,0 +1,146 @@ +""" +Structured information on the biological sex of a subject. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import BiologicalSex as OMBiologicalSex +from fairgraph import KGObject + + +from openminds import IRI + + +class BiologicalSex(KGObject, OMBiologicalSex): + """ + Structured information on the biological sex of a subject. + """ + + type_ = "https://openminds.om-i.org/types/BiologicalSex" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_biological_sex_of", + [ + "openminds.v5.core.Subject", + "openminds.v5.core.SubjectGroup", + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + ], + "biologicalSex", + reverse="biological_sex", + multiple=True, + description="reverse of 'biological_sex'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_biological_sex_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_biological_sex_of=is_biological_sex_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/breeding_type.py b/fairgraph/openminds/v5/controlled_terms/breeding_type.py new file mode 100644 index 00000000..3740b486 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/breeding_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import BreedingType as OMBreedingType +from fairgraph import KGObject + + +from openminds import IRI + + +class BreedingType(KGObject, OMBreedingType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/BreedingType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_breeding_type_of", + "openminds.v5.core.Strain", + "breedingType", + reverse="breeding_type", + multiple=True, + description="reverse of 'breeding_type'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_breeding_type_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_breeding_type_of=is_breeding_type_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/cell_culture_type.py b/fairgraph/openminds/v5/controlled_terms/cell_culture_type.py new file mode 100644 index 00000000..556041eb --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/cell_culture_type.py @@ -0,0 +1,131 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import CellCultureType as OMCellCultureType +from fairgraph import KGObject + + +from openminds import IRI + + +class CellCultureType(KGObject, OMCellCultureType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CellCultureType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/cell_type.py b/fairgraph/openminds/v5/controlled_terms/cell_type.py new file mode 100644 index 00000000..93f67916 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/cell_type.py @@ -0,0 +1,167 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import CellType as OMCellType +from fairgraph import KGObject + + +from openminds import IRI + + +class CellType(KGObject, OMCellType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CellType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_location_of", + [ + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "sample", + ["openminds.v5.core.TissueSample", "openminds.v5.core.TissueSampleCollection"], + "origin", + reverse="origin", + multiple=True, + description="reverse of 'origin'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + sample=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + sample=sample, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/chemical_mixture_type.py b/fairgraph/openminds/v5/controlled_terms/chemical_mixture_type.py new file mode 100644 index 00000000..234ed851 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/chemical_mixture_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ChemicalMixtureType as OMChemicalMixtureType +from fairgraph import KGObject + + +from openminds import IRI + + +class ChemicalMixtureType(KGObject, OMChemicalMixtureType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ChemicalMixtureType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.chemicals.ChemicalMixture", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/colormap.py b/fairgraph/openminds/v5/controlled_terms/colormap.py new file mode 100644 index 00000000..9341813b --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/colormap.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Colormap as OMColormap +from fairgraph import KGObject + + +from openminds import IRI + + +class Colormap(KGObject, OMColormap): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Colormap" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/communication_interface_type.py b/fairgraph/openminds/v5/controlled_terms/communication_interface_type.py new file mode 100644 index 00000000..804e51fc --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/communication_interface_type.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import CommunicationInterfaceType as OMCommunicationInterfaceType +from fairgraph import KGObject + + +from openminds import IRI + + +class CommunicationInterfaceType(KGObject, OMCommunicationInterfaceType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CommunicationInterfaceType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/communication_protocol.py b/fairgraph/openminds/v5/controlled_terms/communication_protocol.py new file mode 100644 index 00000000..64676e0d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/communication_protocol.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import CommunicationProtocol as OMCommunicationProtocol +from fairgraph import KGObject + + +from openminds import IRI + + +class CommunicationProtocol(KGObject, OMCommunicationProtocol): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CommunicationProtocol" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/contribution_type.py b/fairgraph/openminds/v5/controlled_terms/contribution_type.py new file mode 100644 index 00000000..1443516d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/contribution_type.py @@ -0,0 +1,100 @@ +""" +Structured information on the type of contribution a person or organization performed. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ContributionType as OMContributionType +from fairgraph import KGObject + + +from openminds import IRI + + +class ContributionType(KGObject, OMContributionType): + """ + Structured information on the type of contribution a person or organization performed. + """ + + type_ = "https://openminds.om-i.org/types/ContributionType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/cranial_window_construction_type.py b/fairgraph/openminds/v5/controlled_terms/cranial_window_construction_type.py new file mode 100644 index 00000000..ca3ea29e --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/cranial_window_construction_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import CranialWindowConstructionType as OMCranialWindowConstructionType +from fairgraph import KGObject + + +from openminds import IRI + + +class CranialWindowConstructionType(KGObject, OMCranialWindowConstructionType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CranialWindowConstructionType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_for", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "constructionType", + reverse="construction_type", + multiple=True, + description="reverse of 'construction_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_for=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_for=used_for, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/cranial_window_reinforcement_type.py b/fairgraph/openminds/v5/controlled_terms/cranial_window_reinforcement_type.py new file mode 100644 index 00000000..5969ec64 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/cranial_window_reinforcement_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import CranialWindowReinforcementType as OMCranialWindowReinforcementType +from fairgraph import KGObject + + +from openminds import IRI + + +class CranialWindowReinforcementType(KGObject, OMCranialWindowReinforcementType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CranialWindowReinforcementType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_for", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "reinforcementType", + reverse="reinforcement_type", + multiple=True, + description="reverse of 'reinforcement_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_for=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_for=used_for, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/criteria_quality_type.py b/fairgraph/openminds/v5/controlled_terms/criteria_quality_type.py new file mode 100644 index 00000000..9bc9accd --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/criteria_quality_type.py @@ -0,0 +1,103 @@ +""" +Structured information on the quality type of the defined criteria for a measurement. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import CriteriaQualityType as OMCriteriaQualityType +from fairgraph import KGObject + + +from openminds import IRI + + +class CriteriaQualityType(KGObject, OMCriteriaQualityType): + """ + Structured information on the quality type of the defined criteria for a measurement. + """ + + type_ = "https://openminds.om-i.org/types/CriteriaQualityType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_by_annotation", + ["openminds.v5.sands.AtlasAnnotation", "openminds.v5.sands.CustomAnnotation"], + "criteriaQualityType", + reverse="criteria_quality_type", + multiple=True, + description="reverse of 'criteria_quality_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_by_annotation=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_by_annotation=used_by_annotation, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/data_type.py b/fairgraph/openminds/v5/controlled_terms/data_type.py new file mode 100644 index 00000000..fa827b2d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/data_type.py @@ -0,0 +1,110 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import DataType as OMDataType +from fairgraph import KGObject + + +from openminds import IRI + + +class DataType(KGObject, OMDataType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DataType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_data_type_of", + ["openminds.v5.core.ContentType", "openminds.v5.core.File", "openminds.v5.core.LocalFile"], + "dataType", + reverse="data_types", + multiple=True, + description="reverse of 'data_types'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_data_type_of=None, + is_scope_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_data_type_of=is_data_type_of, + is_scope_of=is_scope_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/dependency_impact.py b/fairgraph/openminds/v5/controlled_terms/dependency_impact.py new file mode 100644 index 00000000..549f62b3 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/dependency_impact.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import DependencyImpact as OMDependencyImpact +from fairgraph import KGObject + + +from openminds import IRI + + +class DependencyImpact(KGObject, OMDependencyImpact): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DependencyImpact" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/deployment_environment_type.py b/fairgraph/openminds/v5/controlled_terms/deployment_environment_type.py new file mode 100644 index 00000000..f8d8cb65 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/deployment_environment_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import DeploymentEnvironmentType as OMDeploymentEnvironmentType +from fairgraph import KGObject + + +from openminds import IRI + + +class DeploymentEnvironmentType(KGObject, OMDeploymentEnvironmentType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DeploymentEnvironmentType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_deployment_type_of", + "openminds.v5.computation.ServiceDeployment", + "deploymentType", + reverse="deployment_type", + multiple=True, + description="reverse of 'deployment_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_deployment_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_deployment_type_of=is_deployment_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/device_mounting_type.py b/fairgraph/openminds/v5/controlled_terms/device_mounting_type.py new file mode 100644 index 00000000..eb8d8d68 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/device_mounting_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import DeviceMountingType as OMDeviceMountingType +from fairgraph import KGObject + + +from openminds import IRI + + +class DeviceMountingType(KGObject, OMDeviceMountingType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DeviceMountingType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_mounting_type_of", + "openminds.v5.neuroimaging.MRICoil", + "mountingType", + reverse="mounting_type", + multiple=True, + description="reverse of 'mounting_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_mounting_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_mounting_type_of=is_mounting_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/device_type.py b/fairgraph/openminds/v5/controlled_terms/device_type.py new file mode 100644 index 00000000..5a487ec1 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/device_type.py @@ -0,0 +1,158 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import DeviceType as OMDeviceType +from fairgraph import KGObject + + +from openminds import IRI + + +class DeviceType(KGObject, OMDeviceType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DeviceType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + [ + "openminds.v5.core.HardwareProduct", + "openminds.v5.ephys.Electrode", + "openminds.v5.ephys.ElectrodeArray", + "openminds.v5.ephys.Pipette", + "openminds.v5.neuroimaging.MRICoil", + "openminds.v5.neuroimaging.MRIScanner", + "openminds.v5.specimen_prep.SlicingDevice", + ], + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + "openminds.v5.neuroimaging.MRIScannerUsage", + "usedCoils", + reverse="used_coils", + multiple=True, + description="reverse of 'used_coils'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/difference_measure.py b/fairgraph/openminds/v5/controlled_terms/difference_measure.py new file mode 100644 index 00000000..05dbfce6 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/difference_measure.py @@ -0,0 +1,102 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import DifferenceMeasure as OMDifferenceMeasure +from fairgraph import KGObject + + +from openminds import IRI + + +class DifferenceMeasure(KGObject, OMDifferenceMeasure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DifferenceMeasure" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_score_type_of", + "openminds.v5.computation.ValidationTest", + "scoreType", + reverse="score_type", + multiple=True, + description="reverse of 'score_type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_score_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_score_type_of=is_score_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/disease.py b/fairgraph/openminds/v5/controlled_terms/disease.py new file mode 100644 index 00000000..813f95d2 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/disease.py @@ -0,0 +1,156 @@ +""" +Structured information on a disease. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Disease as OMDisease +from fairgraph import KGObject + + +from openminds import IRI + + +class Disease(KGObject, OMDisease): + """ + Structured information on a disease. + """ + + type_ = "https://openminds.om-i.org/types/Disease" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_modeled_by", + "openminds.v5.core.Strain", + "diseaseModel", + reverse="disease_models", + multiple=True, + description="reverse of 'disease_models'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "specimen_state", + [ + "openminds.v5.core.SubjectGroupState", + "openminds.v5.core.SubjectState", + "openminds.v5.core.TissueSampleCollectionState", + "openminds.v5.core.TissueSampleState", + ], + "pathology", + reverse="pathologies", + multiple=True, + description="reverse of 'pathologies'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_modeled_by=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + specimen_state=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_modeled_by=is_modeled_by, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + specimen_state=specimen_state, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/disease_model.py b/fairgraph/openminds/v5/controlled_terms/disease_model.py new file mode 100644 index 00000000..3181dfa5 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/disease_model.py @@ -0,0 +1,156 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import DiseaseModel as OMDiseaseModel +from fairgraph import KGObject + + +from openminds import IRI + + +class DiseaseModel(KGObject, OMDiseaseModel): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DiseaseModel" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_modeled_by", + "openminds.v5.core.Strain", + "diseaseModel", + reverse="disease_models", + multiple=True, + description="reverse of 'disease_models'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "specimen_state", + [ + "openminds.v5.core.SubjectGroupState", + "openminds.v5.core.SubjectState", + "openminds.v5.core.TissueSampleCollectionState", + "openminds.v5.core.TissueSampleState", + ], + "pathology", + reverse="pathologies", + multiple=True, + description="reverse of 'pathologies'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_modeled_by=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + specimen_state=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_modeled_by=is_modeled_by, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + specimen_state=specimen_state, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/educational_level.py b/fairgraph/openminds/v5/controlled_terms/educational_level.py new file mode 100644 index 00000000..eb19f4c4 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/educational_level.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import EducationalLevel as OMEducationalLevel +from fairgraph import KGObject + + +from openminds import IRI + + +class EducationalLevel(KGObject, OMEducationalLevel): + """ + + """ + + type_ = "https://openminds.om-i.org/types/EducationalLevel" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/electrical_stimulus_type.py b/fairgraph/openminds/v5/controlled_terms/electrical_stimulus_type.py new file mode 100644 index 00000000..52daf553 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/electrical_stimulus_type.py @@ -0,0 +1,151 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ElectricalStimulusType as OMElectricalStimulusType +from fairgraph import KGObject + + +from openminds import IRI + + +class ElectricalStimulusType(KGObject, OMElectricalStimulusType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ElectricalStimulusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.stimulation.EphysStimulus", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "stimulusType", + reverse="stimulus_types", + multiple=True, + description="reverse of 'stimulus_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/experimental_approach.py b/fairgraph/openminds/v5/controlled_terms/experimental_approach.py new file mode 100644 index 00000000..e85a29e9 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/experimental_approach.py @@ -0,0 +1,100 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ExperimentalApproach as OMExperimentalApproach +from fairgraph import KGObject + + +from openminds import IRI + + +class ExperimentalApproach(KGObject, OMExperimentalApproach): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ExperimentalApproach" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/external_body_region.py b/fairgraph/openminds/v5/controlled_terms/external_body_region.py new file mode 100644 index 00000000..c4dae152 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/external_body_region.py @@ -0,0 +1,189 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ExternalBodyRegion as OMExternalBodyRegion +from fairgraph import KGObject + + +from openminds import IRI + + +class ExternalBodyRegion(KGObject, OMExternalBodyRegion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ExternalBodyRegion" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_intended_location_of", + "openminds.v5.neuroimaging.MRICoil", + "intendedMountingLocation", + reverse="intended_mounting_location", + multiple=True, + description="reverse of 'intended_mounting_location'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_mounting_location_of", + "openminds.v5.neuroimaging.MRICoilUsage", + "mountingLocation", + reverse="mounting_location", + multiple=True, + description="reverse of 'mounting_location'", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_intended_location_of=None, + is_location_of=None, + is_mounting_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_intended_location_of=is_intended_location_of, + is_location_of=is_location_of, + is_mounting_location_of=is_mounting_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/file_bundle_grouping.py b/fairgraph/openminds/v5/controlled_terms/file_bundle_grouping.py new file mode 100644 index 00000000..4c22ff2d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/file_bundle_grouping.py @@ -0,0 +1,113 @@ +""" +Structured information on the grouping mechanism of a file bundle. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import FileBundleGrouping as OMFileBundleGrouping +from fairgraph import KGObject + + +from openminds import IRI + + +class FileBundleGrouping(KGObject, OMFileBundleGrouping): + """ + Structured information on the grouping mechanism of a file bundle. + """ + + type_ = "https://openminds.om-i.org/types/FileBundleGrouping" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_defined_by", + "openminds.v5.core.FilePathPattern", + "groupingType", + reverse="grouping_types", + multiple=True, + description="reverse of 'grouping_types'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupingType", + reverse="grouping_types", + multiple=True, + description="reverse of 'grouping_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_defined_by=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_defined_by=is_defined_by, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/file_repository_type.py b/fairgraph/openminds/v5/controlled_terms/file_repository_type.py new file mode 100644 index 00000000..2371298a --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/file_repository_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import FileRepositoryType as OMFileRepositoryType +from fairgraph import KGObject + + +from openminds import IRI + + +class FileRepositoryType(KGObject, OMFileRepositoryType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/FileRepositoryType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.core.FileRepository", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/file_usage_role.py b/fairgraph/openminds/v5/controlled_terms/file_usage_role.py new file mode 100644 index 00000000..e87edb3b --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/file_usage_role.py @@ -0,0 +1,103 @@ +""" +Structured information on the usage role of a file instance or bundle. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import FileUsageRole as OMFileUsageRole +from fairgraph import KGObject + + +from openminds import IRI + + +class FileUsageRole(KGObject, OMFileUsageRole): + """ + Structured information on the usage role of a file instance or bundle. + """ + + type_ = "https://openminds.om-i.org/types/FileUsageRole" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "file", + ["openminds.v5.core.File", "openminds.v5.core.LocalFile"], + "specialUsageRole", + reverse="special_usage_role", + multiple=True, + description="reverse of 'special_usage_role'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + file=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + file=file, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/genetic_strain_type.py b/fairgraph/openminds/v5/controlled_terms/genetic_strain_type.py new file mode 100644 index 00000000..5c3e4db4 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/genetic_strain_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import GeneticStrainType as OMGeneticStrainType +from fairgraph import KGObject + + +from openminds import IRI + + +class GeneticStrainType(KGObject, OMGeneticStrainType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GeneticStrainType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_genetic_strain_type_of", + "openminds.v5.core.Strain", + "geneticStrainType", + reverse="genetic_strain_type", + multiple=True, + description="reverse of 'genetic_strain_type'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_genetic_strain_type_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_genetic_strain_type_of=is_genetic_strain_type_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/gustatory_stimulus_type.py b/fairgraph/openminds/v5/controlled_terms/gustatory_stimulus_type.py new file mode 100644 index 00000000..a98eb653 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/gustatory_stimulus_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import GustatoryStimulusType as OMGustatoryStimulusType +from fairgraph import KGObject + + +from openminds import IRI + + +class GustatoryStimulusType(KGObject, OMGustatoryStimulusType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GustatoryStimulusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "stimulusType", + reverse="stimulus_types", + multiple=True, + description="reverse of 'stimulus_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/handedness.py b/fairgraph/openminds/v5/controlled_terms/handedness.py new file mode 100644 index 00000000..a102c65f --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/handedness.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Handedness as OMHandedness +from fairgraph import KGObject + + +from openminds import IRI + + +class Handedness(KGObject, OMHandedness): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Handedness" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "subject_states", + ["openminds.v5.core.SubjectGroupState", "openminds.v5.core.SubjectState"], + "handedness", + reverse="handedness", + multiple=True, + description="reverse of 'handedness'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + subject_states=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + subject_states=subject_states, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/language.py b/fairgraph/openminds/v5/controlled_terms/language.py new file mode 100644 index 00000000..8fc51fa5 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/language.py @@ -0,0 +1,102 @@ +""" +Structured information on the available language setting. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Language as OMLanguage +from fairgraph import KGObject + + +from openminds import IRI + + +class Language(KGObject, OMLanguage): + """ + Structured information on the available language setting. + """ + + type_ = "https://openminds.om-i.org/types/Language" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + "openminds.v5.core.SoftwareVersion", + "language", + reverse="languages", + multiple=True, + description="reverse of 'languages'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/laterality.py b/fairgraph/openminds/v5/controlled_terms/laterality.py new file mode 100644 index 00000000..f185960a --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/laterality.py @@ -0,0 +1,108 @@ +""" +Structured information on the lateral direction. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Laterality as OMLaterality +from fairgraph import KGObject + + +from openminds import IRI + + +class Laterality(KGObject, OMLaterality): + """ + Structured information on the lateral direction. + """ + + type_ = "https://openminds.om-i.org/types/Laterality" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_laterality_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.sands.AtlasAnnotation", + "openminds.v5.sands.CustomAnnotation", + ], + "laterality", + reverse="lateralities", + multiple=True, + description="reverse of 'lateralities'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_laterality_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_laterality_of=is_laterality_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/learning_resource_type.py b/fairgraph/openminds/v5/controlled_terms/learning_resource_type.py new file mode 100644 index 00000000..af8ac2b4 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/learning_resource_type.py @@ -0,0 +1,102 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import LearningResourceType as OMLearningResourceType +from fairgraph import KGObject + + +from openminds import IRI + + +class LearningResourceType(KGObject, OMLearningResourceType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/LearningResourceType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.publications.LearningResource", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/measured_quantity.py b/fairgraph/openminds/v5/controlled_terms/measured_quantity.py new file mode 100644 index 00000000..3cbbdb4d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/measured_quantity.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MeasuredQuantity as OMMeasuredQuantity +from fairgraph import KGObject + + +from openminds import IRI + + +class MeasuredQuantity(KGObject, OMMeasuredQuantity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MeasuredQuantity" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "measurement", + "openminds.v5.core.Measurement", + "measuredQuantity", + reverse="measured_quantity", + multiple=True, + description="reverse of 'measured_quantity'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + measurement=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + measurement=measurement, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/measured_signal_type.py b/fairgraph/openminds/v5/controlled_terms/measured_signal_type.py new file mode 100644 index 00000000..27136412 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/measured_signal_type.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MeasuredSignalType as OMMeasuredSignalType +from fairgraph import KGObject + + +from openminds import IRI + + +class MeasuredSignalType(KGObject, OMMeasuredSignalType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MeasuredSignalType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/meta_data_model_type.py b/fairgraph/openminds/v5/controlled_terms/meta_data_model_type.py new file mode 100644 index 00000000..253c4135 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/meta_data_model_type.py @@ -0,0 +1,102 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MetaDataModelType as OMMetaDataModelType +from fairgraph import KGObject + + +from openminds import IRI + + +class MetaDataModelType(KGObject, OMMetaDataModelType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MetaDataModelType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.core.MetaDataModelVersion", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/model_abstraction_level.py b/fairgraph/openminds/v5/controlled_terms/model_abstraction_level.py new file mode 100644 index 00000000..7d0a079b --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/model_abstraction_level.py @@ -0,0 +1,93 @@ +""" +Structured information on abstraction level of the computational model. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ModelAbstractionLevel as OMModelAbstractionLevel +from fairgraph import KGObject + + +from openminds import IRI + + +class ModelAbstractionLevel(KGObject, OMModelAbstractionLevel): + """ + Structured information on abstraction level of the computational model. + """ + + type_ = "https://openminds.om-i.org/types/ModelAbstractionLevel" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/model_scope.py b/fairgraph/openminds/v5/controlled_terms/model_scope.py new file mode 100644 index 00000000..e71479cf --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/model_scope.py @@ -0,0 +1,101 @@ +""" +Structured information on the scope of the computational model. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ModelScope as OMModelScope +from fairgraph import KGObject + + +from openminds import IRI + + +class ModelScope(KGObject, OMModelScope): + """ + Structured information on the scope of the computational model. + """ + + type_ = "https://openminds.om-i.org/types/ModelScope" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.computation.ValidationTest", "openminds.v5.core.Model"], + "scope", + reverse="scope", + multiple=True, + description="reverse of 'scope'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/modification_consent_requirement.py b/fairgraph/openminds/v5/controlled_terms/modification_consent_requirement.py new file mode 100644 index 00000000..79929f3f --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/modification_consent_requirement.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ModificationConsentRequirement as OMModificationConsentRequirement +from fairgraph import KGObject + + +from openminds import IRI + + +class ModificationConsentRequirement(KGObject, OMModificationConsentRequirement): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ModificationConsentRequirement" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_profile_of", + "openminds.v5.core.UsageAgreement", + "modificationProfile", + reverse="modification_profiles", + multiple=True, + description="reverse of 'modification_profiles'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_profile_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_profile_of=is_profile_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/modification_constraint.py b/fairgraph/openminds/v5/controlled_terms/modification_constraint.py new file mode 100644 index 00000000..493f5580 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/modification_constraint.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ModificationConstraint as OMModificationConstraint +from fairgraph import KGObject + + +from openminds import IRI + + +class ModificationConstraint(KGObject, OMModificationConstraint): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ModificationConstraint" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_profile_of", + "openminds.v5.core.UsageAgreement", + "modificationProfile", + reverse="modification_profiles", + multiple=True, + description="reverse of 'modification_profiles'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_profile_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_profile_of=is_profile_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/modification_form.py b/fairgraph/openminds/v5/controlled_terms/modification_form.py new file mode 100644 index 00000000..1e5e085a --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/modification_form.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ModificationForm as OMModificationForm +from fairgraph import KGObject + + +from openminds import IRI + + +class ModificationForm(KGObject, OMModificationForm): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ModificationForm" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_profile_of", + "openminds.v5.core.UsageAgreement", + "modificationProfile", + reverse="modification_profiles", + multiple=True, + description="reverse of 'modification_profiles'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_profile_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_profile_of=is_profile_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/modification_scope.py b/fairgraph/openminds/v5/controlled_terms/modification_scope.py new file mode 100644 index 00000000..66e648d1 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/modification_scope.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ModificationScope as OMModificationScope +from fairgraph import KGObject + + +from openminds import IRI + + +class ModificationScope(KGObject, OMModificationScope): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ModificationScope" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_profile_of", + "openminds.v5.core.UsageAgreement", + "modificationProfile", + reverse="modification_profiles", + multiple=True, + description="reverse of 'modification_profiles'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_profile_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_profile_of=is_profile_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/molecular_entity.py b/fairgraph/openminds/v5/controlled_terms/molecular_entity.py new file mode 100644 index 00000000..13dd193c --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/molecular_entity.py @@ -0,0 +1,156 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MolecularEntity as OMMolecularEntity +from fairgraph import KGObject + + +from openminds import IRI + + +class MolecularEntity(KGObject, OMMolecularEntity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MolecularEntity" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "composes", + [ + "openminds.v5.chemicals.ChemicalSubstance", + "openminds.v5.ephys.Electrode", + "openminds.v5.ephys.ElectrodeArray", + "openminds.v5.ephys.Pipette", + ], + ["insulatorMaterial", "material", "molecularEntity"], + reverse=["insulator_material", "material", "molecular_entity"], + multiple=True, + description="reverse of insulator_material, material, molecular_entity", + ), + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "labels", + "openminds.v5.ephys.PipetteUsage", + "labelingCompound", + reverse="labeling_compound", + multiple=True, + description="reverse of 'labeling_compound'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + composes=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + labels=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + composes=composes, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + labels=labels, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/mri_fat_suppression_technique.py b/fairgraph/openminds/v5/controlled_terms/mri_fat_suppression_technique.py new file mode 100644 index 00000000..b1b30677 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/mri_fat_suppression_technique.py @@ -0,0 +1,106 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MRIFatSuppressionTechnique as OMMRIFatSuppressionTechnique +from fairgraph import KGObject + + +from openminds import IRI + + +class MRIFatSuppressionTechnique(KGObject, OMMRIFatSuppressionTechnique): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRIFatSuppressionTechnique" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + [ + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Protocol", + "openminds.v5.neuroimaging.MRIScannerUsage", + ], + ["fatSuppressionTechnique", "technique"], + reverse=["fat_suppression_technique", "techniques"], + multiple=True, + description="reverse of fat_suppression_technique, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/mri_parallel_acquisition_technique.py b/fairgraph/openminds/v5/controlled_terms/mri_parallel_acquisition_technique.py new file mode 100644 index 00000000..0985bec0 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/mri_parallel_acquisition_technique.py @@ -0,0 +1,106 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MRIParallelAcquisitionTechnique as OMMRIParallelAcquisitionTechnique +from fairgraph import KGObject + + +from openminds import IRI + + +class MRIParallelAcquisitionTechnique(KGObject, OMMRIParallelAcquisitionTechnique): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRIParallelAcquisitionTechnique" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + [ + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Protocol", + "openminds.v5.neuroimaging.MRIScannerUsage", + ], + ["parallelAcquisitionTechnique", "technique"], + reverse=["parallel_acquisition_technique", "techniques"], + multiple=True, + description="reverse of parallel_acquisition_technique, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/mri_pulse_sequence.py b/fairgraph/openminds/v5/controlled_terms/mri_pulse_sequence.py new file mode 100644 index 00000000..3a743793 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/mri_pulse_sequence.py @@ -0,0 +1,112 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MRIPulseSequence as OMMRIPulseSequence +from fairgraph import KGObject + + +from openminds import IRI + + +class MRIPulseSequence(KGObject, OMMRIPulseSequence): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRIPulseSequence" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.core.DatasetVersion", "openminds.v5.core.Protocol"], + "technique", + reverse="techniques", + multiple=True, + description="reverse of 'techniques'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/mri_spoiling_technique.py b/fairgraph/openminds/v5/controlled_terms/mri_spoiling_technique.py new file mode 100644 index 00000000..110c5584 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/mri_spoiling_technique.py @@ -0,0 +1,106 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MRISpoilingTechnique as OMMRISpoilingTechnique +from fairgraph import KGObject + + +from openminds import IRI + + +class MRISpoilingTechnique(KGObject, OMMRISpoilingTechnique): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRISpoilingTechnique" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + [ + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Protocol", + "openminds.v5.neuroimaging.MRIScannerUsage", + ], + ["spoilingTechnique", "technique"], + reverse=["spoiling_technique", "techniques"], + multiple=True, + description="reverse of spoiling_technique, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/mri_weighting.py b/fairgraph/openminds/v5/controlled_terms/mri_weighting.py new file mode 100644 index 00000000..46032e3b --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/mri_weighting.py @@ -0,0 +1,116 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MRIWeighting as OMMRIWeighting +from fairgraph import KGObject + + +from openminds import IRI + + +class MRIWeighting(KGObject, OMMRIWeighting): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRIWeighting" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + [ + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Protocol", + "openminds.v5.neuroimaging.MRIScannerUsage", + ], + ["MRIWeighting", "technique"], + reverse=["mri_weighting", "techniques"], + multiple=True, + description="reverse of mri_weighting, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/muscular_structure.py b/fairgraph/openminds/v5/controlled_terms/muscular_structure.py new file mode 100644 index 00000000..60b246c7 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/muscular_structure.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import MuscularStructure as OMMuscularStructure +from fairgraph import KGObject + + +from openminds import IRI + + +class MuscularStructure(KGObject, OMMuscularStructure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MuscularStructure" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/nervous_system_structure.py b/fairgraph/openminds/v5/controlled_terms/nervous_system_structure.py new file mode 100644 index 00000000..7e9b8515 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/nervous_system_structure.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import NervousSystemStructure as OMNervousSystemStructure +from fairgraph import KGObject + + +from openminds import IRI + + +class NervousSystemStructure(KGObject, OMNervousSystemStructure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/NervousSystemStructure" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/olfactory_stimulus_type.py b/fairgraph/openminds/v5/controlled_terms/olfactory_stimulus_type.py new file mode 100644 index 00000000..182b44e2 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/olfactory_stimulus_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OlfactoryStimulusType as OMOlfactoryStimulusType +from fairgraph import KGObject + + +from openminds import IRI + + +class OlfactoryStimulusType(KGObject, OMOlfactoryStimulusType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/OlfactoryStimulusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "stimulusType", + reverse="stimulus_types", + multiple=True, + description="reverse of 'stimulus_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/operating_device.py b/fairgraph/openminds/v5/controlled_terms/operating_device.py new file mode 100644 index 00000000..cd9b00f4 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/operating_device.py @@ -0,0 +1,102 @@ +""" +Structured information on the operating device. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OperatingDevice as OMOperatingDevice +from fairgraph import KGObject + + +from openminds import IRI + + +class OperatingDevice(KGObject, OMOperatingDevice): + """ + Structured information on the operating device. + """ + + type_ = "https://openminds.om-i.org/types/OperatingDevice" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_by", + "openminds.v5.core.SoftwareVersion", + "operatingDevice", + reverse="operating_devices", + multiple=True, + description="reverse of 'operating_devices'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_by=used_by, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/operating_system.py b/fairgraph/openminds/v5/controlled_terms/operating_system.py new file mode 100644 index 00000000..4d53579e --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/operating_system.py @@ -0,0 +1,102 @@ +""" +Structured information on the operating system. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OperatingSystem as OMOperatingSystem +from fairgraph import KGObject + + +from openminds import IRI + + +class OperatingSystem(KGObject, OMOperatingSystem): + """ + Structured information on the operating system. + """ + + type_ = "https://openminds.om-i.org/types/OperatingSystem" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_by", + "openminds.v5.core.SoftwareVersion", + "operatingSystem", + reverse="operating_systems", + multiple=True, + description="reverse of 'operating_systems'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_by=used_by, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/operational_approach.py b/fairgraph/openminds/v5/controlled_terms/operational_approach.py new file mode 100644 index 00000000..326113de --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/operational_approach.py @@ -0,0 +1,100 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OperationalApproach as OMOperationalApproach +from fairgraph import KGObject + + +from openminds import IRI + + +class OperationalApproach(KGObject, OMOperationalApproach): + """ + + """ + + type_ = "https://openminds.om-i.org/types/OperationalApproach" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/optical_stimulus_type.py b/fairgraph/openminds/v5/controlled_terms/optical_stimulus_type.py new file mode 100644 index 00000000..1c9907c2 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/optical_stimulus_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OpticalStimulusType as OMOpticalStimulusType +from fairgraph import KGObject + + +from openminds import IRI + + +class OpticalStimulusType(KGObject, OMOpticalStimulusType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/OpticalStimulusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "stimulusType", + reverse="stimulus_types", + multiple=True, + description="reverse of 'stimulus_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/organ.py b/fairgraph/openminds/v5/controlled_terms/organ.py new file mode 100644 index 00000000..aa463e91 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/organ.py @@ -0,0 +1,177 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Organ as OMOrgan +from fairgraph import KGObject + + +from openminds import IRI + + +class Organ(KGObject, OMOrgan): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Organ" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "sample", + ["openminds.v5.core.TissueSample", "openminds.v5.core.TissueSampleCollection"], + "origin", + reverse="origin", + multiple=True, + description="reverse of 'origin'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + sample=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + sample=sample, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/organ_system_structure.py b/fairgraph/openminds/v5/controlled_terms/organ_system_structure.py new file mode 100644 index 00000000..9b5e7f58 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/organ_system_structure.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OrganSystemStructure as OMOrganSystemStructure +from fairgraph import KGObject + + +from openminds import IRI + + +class OrganSystemStructure(KGObject, OMOrganSystemStructure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/OrganSystemStructure" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/organism_substance.py b/fairgraph/openminds/v5/controlled_terms/organism_substance.py new file mode 100644 index 00000000..d7bacc45 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/organism_substance.py @@ -0,0 +1,177 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OrganismSubstance as OMOrganismSubstance +from fairgraph import KGObject + + +from openminds import IRI + + +class OrganismSubstance(KGObject, OMOrganismSubstance): + """ + + """ + + type_ = "https://openminds.om-i.org/types/OrganismSubstance" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "sample", + ["openminds.v5.core.TissueSample", "openminds.v5.core.TissueSampleCollection"], + "origin", + reverse="origin", + multiple=True, + description="reverse of 'origin'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + sample=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + sample=sample, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/organism_system.py b/fairgraph/openminds/v5/controlled_terms/organism_system.py new file mode 100644 index 00000000..70ba40b5 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/organism_system.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OrganismSystem as OMOrganismSystem +from fairgraph import KGObject + + +from openminds import IRI + + +class OrganismSystem(KGObject, OMOrganismSystem): + """ + + """ + + type_ = "https://openminds.om-i.org/types/OrganismSystem" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/organization_type.py b/fairgraph/openminds/v5/controlled_terms/organization_type.py new file mode 100644 index 00000000..cf15948c --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/organization_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import OrganizationType as OMOrganizationType +from fairgraph import KGObject + + +from openminds import IRI + + +class OrganizationType(KGObject, OMOrganizationType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/OrganizationType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.core.Organization", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/patch_clamp_variation.py b/fairgraph/openminds/v5/controlled_terms/patch_clamp_variation.py new file mode 100644 index 00000000..4353e3cf --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/patch_clamp_variation.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import PatchClampVariation as OMPatchClampVariation +from fairgraph import KGObject + + +from openminds import IRI + + +class PatchClampVariation(KGObject, OMPatchClampVariation): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PatchClampVariation" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + "openminds.v5.ephys.CellPatching", + "variation", + reverse="variation", + multiple=True, + description="reverse of 'variation'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/payment_model_type.py b/fairgraph/openminds/v5/controlled_terms/payment_model_type.py new file mode 100644 index 00000000..3aabb06b --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/payment_model_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import PaymentModelType as OMPaymentModelType +from fairgraph import KGObject + + +from openminds import IRI + + +class PaymentModelType(KGObject, OMPaymentModelType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PaymentModelType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_payment_model_of", + "openminds.v5.core.Accessibility", + "paymentModel", + reverse="payment_models", + multiple=True, + description="reverse of 'payment_models'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_payment_model_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_payment_model_of=is_payment_model_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/preparation_type.py b/fairgraph/openminds/v5/controlled_terms/preparation_type.py new file mode 100644 index 00000000..0053a162 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/preparation_type.py @@ -0,0 +1,123 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import PreparationType as OMPreparationType +from fairgraph import KGObject + + +from openminds import IRI + + +class PreparationType(KGObject, OMPreparationType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PreparationType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_for", + [ + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "preparationDesign", + reverse="preparation_design", + multiple=True, + description="reverse of 'preparation_design'", + ), + Property( + "used_in", + "openminds.v5.core.DatasetVersion", + "preparationType", + reverse="preparation_types", + multiple=True, + description="reverse of 'preparation_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_for=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_for=used_for, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/programming_language.py b/fairgraph/openminds/v5/controlled_terms/programming_language.py new file mode 100644 index 00000000..ba352c36 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/programming_language.py @@ -0,0 +1,102 @@ +""" +Structured information on the programming language. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ProgrammingLanguage as OMProgrammingLanguage +from fairgraph import KGObject + + +from openminds import IRI + + +class ProgrammingLanguage(KGObject, OMProgrammingLanguage): + """ + Structured information on the programming language. + """ + + type_ = "https://openminds.om-i.org/types/ProgrammingLanguage" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + "openminds.v5.core.SoftwareVersion", + "programmingLanguage", + reverse="programming_languages", + multiple=True, + description="reverse of 'programming_languages'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/project_type.py b/fairgraph/openminds/v5/controlled_terms/project_type.py new file mode 100644 index 00000000..3e6f9b17 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/project_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import ProjectType as OMProjectType +from fairgraph import KGObject + + +from openminds import IRI + + +class ProjectType(KGObject, OMProjectType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ProjectType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.core.Project", + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/publication_status.py b/fairgraph/openminds/v5/controlled_terms/publication_status.py new file mode 100644 index 00000000..dc9a2d91 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/publication_status.py @@ -0,0 +1,104 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import PublicationStatus as OMPublicationStatus +from fairgraph import KGObject + + +from openminds import IRI + + +class PublicationStatus(KGObject, OMPublicationStatus): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PublicationStatus" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.Model", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.CommonCoordinateFramework", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_status_of", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "publicationStatus", + reverse="publication_status", + multiple=True, + description="reverse of 'publication_status'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_status_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_status_of=is_status_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/pulse_shape.py b/fairgraph/openminds/v5/controlled_terms/pulse_shape.py new file mode 100644 index 00000000..bbfa0fc2 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/pulse_shape.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import PulseShape as OMPulseShape +from fairgraph import KGObject + + +from openminds import IRI + + +class PulseShape(KGObject, OMPulseShape): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PulseShape" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + "openminds.v5.neuroimaging.MRIScannerUsage", + "MTPulseShape", + reverse="mt_pulse_shape", + multiple=True, + description="reverse of 'mt_pulse_shape'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/qualitative_overlap.py b/fairgraph/openminds/v5/controlled_terms/qualitative_overlap.py new file mode 100644 index 00000000..3a06b997 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/qualitative_overlap.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import QualitativeOverlap as OMQualitativeOverlap +from fairgraph import KGObject + + +from openminds import IRI + + +class QualitativeOverlap(KGObject, OMQualitativeOverlap): + """ + + """ + + type_ = "https://openminds.om-i.org/types/QualitativeOverlap" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/semantic_data_type.py b/fairgraph/openminds/v5/controlled_terms/semantic_data_type.py new file mode 100644 index 00000000..3e4fe7c3 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/semantic_data_type.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SemanticDataType as OMSemanticDataType +from fairgraph import KGObject + + +from openminds import IRI + + +class SemanticDataType(KGObject, OMSemanticDataType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SemanticDataType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/setup_type.py b/fairgraph/openminds/v5/controlled_terms/setup_type.py new file mode 100644 index 00000000..c9193f1d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/setup_type.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SetupType as OMSetupType +from fairgraph import KGObject + + +from openminds import IRI + + +class SetupType(KGObject, OMSetupType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SetupType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + "openminds.v5.core.Setup", + "type", + reverse="types", + multiple=True, + description="reverse of 'types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/signal_directionality.py b/fairgraph/openminds/v5/controlled_terms/signal_directionality.py new file mode 100644 index 00000000..7aa247ff --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/signal_directionality.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SignalDirectionality as OMSignalDirectionality +from fairgraph import KGObject + + +from openminds import IRI + + +class SignalDirectionality(KGObject, OMSignalDirectionality): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SignalDirectionality" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + "openminds.v5.neuroimaging.MRICoilUsage", + "signalDirectionality", + reverse="signal_directionality", + multiple=True, + description="reverse of 'signal_directionality'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/skeletal_structure.py b/fairgraph/openminds/v5/controlled_terms/skeletal_structure.py new file mode 100644 index 00000000..d3eef24b --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/skeletal_structure.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SkeletalStructure as OMSkeletalStructure +from fairgraph import KGObject + + +from openminds import IRI + + +class SkeletalStructure(KGObject, OMSkeletalStructure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SkeletalStructure" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/software_application_category.py b/fairgraph/openminds/v5/controlled_terms/software_application_category.py new file mode 100644 index 00000000..bc08e184 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/software_application_category.py @@ -0,0 +1,100 @@ +""" +Structured information on the category of the software application. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SoftwareApplicationCategory as OMSoftwareApplicationCategory +from fairgraph import KGObject + + +from openminds import IRI + + +class SoftwareApplicationCategory(KGObject, OMSoftwareApplicationCategory): + """ + Structured information on the category of the software application. + """ + + type_ = "https://openminds.om-i.org/types/SoftwareApplicationCategory" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/software_feature.py b/fairgraph/openminds/v5/controlled_terms/software_feature.py new file mode 100644 index 00000000..3f675cf8 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/software_feature.py @@ -0,0 +1,100 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SoftwareFeature as OMSoftwareFeature +from fairgraph import KGObject + + +from openminds import IRI + + +class SoftwareFeature(KGObject, OMSoftwareFeature): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SoftwareFeature" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/sovereign_state.py b/fairgraph/openminds/v5/controlled_terms/sovereign_state.py new file mode 100644 index 00000000..e2ad4edb --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/sovereign_state.py @@ -0,0 +1,113 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SovereignState as OMSovereignState +from fairgraph import KGObject + + +from openminds import IRI + + +class SovereignState(KGObject, OMSovereignState): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SovereignState" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "applies_to", + ["openminds.v5.core.Organization", "openminds.v5.core.UsageAgreement"], + "jurisdiction", + reverse="jurisdiction", + multiple=True, + description="reverse of 'jurisdiction'", + ), + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_country_of", + "openminds.v5.core.Location", + "country", + reverse="country", + multiple=True, + description="reverse of 'country'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + applies_to=None, + definition=None, + describes=None, + description=None, + is_country_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + applies_to=applies_to, + definition=definition, + describes=describes, + description=description, + is_country_of=is_country_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/spatial_encoding.py b/fairgraph/openminds/v5/controlled_terms/spatial_encoding.py new file mode 100644 index 00000000..aebfb22a --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/spatial_encoding.py @@ -0,0 +1,106 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SpatialEncoding as OMSpatialEncoding +from fairgraph import KGObject + + +from openminds import IRI + + +class SpatialEncoding(KGObject, OMSpatialEncoding): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SpatialEncoding" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_in", + [ + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Protocol", + "openminds.v5.neuroimaging.MRIScannerUsage", + ], + ["spatialEncoding", "technique"], + reverse=["spatial_encoding", "techniques"], + multiple=True, + description="reverse of spatial_encoding, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/species.py b/fairgraph/openminds/v5/controlled_terms/species.py new file mode 100644 index 00000000..711a5765 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/species.py @@ -0,0 +1,155 @@ +""" +Structured information on the species. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Species as OMSpecies +from fairgraph import KGObject + + +from openminds import IRI + + +class Species(KGObject, OMSpecies): + """ + Structured information on the species. + """ + + type_ = "https://openminds.om-i.org/types/Species" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_species_of", + [ + "openminds.v5.core.Strain", + "openminds.v5.core.Subject", + "openminds.v5.core.SubjectGroup", + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + ], + "species", + reverse="species", + multiple=True, + description="reverse of 'species'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.sands.AnatomicalAtlas", "openminds.v5.sands.CommonCoordinateFramework"], + "usedTaxon", + reverse="used_taxon", + multiple=True, + description="reverse of 'used_taxon'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_species_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_species_of=is_species_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/stimulation_approach.py b/fairgraph/openminds/v5/controlled_terms/stimulation_approach.py new file mode 100644 index 00000000..0f257afe --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/stimulation_approach.py @@ -0,0 +1,112 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import StimulationApproach as OMStimulationApproach +from fairgraph import KGObject + + +from openminds import IRI + + +class StimulationApproach(KGObject, OMStimulationApproach): + """ + + """ + + type_ = "https://openminds.om-i.org/types/StimulationApproach" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.DatasetVersion", "openminds.v5.core.Protocol"], + ["stimulation", "technique"], + reverse=["stimulations", "techniques"], + multiple=True, + description="reverse of stimulations, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/stimulation_technique.py b/fairgraph/openminds/v5/controlled_terms/stimulation_technique.py new file mode 100644 index 00000000..ce7fd4e8 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/stimulation_technique.py @@ -0,0 +1,112 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import StimulationTechnique as OMStimulationTechnique +from fairgraph import KGObject + + +from openminds import IRI + + +class StimulationTechnique(KGObject, OMStimulationTechnique): + """ + + """ + + type_ = "https://openminds.om-i.org/types/StimulationTechnique" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.DatasetVersion", "openminds.v5.core.Protocol"], + ["stimulation", "technique"], + reverse=["stimulations", "techniques"], + multiple=True, + description="reverse of stimulations, techniques", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/subcellular_entity.py b/fairgraph/openminds/v5/controlled_terms/subcellular_entity.py new file mode 100644 index 00000000..36ff5d32 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/subcellular_entity.py @@ -0,0 +1,159 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SubcellularEntity as OMSubcellularEntity +from fairgraph import KGObject + + +from openminds import IRI + + +class SubcellularEntity(KGObject, OMSubcellularEntity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SubcellularEntity" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/subject_attribute.py b/fairgraph/openminds/v5/controlled_terms/subject_attribute.py new file mode 100644 index 00000000..912eacc5 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/subject_attribute.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SubjectAttribute as OMSubjectAttribute +from fairgraph import KGObject + + +from openminds import IRI + + +class SubjectAttribute(KGObject, OMSubjectAttribute): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SubjectAttribute" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_attribute_of", + ["openminds.v5.core.SubjectGroupState", "openminds.v5.core.SubjectState"], + "attribute", + reverse="attributes", + multiple=True, + description="reverse of 'attributes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_attribute_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_attribute_of=is_attribute_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/supranational_body.py b/fairgraph/openminds/v5/controlled_terms/supranational_body.py new file mode 100644 index 00000000..a8e5f125 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/supranational_body.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import SupranationalBody as OMSupranationalBody +from fairgraph import KGObject + + +from openminds import IRI + + +class SupranationalBody(KGObject, OMSupranationalBody): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SupranationalBody" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "applies_to", + ["openminds.v5.core.Organization", "openminds.v5.core.UsageAgreement"], + "jurisdiction", + reverse="jurisdiction", + multiple=True, + description="reverse of 'jurisdiction'", + ), + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + applies_to=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + applies_to=applies_to, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/tactile_stimulus_type.py b/fairgraph/openminds/v5/controlled_terms/tactile_stimulus_type.py new file mode 100644 index 00000000..2f839fbc --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/tactile_stimulus_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import TactileStimulusType as OMTactileStimulusType +from fairgraph import KGObject + + +from openminds import IRI + + +class TactileStimulusType(KGObject, OMTactileStimulusType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TactileStimulusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "stimulusType", + reverse="stimulus_types", + multiple=True, + description="reverse of 'stimulus_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/technique.py b/fairgraph/openminds/v5/controlled_terms/technique.py new file mode 100644 index 00000000..1e82340d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/technique.py @@ -0,0 +1,128 @@ +""" +Structured information on the technique. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Technique as OMTechnique +from fairgraph import KGObject + + +from openminds import IRI + + +class Technique(KGObject, OMTechnique): + """ + Structured information on the technique. + """ + + type_ = "https://openminds.om-i.org/types/Technique" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_reference_for", + "openminds.v5.computation.ValidationTest", + "referenceDataAcquisition", + reverse="reference_data_acquisitions", + multiple=True, + description="reverse of 'reference_data_acquisitions'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.core.DatasetVersion", "openminds.v5.core.Protocol"], + "technique", + reverse="techniques", + multiple=True, + description="reverse of 'techniques'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_reference_for=None, + is_scope_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_reference_for=is_reference_for, + is_scope_of=is_scope_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/term_suggestion.py b/fairgraph/openminds/v5/controlled_terms/term_suggestion.py new file mode 100644 index 00000000..3f9fe399 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/term_suggestion.py @@ -0,0 +1,142 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import TermSuggestion as OMTermSuggestion +from fairgraph import KGObject + + +from openminds import IRI + + +class TermSuggestion(KGObject, OMTermSuggestion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TermSuggestion" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_scope_of", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Service", "openminds.v5.core.SoftwareVersion"], + "scope", + reverse="scopes", + multiple=True, + description="reverse of 'scopes'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + add_existing_terminology=None, + definition=None, + describes=None, + description=None, + is_scope_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + suggest_new_terminology=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + add_existing_terminology=add_existing_terminology, + definition=definition, + describes=describes, + description=description, + is_scope_of=is_scope_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + suggest_new_terminology=suggest_new_terminology, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/terminology.py b/fairgraph/openminds/v5/controlled_terms/terminology.py new file mode 100644 index 00000000..87aa5205 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/terminology.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import Terminology as OMTerminology +from fairgraph import KGObject + + +from openminds import IRI + + +class Terminology(KGObject, OMTerminology): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Terminology" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "suggested_in", + "openminds.v5.controlled_terms.TermSuggestion", + "addExistingTerminology", + reverse="add_existing_terminology", + multiple=True, + description="reverse of 'add_existing_terminology'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + suggested_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + suggested_in=suggested_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/tissue_sample_attribute.py b/fairgraph/openminds/v5/controlled_terms/tissue_sample_attribute.py new file mode 100644 index 00000000..1a4aa59d --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/tissue_sample_attribute.py @@ -0,0 +1,103 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import TissueSampleAttribute as OMTissueSampleAttribute +from fairgraph import KGObject + + +from openminds import IRI + + +class TissueSampleAttribute(KGObject, OMTissueSampleAttribute): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TissueSampleAttribute" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_attribute_of", + ["openminds.v5.core.TissueSampleCollectionState", "openminds.v5.core.TissueSampleState"], + "attribute", + reverse="attributes", + multiple=True, + description="reverse of 'attributes'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_attribute_of=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_attribute_of=is_attribute_of, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/tissue_sample_type.py b/fairgraph/openminds/v5/controlled_terms/tissue_sample_type.py new file mode 100644 index 00000000..004cc653 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/tissue_sample_type.py @@ -0,0 +1,141 @@ +""" +Structured information on the general type of the tissue sample. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import TissueSampleType as OMTissueSampleType +from fairgraph import KGObject + + +from openminds import IRI + + +class TissueSampleType(KGObject, OMTissueSampleType): + """ + Structured information on the general type of the tissue sample. + """ + + type_ = "https://openminds.om-i.org/types/TissueSampleType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_type_of", + ["openminds.v5.core.TissueSample", "openminds.v5.core.TissueSampleCollection"], + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_type_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_type_of=is_type_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/tissue_structure.py b/fairgraph/openminds/v5/controlled_terms/tissue_structure.py new file mode 100644 index 00000000..fddb3bfa --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/tissue_structure.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import TissueStructure as OMTissueStructure +from fairgraph import KGObject + + +from openminds import IRI + + +class TissueStructure(KGObject, OMTissueStructure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TissueStructure" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/type_of_uncertainty.py b/fairgraph/openminds/v5/controlled_terms/type_of_uncertainty.py new file mode 100644 index 00000000..1f6b8dee --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/type_of_uncertainty.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import TypeOfUncertainty as OMTypeOfUncertainty +from fairgraph import KGObject + + +from openminds import IRI + + +class TypeOfUncertainty(KGObject, OMTypeOfUncertainty): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TypeOfUncertainty" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/unit_of_measurement.py b/fairgraph/openminds/v5/controlled_terms/unit_of_measurement.py new file mode 100644 index 00000000..1f5097b8 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/unit_of_measurement.py @@ -0,0 +1,102 @@ +""" +Structured information on the unit of measurement. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import UnitOfMeasurement as OMUnitOfMeasurement +from fairgraph import KGObject + + +from openminds import IRI + + +class UnitOfMeasurement(KGObject, OMUnitOfMeasurement): + """ + Structured information on the unit of measurement. + """ + + type_ = "https://openminds.om-i.org/types/UnitOfMeasurement" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "used_by", + ["openminds.v5.sands.CommonCoordinateFrameworkVersion", "openminds.v5.sands.CustomCoordinateFramework"], + "nativeUnit", + reverse="native_unit", + multiple=True, + description="reverse of 'native_unit'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + used_by=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + used_by=used_by, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/vascular_structure.py b/fairgraph/openminds/v5/controlled_terms/vascular_structure.py new file mode 100644 index 00000000..303d7f80 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/vascular_structure.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import VascularStructure as OMVascularStructure +from fairgraph import KGObject + + +from openminds import IRI + + +class VascularStructure(KGObject, OMVascularStructure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/VascularStructure" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "interspecies_relation", + ["openminds.v5.sands.CustomAnatomicalEntity", "openminds.v5.sands.ParcellationEntity"], + "relatedInterspeciesAnatomy", + reverse="related_interspecies_anatomy", + multiple=True, + description="reverse of 'related_interspecies_anatomy'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interspecies_relation=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interspecies_relation=interspecies_relation, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/visual_stimulus_type.py b/fairgraph/openminds/v5/controlled_terms/visual_stimulus_type.py new file mode 100644 index 00000000..ecd7a7fd --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/visual_stimulus_type.py @@ -0,0 +1,141 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import VisualStimulusType as OMVisualStimulusType +from fairgraph import KGObject + + +from openminds import IRI + + +class VisualStimulusType(KGObject, OMVisualStimulusType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/VisualStimulusType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + Property( + "used_in", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "stimulusType", + reverse="stimulus_types", + multiple=True, + description="reverse of 'stimulus_types'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + is_used_to_group=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + studied_in=None, + synonyms=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + is_used_to_group=is_used_to_group, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + studied_in=studied_in, + synonyms=synonyms, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/controlled_terms/weight_type.py b/fairgraph/openminds/v5/controlled_terms/weight_type.py new file mode 100644 index 00000000..8cb83e8e --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/weight_type.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.controlled_terms import WeightType as OMWeightType +from fairgraph import KGObject + + +from openminds import IRI + + +class WeightType(KGObject, OMWeightType): + """ + + """ + + type_ = "https://openminds.om-i.org/types/WeightType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + other_cross_references=None, + other_ontology_identifiers=None, + preferred_cross_reference=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + other_cross_references=other_cross_references, + other_ontology_identifiers=other_ontology_identifiers, + preferred_cross_reference=preferred_cross_reference, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/core/__init__.py b/fairgraph/openminds/v5/core/__init__.py new file mode 100644 index 00000000..93b9be41 --- /dev/null +++ b/fairgraph/openminds/v5/core/__init__.py @@ -0,0 +1,117 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .research import ( + ProtocolExecution, + SubjectGroup, + Subject, + Strain, + TissueSampleCollection, + BehavioralProtocol, + StringProperty, + CustomPropertySet, + TissueSampleState, + SubjectState, + TissueSample, + Protocol, + TissueSampleCollectionState, + Configuration, + SpecimenAge, + NumericalProperty, + SubjectGroupState, + SpecimenWeight, + PropertyValueList, +) +from .products import ( + Interface, + Dataset, + Project, + DatasetVersion, + Service, + SoftwareVersion, + MetaDataModelVersion, + Model, + Software, + Setup, + HardwareProduct, + MetaDataModel, + InterfaceVersion, + ModelVersion, +) +from .digital_identifier import ( + ISSN, + IdentifiersDotOrgID, + DOI, + RORID, + GenericIdentifier, + RRID, + ORCID, + ISBN, + StockNumber, + LEI, + ISNI, + HANDLE, + SWHID, +) +from .miscellaneous import ( + Membership, + QuantitativeValue, + Location, + Funding, + ResearchProductGroup, + WebResource, + Accessibility, + GeoCoordinates, + Dependency, + QuantitativeValueRange, + QuantitativeValueArray, + Comment, +) +from .actors import Contribution, AccountInformation, Consortium, Affiliation, Organization, ContactInformation, Person +from .data import ( + ServiceLink, + UsageAgreement, + ContentTypePattern, + Copyright, + GridImage, + LocalFile, + FileArchive, + Hash, + GridImageStack, + ContentType, + FilePathPattern, + FileRepository, + License, + File, + FileBundle, + FileRepositoryStructure, + GridVolume, + GridVolumeSequence, + Measurement, +) + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/core/actors/__init__.py b/fairgraph/openminds/v5/core/actors/__init__.py new file mode 100644 index 00000000..043033de --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/__init__.py @@ -0,0 +1,7 @@ +from .account_information import AccountInformation +from .affiliation import Affiliation +from .consortium import Consortium +from .contact_information import ContactInformation +from .contribution import Contribution +from .organization import Organization +from .person import Person diff --git a/fairgraph/openminds/v5/core/actors/account_information.py b/fairgraph/openminds/v5/core/actors/account_information.py new file mode 100644 index 00000000..33ccf40a --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/account_information.py @@ -0,0 +1,44 @@ +""" +Structured information about a user account for a web service. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import AccountInformation as OMAccountInformation +from fairgraph import KGObject + + +class AccountInformation(KGObject, OMAccountInformation): + """ + Structured information about a user account for a web service. + """ + + type_ = "https://openminds.om-i.org/types/AccountInformation" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "belongs_to", + "openminds.v5.core.Person", + "associatedAccount", + reverse="associated_accounts", + multiple=True, + description="reverse of 'associated_accounts'", + ), + ] + existence_query_properties = ("service", "user_name") + + def __init__( + self, belongs_to=None, service=None, user_name=None, id=None, data=None, space=None, release_status=None + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + belongs_to=belongs_to, + service=service, + user_name=user_name, + ) diff --git a/fairgraph/openminds/v5/core/actors/affiliation.py b/fairgraph/openminds/v5/core/actors/affiliation.py new file mode 100644 index 00000000..eb374cf3 --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/affiliation.py @@ -0,0 +1,23 @@ +""" +Structured information about a relationship between two entities, such as a person and their employer. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Affiliation as OMAffiliation +from fairgraph import KGEmbedded + + +class Affiliation(KGEmbedded, OMAffiliation): + """ + Structured information about a relationship between two entities, such as a person and their employer. + """ + + type_ = "https://openminds.om-i.org/types/Affiliation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("organizations", "person") + + def __init__(self, organizations=None, person=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, organizations=organizations, person=person) diff --git a/fairgraph/openminds/v5/core/actors/consortium.py b/fairgraph/openminds/v5/core/actors/consortium.py new file mode 100644 index 00000000..f09b3ec0 --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/consortium.py @@ -0,0 +1,65 @@ +""" +Structured information about an association of two or more persons or organizations, with the objective of participating in a common activity. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Consortium as OMConsortium +from fairgraph import KGObject + + +from openminds import IRI + + +class Consortium(KGObject, OMConsortium): + """ + Structured information about an association of two or more persons or organizations, with the objective of participating in a common activity. + """ + + type_ = "https://openminds.om-i.org/types/Consortium" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_member_of", + "openminds.v5.core.Membership", + "member", + reverse="member", + multiple=True, + description="reverse of 'member'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("full_name", "memberships") + + def __init__( + self, + name=None, + alias=None, + contact_information=None, + full_name=None, + homepage=None, + is_member_of=None, + memberships=None, + short_name=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + contact_information=contact_information, + full_name=full_name, + homepage=homepage, + is_member_of=is_member_of, + memberships=memberships, + short_name=short_name, + ) diff --git a/fairgraph/openminds/v5/core/actors/contact_information.py b/fairgraph/openminds/v5/core/actors/contact_information.py new file mode 100644 index 00000000..545a95a8 --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/contact_information.py @@ -0,0 +1,43 @@ +""" +Structured information about how to contact a given person or consortium. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ContactInformation as OMContactInformation +from fairgraph import KGObject + + +class ContactInformation(KGObject, OMContactInformation): + """ + Structured information about how to contact a given person or consortium. + """ + + type_ = "https://openminds.om-i.org/types/ContactInformation" + default_space = "restricted" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_contact_information_of", + ["openminds.v5.core.Consortium", "openminds.v5.core.Person"], + "contactInformation", + reverse="contact_information", + multiple=True, + description="reverse of 'contact_information'", + ), + ] + existence_query_properties = ("emails",) + + def __init__( + self, emails=None, is_contact_information_of=None, id=None, data=None, space=None, release_status=None + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + emails=emails, + is_contact_information_of=is_contact_information_of, + ) diff --git a/fairgraph/openminds/v5/core/actors/contribution.py b/fairgraph/openminds/v5/core/actors/contribution.py new file mode 100644 index 00000000..3a57fca9 --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/contribution.py @@ -0,0 +1,23 @@ +""" +Structured information on the contribution made to a research product. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Contribution as OMContribution +from fairgraph import KGEmbedded + + +class Contribution(KGEmbedded, OMContribution): + """ + Structured information on the contribution made to a research product. + """ + + type_ = "https://openminds.om-i.org/types/Contribution" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("contributors", "type") + + def __init__(self, contributors=None, type=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, contributors=contributors, type=type) diff --git a/fairgraph/openminds/v5/core/actors/organization.py b/fairgraph/openminds/v5/core/actors/organization.py new file mode 100644 index 00000000..d8056dde --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/organization.py @@ -0,0 +1,160 @@ +""" +An entity comprised of one or more natural persons with a particular purpose. [adapted from Wikipedia](https://en.wikipedia.org/wiki/Organization) +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Organization as OMOrganization +from fairgraph import KGObject + + +from openminds import IRI + + +class Organization(KGObject, OMOrganization): + """ + An entity comprised of one or more natural persons with a particular purpose. [adapted from Wikipedia](https://en.wikipedia.org/wiki/Organization) + """ + + type_ = "https://openminds.om-i.org/types/Organization" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "authored", + "openminds.v5.core.UsageAgreement", + "authoringParty", + reverse="authoring_parties", + multiple=True, + description="reverse of 'authoring_parties'", + ), + Property( + "contributed_to", + [ + "openminds.v5.core.HardwareProduct", + "openminds.v5.ephys.Electrode", + "openminds.v5.ephys.ElectrodeArray", + "openminds.v5.ephys.Pipette", + "openminds.v5.neuroimaging.MRICoil", + "openminds.v5.neuroimaging.MRIScanner", + "openminds.v5.specimen_prep.SlicingDevice", + ], + "contribution", + reverse="contributions", + multiple=True, + description="reverse of 'contributions'", + ), + Property( + "emitted", + "openminds.v5.core.GenericIdentifier", + "emitter", + reverse="emitter", + multiple=True, + description="reverse of 'emitter'", + ), + Property( + "funded", + "openminds.v5.core.Funding", + "funder", + reverse="funder", + multiple=True, + description="reverse of 'funder'", + ), + Property( + "has_children", + "openminds.v5.core.Organization", + "hasParent", + reverse="has_parents", + multiple=True, + description="reverse of 'has_parents'", + ), + Property( + "hosts", + ["openminds.v5.core.FileRepository", "openminds.v5.publications.LivePaperResourceItem"], + "hostedBy", + reverse="hosted_by", + multiple=True, + description="reverse of 'hosted_by'", + ), + Property( + "is_member_of", + "openminds.v5.core.Membership", + "member", + reverse="member", + multiple=True, + description="reverse of 'member'", + ), + Property( + "is_provider_of", + "openminds.v5.chemicals.ProductSource", + "provider", + reverse="provider", + multiple=True, + description="reverse of 'provider'", + ), + Property( + "manufactured", + "openminds.v5.core.Setup", + "manufacturer", + reverse="manufacturers", + multiple=True, + description="reverse of 'manufacturers'", + ), + ] + existence_query_properties = ("country_of_formation", "name", "type") + + def __init__( + self, + name=None, + acronym=None, + alternate_names=None, + authored=None, + contributed_to=None, + country_of_formation=None, + digital_identifiers=None, + emitted=None, + funded=None, + has_children=None, + has_parents=None, + homepage=None, + hosts=None, + is_member_of=None, + is_provider_of=None, + jurisdiction=None, + location=None, + manufactured=None, + memberships=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + acronym=acronym, + alternate_names=alternate_names, + authored=authored, + contributed_to=contributed_to, + country_of_formation=country_of_formation, + digital_identifiers=digital_identifiers, + emitted=emitted, + funded=funded, + has_children=has_children, + has_parents=has_parents, + homepage=homepage, + hosts=hosts, + is_member_of=is_member_of, + is_provider_of=is_provider_of, + jurisdiction=jurisdiction, + location=location, + manufactured=manufactured, + memberships=memberships, + type=type, + ) diff --git a/fairgraph/openminds/v5/core/actors/person.py b/fairgraph/openminds/v5/core/actors/person.py new file mode 100644 index 00000000..c5083af8 --- /dev/null +++ b/fairgraph/openminds/v5/core/actors/person.py @@ -0,0 +1,194 @@ +""" +Structured information on a person. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Person as OMPerson +from fairgraph import KGObject + + +class Person(KGObject, OMPerson): + """ + Structured information on a person. + """ + + type_ = "https://openminds.om-i.org/types/Person" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "activities", + [ + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "performedBy", + reverse="performed_by", + multiple=True, + description="reverse of 'performed_by'", + ), + Property( + "authored", + "openminds.v5.core.UsageAgreement", + "authoringParty", + reverse="authoring_parties", + multiple=True, + description="reverse of 'authoring_parties'", + ), + Property( + "comments", + "openminds.v5.core.Comment", + "commenter", + reverse="commenter", + multiple=True, + description="reverse of 'commenter'", + ), + Property( + "contributed_to", + [ + "openminds.v5.core.HardwareProduct", + "openminds.v5.ephys.Electrode", + "openminds.v5.ephys.ElectrodeArray", + "openminds.v5.ephys.Pipette", + "openminds.v5.neuroimaging.MRICoil", + "openminds.v5.neuroimaging.MRIScanner", + "openminds.v5.specimen_prep.SlicingDevice", + ], + "contribution", + reverse="contributions", + multiple=True, + description="reverse of 'contributions'", + ), + Property( + "funded", + "openminds.v5.core.Funding", + "funder", + reverse="funder", + multiple=True, + description="reverse of 'funder'", + ), + Property( + "is_member_of", + "openminds.v5.core.Membership", + "member", + reverse="member", + multiple=True, + description="reverse of 'member'", + ), + Property( + "is_provider_of", + "openminds.v5.chemicals.ProductSource", + "provider", + reverse="provider", + multiple=True, + description="reverse of 'provider'", + ), + Property( + "manufactured", + "openminds.v5.core.Setup", + "manufacturer", + reverse="manufacturers", + multiple=True, + description="reverse of 'manufacturers'", + ), + Property( + "started", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + "openminds.v5.computation.WorkflowExecution", + ], + "startedBy", + reverse="started_by", + multiple=True, + description="reverse of 'started_by'", + ), + ] + existence_query_properties = ("given_name", "family_name") + + def __init__( + self, + activities=None, + alternate_names=None, + associated_accounts=None, + authored=None, + comments=None, + contact_information=None, + contributed_to=None, + digital_identifiers=None, + family_name=None, + funded=None, + given_name=None, + is_member_of=None, + is_provider_of=None, + manufactured=None, + preferred_name=None, + started=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + activities=activities, + alternate_names=alternate_names, + associated_accounts=associated_accounts, + authored=authored, + comments=comments, + contact_information=contact_information, + contributed_to=contributed_to, + digital_identifiers=digital_identifiers, + family_name=family_name, + funded=funded, + given_name=given_name, + is_member_of=is_member_of, + is_provider_of=is_provider_of, + manufactured=manufactured, + preferred_name=preferred_name, + started=started, + ) + + @property + def full_name(self): + return f"{self.given_name} {self.family_name}" + + @classmethod + def me(cls, client, allow_multiple=False, follow_links=None): + user_info = client.user_info() + possible_matches = cls.list( + client, + release_status="in progress", + space="common", + follow_links=follow_links, + family_name=user_info.family_name, + given_name=user_info.given_name, + ) + if len(possible_matches) == 0: + person = Person(family_name=user_info.family_name, given_name=user_info.given_name) + elif len(possible_matches) == 1: + person = possible_matches[0] + elif allow_multiple: + person = possible_matches + else: + raise Exception("Found multiple matches") + return person diff --git a/fairgraph/openminds/v5/core/data/__init__.py b/fairgraph/openminds/v5/core/data/__init__.py new file mode 100644 index 00000000..9aba35ee --- /dev/null +++ b/fairgraph/openminds/v5/core/data/__init__.py @@ -0,0 +1,19 @@ +from .content_type import ContentType +from .content_type_pattern import ContentTypePattern +from .copyright import Copyright +from .file import File +from .file_archive import FileArchive +from .file_bundle import FileBundle +from .file_path_pattern import FilePathPattern +from .file_repository import FileRepository +from .file_repository_structure import FileRepositoryStructure +from .grid_image import GridImage +from .grid_image_stack import GridImageStack +from .grid_volume import GridVolume +from .grid_volume_sequence import GridVolumeSequence +from .hash import Hash +from .license import License +from .local_file import LocalFile +from .measurement import Measurement +from .service_link import ServiceLink +from .usage_agreement import UsageAgreement diff --git a/fairgraph/openminds/v5/core/data/content_type.py b/fairgraph/openminds/v5/core/data/content_type.py new file mode 100644 index 00000000..418b8c14 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/content_type.py @@ -0,0 +1,119 @@ +""" +Structured information on the content type of a file instance, bundle or repository. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ContentType as OMContentType +from fairgraph import KGObject + + +from openminds import IRI + + +class ContentType(KGObject, OMContentType): + """ + Structured information on the content type of a file instance, bundle or repository. + """ + + type_ = "https://openminds.om-i.org/types/ContentType" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_derived", + "openminds.v5.core.ContentType", + "isBasedOn", + reverse="is_based_on", + multiple=True, + description="reverse of 'is_based_on'", + ), + Property( + "is_defined_by", + "openminds.v5.core.ContentTypePattern", + "contentType", + reverse="content_type", + multiple=True, + description="reverse of 'content_type'", + ), + Property( + "is_format_of", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Configuration", + "openminds.v5.core.File", + "openminds.v5.core.FileArchive", + "openminds.v5.core.FileBundle", + "openminds.v5.core.FileRepository", + "openminds.v5.core.LocalFile", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.WebResource", + ], + "format", + reverse="format", + multiple=True, + description="reverse of 'format'", + ), + Property( + "is_output_format_of", + "openminds.v5.core.SoftwareVersion", + "outputFormat", + reverse="output_formats", + multiple=True, + description="reverse of 'output_formats'", + ), + Property( + "is_specification_format_of", + "openminds.v5.core.MetaDataModelVersion", + "specificationFormat", + reverse="specification_formats", + multiple=True, + description="reverse of 'specification_formats'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + data_types=None, + defining_sources=None, + description=None, + display_label=None, + file_extensions=None, + has_derived=None, + is_based_on=None, + is_defined_by=None, + is_format_of=None, + is_output_format_of=None, + is_specification_format_of=None, + specification=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + data_types=data_types, + defining_sources=defining_sources, + description=description, + display_label=display_label, + file_extensions=file_extensions, + has_derived=has_derived, + is_based_on=is_based_on, + is_defined_by=is_defined_by, + is_format_of=is_format_of, + is_output_format_of=is_output_format_of, + is_specification_format_of=is_specification_format_of, + specification=specification, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/core/data/content_type_pattern.py b/fairgraph/openminds/v5/core/data/content_type_pattern.py new file mode 100644 index 00000000..53f33132 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/content_type_pattern.py @@ -0,0 +1,53 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ContentTypePattern as OMContentTypePattern +from fairgraph import KGObject + + +class ContentTypePattern(KGObject, OMContentTypePattern): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ContentTypePattern" + default_space = "files" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies_content_of", + "openminds.v5.core.FileRepository", + "contentTypePattern", + reverse="content_type_patterns", + multiple=True, + description="reverse of 'content_type_patterns'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + content_type=None, + identifies_content_of=None, + regex=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + content_type=content_type, + identifies_content_of=identifies_content_of, + regex=regex, + ) diff --git a/fairgraph/openminds/v5/core/data/copyright.py b/fairgraph/openminds/v5/core/data/copyright.py new file mode 100644 index 00000000..3da3de84 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/copyright.py @@ -0,0 +1,27 @@ +""" +Structured information on the copyright. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Copyright as OMCopyright +from fairgraph import KGEmbedded + + +class Copyright(KGEmbedded, OMCopyright): + """ + Structured information on the copyright. + """ + + type_ = "https://openminds.om-i.org/types/Copyright" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("holders", "years") + + def __init__( + self, custom_usage_clause=None, holders=None, years=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__( + self, data=data, custom_usage_clause=custom_usage_clause, holders=holders, years=years + ) diff --git a/fairgraph/openminds/v5/core/data/file.py b/fairgraph/openminds/v5/core/data/file.py new file mode 100644 index 00000000..86af1ab3 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/file.py @@ -0,0 +1,303 @@ +""" +Structured information on a file instance that is accessible via a URL. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import File as OMFile +from fairgraph import KGObject + +import os +import mimetypes +from pathlib import Path +from urllib.request import urlretrieve +from urllib.parse import quote, urlparse, urlunparse +from .hash import Hash +from .content_type import ContentType +from ..miscellaneous.quantitative_value import QuantitativeValue +from ...controlled_terms.unit_of_measurement import UnitOfMeasurement +from fairgraph.utility import accepted_terms_of_use, sha1sum + +mimetypes.init() +from openminds import IRI + + +class File(KGObject, OMFile): + """ + Structured information on a file instance that is accessible via a URL. + """ + + type_ = "https://openminds.om-i.org/types/File" + default_space = "files" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.core.BehavioralProtocol", + "openminds.v5.core.Protocol", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + "openminds.v5.neuroimaging.MRICoilUsage", + "openminds.v5.neuroimaging.MRIScannerUsage", + "openminds.v5.specimen_prep.SlicingDeviceUsage", + ], + ["describedIn", "metadataLocation"], + reverse=["described_in", "metadata_locations"], + multiple=True, + description="reverse of described_in, metadata_locations", + ), + Property( + "documents", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.core.Dataset", + "openminds.v5.core.Interface", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "documentation", + reverse="documentation", + multiple=True, + description="reverse of 'documentation'", + ), + Property( + "has_copies", + "openminds.v5.core.LocalFile", + "copyOf", + reverse="copy_of", + multiple=True, + description="reverse of 'copy_of'", + ), + Property( + "is_also_part_of", + "openminds.v5.computation.WorkflowRecipeVersion", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_configuration_of", + "openminds.v5.computation.WorkflowExecution", + "configuration", + reverse="configuration", + multiple=True, + description="reverse of 'configuration'", + ), + Property( + "is_default_image_for", + "openminds.v5.sands.CustomCoordinateFramework", + "defaultImage", + reverse="default_images", + multiple=True, + description="reverse of 'default_images'", + ), + Property( + "is_input_to", + "openminds.v5.core.DatasetVersion", + "inputData", + reverse="input_data", + multiple=True, + description="reverse of 'input_data'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + ], + "dataLocation", + reverse="data_location", + multiple=True, + description="reverse of 'data_location'", + ), + Property( + "is_output_of", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.stimulation.StimulationActivity", + ], + ["output", "outputData"], + reverse=["output_data", "outputs"], + multiple=True, + description="reverse of output_data, outputs", + ), + Property( + "is_preview_of", + "openminds.v5.core.ServiceLink", + "previewImage", + reverse="preview_image", + multiple=True, + description="reverse of 'preview_image'", + ), + Property( + "is_reference_for", + "openminds.v5.computation.ValidationTestVersion", + "referenceData", + reverse="reference_data", + multiple=True, + description="reverse of 'reference_data'", + ), + Property( + "is_source_data_of", + "openminds.v5.core.FileArchive", + "sourceData", + reverse="source_data", + multiple=True, + description="reverse of 'source_data'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "specifies", + [ + "openminds.v5.core.InterfaceVersion", + "openminds.v5.sands.AtlasAnnotation", + "openminds.v5.sands.CustomAnnotation", + "openminds.v5.stimulation.EphysStimulus", + ], + "specification", + reverse="specification", + multiple=True, + description="reverse of 'specification'", + ), + Property( + "used_in", + ["openminds.v5.neuroimaging.DynamicMRIAcquisition", "openminds.v5.neuroimaging.StaticMRIAcquisition"], + "registrationData", + reverse="registration_data", + multiple=True, + description="reverse of 'registration_data'", + ), + ] + aliases = {"hash": "hashes"} + existence_query_properties = ("iri", "hashes") + + def __init__( + self, + name=None, + content_description=None, + data_types=None, + describes=None, + documents=None, + file_repository=None, + format=None, + has_copies=None, + hash=None, + hashes=None, + iri=None, + is_also_part_of=None, + is_configuration_of=None, + is_default_image_for=None, + is_input_to=None, + is_location_of=None, + is_output_of=None, + is_part_of=None, + is_preview_of=None, + is_reference_for=None, + is_source_data_of=None, + is_used_to_group=None, + special_usage_role=None, + specifies=None, + storage_size=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + content_description=content_description, + data_types=data_types, + describes=describes, + documents=documents, + file_repository=file_repository, + format=format, + has_copies=has_copies, + hash=hash, + hashes=hashes, + iri=iri, + is_also_part_of=is_also_part_of, + is_configuration_of=is_configuration_of, + is_default_image_for=is_default_image_for, + is_input_to=is_input_to, + is_location_of=is_location_of, + is_output_of=is_output_of, + is_part_of=is_part_of, + is_preview_of=is_preview_of, + is_reference_for=is_reference_for, + is_source_data_of=is_source_data_of, + is_used_to_group=is_used_to_group, + special_usage_role=special_usage_role, + specifies=specifies, + storage_size=storage_size, + used_in=used_in, + ) + + @classmethod + def from_local_file(cls, relative_path): + obj = cls( + name=relative_path, + storage_size=QuantitativeValue( + value=float(os.stat(relative_path).st_size), unit=UnitOfMeasurement(name="bytes") + ), + hashes=Hash(algorithm="SHA1", digest=sha1sum(relative_path)), + format=ContentType(name=mimetypes.guess_type(relative_path)[0]), + # todo: query ContentTypes since that contains additional, EBRAINS-specific content types + ) + return obj + + def download(self, local_path, client, accept_terms_of_use=False): + if accepted_terms_of_use(client, accept_terms_of_use=accept_terms_of_use): + local_path = Path(local_path) + if local_path.is_dir(): + local_filename = local_path / self.name + else: + local_filename = local_path + local_filename.parent.mkdir(parents=True, exist_ok=True) + url_parts = urlparse(self.iri.value) + url_parts = url_parts._replace(path=quote(url_parts.path)) + url = urlunparse(url_parts) + local_filename, headers = urlretrieve(url, local_filename) + # todo: check hash value of downloaded file + # todo: if local_path isn't an existing directory but looks like a directory name + # rather than a filename, create that directory and save a file called self.name + # within it + return local_filename diff --git a/fairgraph/openminds/v5/core/data/file_archive.py b/fairgraph/openminds/v5/core/data/file_archive.py new file mode 100644 index 00000000..ee3420f6 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/file_archive.py @@ -0,0 +1,71 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import FileArchive as OMFileArchive +from fairgraph import KGObject + + +from openminds import IRI + + +class FileArchive(KGObject, OMFileArchive): + """ + + """ + + type_ = "https://openminds.om-i.org/types/FileArchive" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_location_of", + "openminds.v5.core.ServiceLink", + "dataLocation", + reverse="data_location", + multiple=True, + description="reverse of 'data_location'", + ), + Property( + "is_output_of", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "output", + reverse="outputs", + multiple=True, + description="reverse of 'outputs'", + ), + ] + existence_query_properties = ("iri", "format") + + def __init__( + self, + format=None, + iri=None, + is_location_of=None, + is_output_of=None, + source_data=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + format=format, + iri=iri, + is_location_of=is_location_of, + is_output_of=is_output_of, + source_data=source_data, + ) diff --git a/fairgraph/openminds/v5/core/data/file_bundle.py b/fairgraph/openminds/v5/core/data/file_bundle.py new file mode 100644 index 00000000..766af148 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/file_bundle.py @@ -0,0 +1,158 @@ +""" +Structured information on a bundle of file instances. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import FileBundle as OMFileBundle +from fairgraph import KGObject + + +class FileBundle(KGObject, OMFileBundle): + """ + Structured information on a bundle of file instances. + """ + + type_ = "https://openminds.om-i.org/types/FileBundle" + default_space = "files" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + "openminds.v5.neuroimaging.MRICoilUsage", + "openminds.v5.neuroimaging.MRIScannerUsage", + "openminds.v5.specimen_prep.SlicingDeviceUsage", + ], + "metadataLocation", + reverse="metadata_locations", + multiple=True, + description="reverse of 'metadata_locations'", + ), + Property( + "has_parts", + ["openminds.v5.core.File", "openminds.v5.core.FileBundle"], + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + Property( + "is_also_part_of", + "openminds.v5.computation.WorkflowRecipeVersion", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_input_to", + "openminds.v5.core.DatasetVersion", + "inputData", + reverse="input_data", + multiple=True, + description="reverse of 'input_data'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.core.ServiceLink", + ], + "dataLocation", + reverse="data_location", + multiple=True, + description="reverse of 'data_location'", + ), + Property( + "is_output_of", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.stimulation.StimulationActivity", + ], + ["output", "outputData"], + reverse=["output_data", "outputs"], + multiple=True, + description="reverse of output_data, outputs", + ), + Property( + "is_reference_for", + "openminds.v5.computation.ValidationTestVersion", + "referenceData", + reverse="reference_data", + multiple=True, + description="reverse of 'reference_data'", + ), + Property( + "specifies", + "openminds.v5.stimulation.EphysStimulus", + "specification", + reverse="specifications", + multiple=True, + description="reverse of 'specifications'", + ), + ] + existence_query_properties = ("is_part_of", "name") + + def __init__( + self, + name=None, + content_description=None, + describes=None, + format=None, + grouped_by=None, + grouping_types=None, + has_parts=None, + hash=None, + is_also_part_of=None, + is_input_to=None, + is_location_of=None, + is_output_of=None, + is_part_of=None, + is_reference_for=None, + specifies=None, + storage_size=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + content_description=content_description, + describes=describes, + format=format, + grouped_by=grouped_by, + grouping_types=grouping_types, + has_parts=has_parts, + hash=hash, + is_also_part_of=is_also_part_of, + is_input_to=is_input_to, + is_location_of=is_location_of, + is_output_of=is_output_of, + is_part_of=is_part_of, + is_reference_for=is_reference_for, + specifies=specifies, + storage_size=storage_size, + ) diff --git a/fairgraph/openminds/v5/core/data/file_path_pattern.py b/fairgraph/openminds/v5/core/data/file_path_pattern.py new file mode 100644 index 00000000..5ed6a5eb --- /dev/null +++ b/fairgraph/openminds/v5/core/data/file_path_pattern.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import FilePathPattern as OMFilePathPattern +from fairgraph import KGEmbedded + + +class FilePathPattern(KGEmbedded, OMFilePathPattern): + """ + + """ + + type_ = "https://openminds.om-i.org/types/FilePathPattern" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("grouping_types", "regex") + + def __init__(self, grouping_types=None, regex=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, grouping_types=grouping_types, regex=regex) diff --git a/fairgraph/openminds/v5/core/data/file_repository.py b/fairgraph/openminds/v5/core/data/file_repository.py new file mode 100644 index 00000000..d7ba9078 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/file_repository.py @@ -0,0 +1,99 @@ +""" +Structured information on a file repository. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import FileRepository as OMFileRepository +from fairgraph import KGObject + + +from openminds import IRI + + +class FileRepository(KGObject, OMFileRepository): + """ + Structured information on a file repository. + """ + + type_ = "https://openminds.om-i.org/types/FileRepository" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "contains_content_of", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "repository", + reverse="repository", + multiple=True, + description="reverse of 'repository'", + ), + Property( + "files", + "openminds.v5.core.File", + "fileRepository", + reverse="file_repository", + multiple=True, + description="reverse of 'file_repository'", + ), + Property( + "has_parts", + "openminds.v5.core.FileBundle", + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + ] + existence_query_properties = ("iri",) + + def __init__( + self, + name=None, + contains_content_of=None, + content_type_patterns=None, + files=None, + format=None, + has_parts=None, + hash=None, + hosted_by=None, + iri=None, + storage_size=None, + structure_pattern=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + contains_content_of=contains_content_of, + content_type_patterns=content_type_patterns, + files=files, + format=format, + has_parts=has_parts, + hash=hash, + hosted_by=hosted_by, + iri=iri, + storage_size=storage_size, + structure_pattern=structure_pattern, + type=type, + ) diff --git a/fairgraph/openminds/v5/core/data/file_repository_structure.py b/fairgraph/openminds/v5/core/data/file_repository_structure.py new file mode 100644 index 00000000..65b565f0 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/file_repository_structure.py @@ -0,0 +1,51 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import FileRepositoryStructure as OMFileRepositoryStructure +from fairgraph import KGObject + + +class FileRepositoryStructure(KGObject, OMFileRepositoryStructure): + """ + + """ + + type_ = "https://openminds.om-i.org/types/FileRepositoryStructure" + default_space = "files" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "structures", + "openminds.v5.core.FileRepository", + "structurePattern", + reverse="structure_pattern", + multiple=True, + description="reverse of 'structure_pattern'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + file_path_patterns=None, + structures=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + file_path_patterns=file_path_patterns, + structures=structures, + ) diff --git a/fairgraph/openminds/v5/core/data/grid_image.py b/fairgraph/openminds/v5/core/data/grid_image.py new file mode 100644 index 00000000..27b3f4b1 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/grid_image.py @@ -0,0 +1,50 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import GridImage as OMGridImage +from fairgraph import KGObject + + +class GridImage(KGObject, OMGridImage): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GridImage" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("data_location", "dimensions", "pixel_sizes") + + def __init__( + self, + name=None, + additional_remarks=None, + coordinate_framework=None, + data_location=None, + dimensions=None, + obtained_with=None, + pixel_sizes=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + additional_remarks=additional_remarks, + coordinate_framework=coordinate_framework, + data_location=data_location, + dimensions=dimensions, + obtained_with=obtained_with, + pixel_sizes=pixel_sizes, + ) diff --git a/fairgraph/openminds/v5/core/data/grid_image_stack.py b/fairgraph/openminds/v5/core/data/grid_image_stack.py new file mode 100644 index 00000000..a8ebeac4 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/grid_image_stack.py @@ -0,0 +1,54 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import GridImageStack as OMGridImageStack +from fairgraph import KGObject + + +class GridImageStack(KGObject, OMGridImageStack): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GridImageStack" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("data_location", "dimensions", "pixel_sizes", "z_step_size") + + def __init__( + self, + name=None, + additional_remarks=None, + coordinate_framework=None, + data_location=None, + dimensions=None, + number_of_images=None, + obtained_with=None, + pixel_sizes=None, + z_step_size=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + additional_remarks=additional_remarks, + coordinate_framework=coordinate_framework, + data_location=data_location, + dimensions=dimensions, + number_of_images=number_of_images, + obtained_with=obtained_with, + pixel_sizes=pixel_sizes, + z_step_size=z_step_size, + ) diff --git a/fairgraph/openminds/v5/core/data/grid_volume.py b/fairgraph/openminds/v5/core/data/grid_volume.py new file mode 100644 index 00000000..dc57d489 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/grid_volume.py @@ -0,0 +1,52 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import GridVolume as OMGridVolume +from fairgraph import KGObject + + +class GridVolume(KGObject, OMGridVolume): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GridVolume" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("data_location", "dimensions", "voxel_sizes") + + def __init__( + self, + name=None, + additional_remarks=None, + coordinate_framework=None, + data_location=None, + dimensions=None, + number_of_planes=None, + obtained_with=None, + voxel_sizes=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + additional_remarks=additional_remarks, + coordinate_framework=coordinate_framework, + data_location=data_location, + dimensions=dimensions, + number_of_planes=number_of_planes, + obtained_with=obtained_with, + voxel_sizes=voxel_sizes, + ) diff --git a/fairgraph/openminds/v5/core/data/grid_volume_sequence.py b/fairgraph/openminds/v5/core/data/grid_volume_sequence.py new file mode 100644 index 00000000..a26045d1 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/grid_volume_sequence.py @@ -0,0 +1,56 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import GridVolumeSequence as OMGridVolumeSequence +from fairgraph import KGObject + + +class GridVolumeSequence(KGObject, OMGridVolumeSequence): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GridVolumeSequence" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("data_location", "dimensions", "temporal_sampling_frequency", "voxel_sizes") + + def __init__( + self, + name=None, + additional_remarks=None, + coordinate_framework=None, + data_location=None, + dimensions=None, + number_of_planes=None, + number_of_volumes=None, + obtained_with=None, + temporal_sampling_frequency=None, + voxel_sizes=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + additional_remarks=additional_remarks, + coordinate_framework=coordinate_framework, + data_location=data_location, + dimensions=dimensions, + number_of_planes=number_of_planes, + number_of_volumes=number_of_volumes, + obtained_with=obtained_with, + temporal_sampling_frequency=temporal_sampling_frequency, + voxel_sizes=voxel_sizes, + ) diff --git a/fairgraph/openminds/v5/core/data/hash.py b/fairgraph/openminds/v5/core/data/hash.py new file mode 100644 index 00000000..896ed56c --- /dev/null +++ b/fairgraph/openminds/v5/core/data/hash.py @@ -0,0 +1,23 @@ +""" +Structured information on a hash. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Hash as OMHash +from fairgraph import KGEmbedded + + +class Hash(KGEmbedded, OMHash): + """ + Structured information on a hash. + """ + + type_ = "https://openminds.om-i.org/types/Hash" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("algorithm", "digest") + + def __init__(self, algorithm=None, digest=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, algorithm=algorithm, digest=digest) diff --git a/fairgraph/openminds/v5/core/data/license.py b/fairgraph/openminds/v5/core/data/license.py new file mode 100644 index 00000000..2a202bbf --- /dev/null +++ b/fairgraph/openminds/v5/core/data/license.py @@ -0,0 +1,89 @@ +""" +Structured information on a used license. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import License as OMLicense +from fairgraph import KGObject + + +from openminds import IRI + + +class License(KGObject, OMLicense): + """ + Structured information on a used license. + """ + + type_ = "https://openminds.om-i.org/types/License" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "applies_to", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "usageCondition", + reverse="usage_conditions", + multiple=True, + description="reverse of 'usage_conditions'", + ), + Property( + "is_source_of", + "openminds.v5.core.UsageAgreement", + "source", + reverse="sources", + multiple=True, + description="reverse of 'sources'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("alias",) + + def __init__( + self, + name=None, + alias=None, + applies_to=None, + full_name=None, + is_source_of=None, + legal_code=None, + short_name=None, + webpages=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + applies_to=applies_to, + full_name=full_name, + is_source_of=is_source_of, + legal_code=legal_code, + short_name=short_name, + webpages=webpages, + ) diff --git a/fairgraph/openminds/v5/core/data/local_file.py b/fairgraph/openminds/v5/core/data/local_file.py new file mode 100644 index 00000000..94432f49 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/local_file.py @@ -0,0 +1,83 @@ +""" +Structured information about a file that is not accessible via a URL. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import LocalFile as OMLocalFile +from fairgraph import KGObject + + +class LocalFile(KGObject, OMLocalFile): + """ + Structured information about a file that is not accessible via a URL. + """ + + type_ = "https://openminds.om-i.org/types/LocalFile" + default_space = "files" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_output_of", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "output", + reverse="outputs", + multiple=True, + description="reverse of 'outputs'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + ] + existence_query_properties = ("name", "hashes") + + def __init__( + self, + name=None, + content_description=None, + copy_of=None, + data_types=None, + format=None, + hash=None, + is_output_of=None, + is_used_to_group=None, + path=None, + special_usage_role=None, + storage_size=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + content_description=content_description, + copy_of=copy_of, + data_types=data_types, + format=format, + hash=hash, + is_output_of=is_output_of, + is_used_to_group=is_used_to_group, + path=path, + special_usage_role=special_usage_role, + storage_size=storage_size, + ) diff --git a/fairgraph/openminds/v5/core/data/measurement.py b/fairgraph/openminds/v5/core/data/measurement.py new file mode 100644 index 00000000..8d210c52 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/measurement.py @@ -0,0 +1,45 @@ +""" +Structured information about a measurement performed during a scientific experiment. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Measurement as OMMeasurement +from fairgraph import KGEmbedded + + +from datetime import datetime + + +class Measurement(KGEmbedded, OMMeasurement): + """ + Structured information about a measurement performed during a scientific experiment. + """ + + type_ = "https://openminds.om-i.org/types/Measurement" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("measured_quantity", "values") + + def __init__( + self, + additional_remarks=None, + measured_quantity=None, + obtained_with=None, + timestamp=None, + values=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + additional_remarks=additional_remarks, + measured_quantity=measured_quantity, + obtained_with=obtained_with, + timestamp=timestamp, + values=values, + ) diff --git a/fairgraph/openminds/v5/core/data/service_link.py b/fairgraph/openminds/v5/core/data/service_link.py new file mode 100644 index 00000000..45d1ffcf --- /dev/null +++ b/fairgraph/openminds/v5/core/data/service_link.py @@ -0,0 +1,49 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ServiceLink as OMServiceLink +from fairgraph import KGObject + + +from openminds import IRI + + +class ServiceLink(KGObject, OMServiceLink): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ServiceLink" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("data_location", "open_data_in", "services") + + def __init__( + self, + data_location=None, + display_label=None, + open_data_in=None, + preview_image=None, + services=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + data_location=data_location, + display_label=display_label, + open_data_in=open_data_in, + preview_image=preview_image, + services=services, + ) diff --git a/fairgraph/openminds/v5/core/data/usage_agreement.py b/fairgraph/openminds/v5/core/data/usage_agreement.py new file mode 100644 index 00000000..393c3ec3 --- /dev/null +++ b/fairgraph/openminds/v5/core/data/usage_agreement.py @@ -0,0 +1,101 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import UsageAgreement as OMUsageAgreement +from fairgraph import KGObject + + +class UsageAgreement(KGObject, OMUsageAgreement): + """ + + """ + + type_ = "https://openminds.om-i.org/types/UsageAgreement" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "applies_to", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "usageCondition", + reverse="usage_conditions", + multiple=True, + description="reverse of 'usage_conditions'", + ), + Property( + "is_source_of", + "openminds.v5.core.UsageAgreement", + "source", + reverse="sources", + multiple=True, + description="reverse of 'sources'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ( + "authoring_parties", + "full_name", + "jurisdiction", + "modification_profiles", + "short_name", + "template", + ) + + def __init__( + self, + name=None, + alias=None, + applies_to=None, + authoring_parties=None, + full_name=None, + is_source_of=None, + jurisdiction=None, + modification_profiles=None, + short_name=None, + sources=None, + support_channels=None, + template=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + applies_to=applies_to, + authoring_parties=authoring_parties, + full_name=full_name, + is_source_of=is_source_of, + jurisdiction=jurisdiction, + modification_profiles=modification_profiles, + short_name=short_name, + sources=sources, + support_channels=support_channels, + template=template, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/__init__.py b/fairgraph/openminds/v5/core/digital_identifier/__init__.py new file mode 100644 index 00000000..738f8690 --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/__init__.py @@ -0,0 +1,13 @@ +from .doi import DOI +from .generic_identifier import GenericIdentifier +from .handle import HANDLE +from .identifiers_dot_org_id import IdentifiersDotOrgID +from .isbn import ISBN +from .isni import ISNI +from .issn import ISSN +from .lei import LEI +from .orcid import ORCID +from .rorid import RORID +from .rrid import RRID +from .stock_number import StockNumber +from .swhid import SWHID diff --git a/fairgraph/openminds/v5/core/digital_identifier/doi.py b/fairgraph/openminds/v5/core/digital_identifier/doi.py new file mode 100644 index 00000000..702d4a68 --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/doi.py @@ -0,0 +1,97 @@ +""" +Structured information about a digital object identifier, as standardized by the International Organization for Standardization. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import DOI as OMDOI +from fairgraph import KGObject + + +class DOI(KGObject, OMDOI): + """ + Structured information about a digital object identifier, as standardized by the International Organization for Standardization. + """ + + type_ = "https://openminds.om-i.org/types/DOI" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "describedIn", + reverse="described_in", + multiple=True, + description="reverse of 'described_in'", + ), + Property( + "identifies", + [ + "openminds.v5.core.HardwareProduct", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.ScholarlyArticle", + ], + "digitalIdentifier", + reverse="digital_identifier", + multiple=True, + description="reverse of 'digital_identifier'", + ), + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__( + self, + describes=None, + identifier=None, + identifies=None, + related_to=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + describes=describes, + identifier=identifier, + identifies=identifies, + related_to=related_to, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/generic_identifier.py b/fairgraph/openminds/v5/core/digital_identifier/generic_identifier.py new file mode 100644 index 00000000..0e20c41e --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/generic_identifier.py @@ -0,0 +1,85 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import GenericIdentifier as OMGenericIdentifier +from fairgraph import KGObject + + +class GenericIdentifier(KGObject, OMGenericIdentifier): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GenericIdentifier" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + ["openminds.v5.core.HardwareProduct", "openminds.v5.core.Organization", "openminds.v5.core.Person"], + "digitalIdentifier", + reverse="digital_identifier", + multiple=True, + description="reverse of 'digital_identifier'", + ), + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__( + self, + emitter=None, + identifier=None, + identifies=None, + related_to=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + emitter=emitter, + identifier=identifier, + identifies=identifies, + related_to=related_to, + type=type, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/handle.py b/fairgraph/openminds/v5/core/digital_identifier/handle.py new file mode 100644 index 00000000..744994f5 --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/handle.py @@ -0,0 +1,63 @@ +""" +A persistent identifier for an information resource provided by the Handle System of the Corporation for National Research Initiatives. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import HANDLE as OMHANDLE +from fairgraph import KGObject + + +class HANDLE(KGObject, OMHANDLE): + """ + A persistent identifier for an information resource provided by the Handle System of the Corporation for National Research Initiatives. + """ + + type_ = "https://openminds.om-i.org/types/HANDLE" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, related_to=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + related_to=related_to, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/identifiers_dot_org_id.py b/fairgraph/openminds/v5/core/digital_identifier/identifiers_dot_org_id.py new file mode 100644 index 00000000..499bd510 --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/identifiers_dot_org_id.py @@ -0,0 +1,41 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import IdentifiersDotOrgID as OMIdentifiersDotOrgID +from fairgraph import KGObject + + +class IdentifiersDotOrgID(KGObject, OMIdentifiersDotOrgID): + """ + + """ + + type_ = "https://openminds.om-i.org/types/IdentifiersDotOrgID" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + ["openminds.v5.core.Dataset", "openminds.v5.core.DatasetVersion"], + "digitalIdentifier", + reverse="digital_identifier", + multiple=True, + description="reverse of 'digital_identifier'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/isbn.py b/fairgraph/openminds/v5/core/digital_identifier/isbn.py new file mode 100644 index 00000000..58730277 --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/isbn.py @@ -0,0 +1,95 @@ +""" +An International Standard Book Number of the International ISBN Agency. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ISBN as OMISBN +from fairgraph import KGObject + + +class ISBN(KGObject, OMISBN): + """ + An International Standard Book Number of the International ISBN Agency. + """ + + type_ = "https://openminds.om-i.org/types/ISBN" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "cited_in", + [ + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.ScholarlyArticle", + ], + "citedPublication", + reverse="cited_publications", + multiple=True, + description="reverse of 'cited_publications'", + ), + Property( + "identifies", + "openminds.v5.publications.Book", + "digitalIdentifier", + reverse="digital_identifier", + multiple=True, + description="reverse of 'digital_identifier'", + ), + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__( + self, + cited_in=None, + identifier=None, + identifies=None, + related_to=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + cited_in=cited_in, + identifier=identifier, + identifies=identifies, + related_to=related_to, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/isni.py b/fairgraph/openminds/v5/core/digital_identifier/isni.py new file mode 100644 index 00000000..57f73ba0 --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/isni.py @@ -0,0 +1,41 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ISNI as OMISNI +from fairgraph import KGObject + + +class ISNI(KGObject, OMISNI): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ISNI" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + "openminds.v5.core.Organization", + "digitalIdentifier", + reverse="digital_identifiers", + multiple=True, + description="reverse of 'digital_identifiers'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/issn.py b/fairgraph/openminds/v5/core/digital_identifier/issn.py new file mode 100644 index 00000000..5545cffd --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/issn.py @@ -0,0 +1,74 @@ +""" +An International Standard Serial Number of the ISSN International Centre. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ISSN as OMISSN +from fairgraph import KGObject + + +class ISSN(KGObject, OMISSN): + """ + An International Standard Serial Number of the ISSN International Centre. + """ + + type_ = "https://openminds.om-i.org/types/ISSN" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + "openminds.v5.publications.Periodical", + "digitalIdentifier", + reverse="digital_identifier", + multiple=True, + description="reverse of 'digital_identifier'", + ), + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__( + self, identifier=None, identifies=None, related_to=None, id=None, data=None, space=None, release_status=None + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + related_to=related_to, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/lei.py b/fairgraph/openminds/v5/core/digital_identifier/lei.py new file mode 100644 index 00000000..e00e2c4a --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/lei.py @@ -0,0 +1,41 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import LEI as OMLEI +from fairgraph import KGObject + + +class LEI(KGObject, OMLEI): + """ + + """ + + type_ = "https://openminds.om-i.org/types/LEI" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + "openminds.v5.core.Organization", + "digitalIdentifier", + reverse="digital_identifiers", + multiple=True, + description="reverse of 'digital_identifiers'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/orcid.py b/fairgraph/openminds/v5/core/digital_identifier/orcid.py new file mode 100644 index 00000000..7a84c0fd --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/orcid.py @@ -0,0 +1,41 @@ +""" +A persistent identifier for a researcher provided by Open Researcher and Contributor ID, Inc. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ORCID as OMORCID +from fairgraph import KGObject + + +class ORCID(KGObject, OMORCID): + """ + A persistent identifier for a researcher provided by Open Researcher and Contributor ID, Inc. + """ + + type_ = "https://openminds.om-i.org/types/ORCID" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + "openminds.v5.core.Person", + "digitalIdentifier", + reverse="digital_identifiers", + multiple=True, + description="reverse of 'digital_identifiers'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/rorid.py b/fairgraph/openminds/v5/core/digital_identifier/rorid.py new file mode 100644 index 00000000..79890af4 --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/rorid.py @@ -0,0 +1,41 @@ +""" +A persistent identifier for a research organization, provided by the Research Organization Registry. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import RORID as OMRORID +from fairgraph import KGObject + + +class RORID(KGObject, OMRORID): + """ + A persistent identifier for a research organization, provided by the Research Organization Registry. + """ + + type_ = "https://openminds.om-i.org/types/RORID" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + "openminds.v5.core.Organization", + "digitalIdentifier", + reverse="digital_identifiers", + multiple=True, + description="reverse of 'digital_identifiers'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/rrid.py b/fairgraph/openminds/v5/core/digital_identifier/rrid.py new file mode 100644 index 00000000..d61a86ed --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/rrid.py @@ -0,0 +1,58 @@ +""" +A persistent identifier for a research resource provided by the Resource Identification Initiative. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import RRID as OMRRID +from fairgraph import KGObject + + +class RRID(KGObject, OMRRID): + """ + A persistent identifier for a research resource provided by the Resource Identification Initiative. + """ + + type_ = "https://openminds.om-i.org/types/RRID" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + [ + "openminds.v5.chemicals.ProductSource", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.HardwareProduct", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Organization", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.core.Strain", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "digitalIdentifier", + reverse="digital_identifier", + multiple=True, + description="reverse of 'digital_identifier'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + ) diff --git a/fairgraph/openminds/v5/core/digital_identifier/stock_number.py b/fairgraph/openminds/v5/core/digital_identifier/stock_number.py new file mode 100644 index 00000000..a75f2c7b --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/stock_number.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import StockNumber as OMStockNumber +from fairgraph import KGEmbedded + + +class StockNumber(KGEmbedded, OMStockNumber): + """ + + """ + + type_ = "https://openminds.om-i.org/types/StockNumber" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("identifier", "vendor") + + def __init__(self, identifier=None, vendor=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, identifier=identifier, vendor=vendor) diff --git a/fairgraph/openminds/v5/core/digital_identifier/swhid.py b/fairgraph/openminds/v5/core/digital_identifier/swhid.py new file mode 100644 index 00000000..e84d39aa --- /dev/null +++ b/fairgraph/openminds/v5/core/digital_identifier/swhid.py @@ -0,0 +1,48 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import SWHID as OMSWHID +from fairgraph import KGObject + + +class SWHID(KGObject, OMSWHID): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SWHID" + default_space = "software" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "identifies", + [ + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + ], + "digitalIdentifier", + reverse="digital_identifier", + multiple=True, + description="reverse of 'digital_identifier'", + ), + ] + existence_query_properties = ("identifier",) + + def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + identifier=identifier, + identifies=identifies, + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/__init__.py b/fairgraph/openminds/v5/core/miscellaneous/__init__.py new file mode 100644 index 00000000..dacb465c --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/__init__.py @@ -0,0 +1,12 @@ +from .accessibility import Accessibility +from .comment import Comment +from .dependency import Dependency +from .funding import Funding +from .geo_coordinates import GeoCoordinates +from .location import Location +from .membership import Membership +from .quantitative_value import QuantitativeValue +from .quantitative_value_array import QuantitativeValueArray +from .quantitative_value_range import QuantitativeValueRange +from .research_product_group import ResearchProductGroup +from .web_resource import WebResource diff --git a/fairgraph/openminds/v5/core/miscellaneous/accessibility.py b/fairgraph/openminds/v5/core/miscellaneous/accessibility.py new file mode 100644 index 00000000..9ad16fb3 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/accessibility.py @@ -0,0 +1,69 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Accessibility as OMAccessibility +from fairgraph import KGObject + + +class Accessibility(KGObject, OMAccessibility): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Accessibility" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_accessibility_of", + [ + "openminds.v5.computation.DeployedInterface", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "accessibility", + reverse="accessibility", + multiple=True, + description="reverse of 'accessibility'", + ), + ] + existence_query_properties = ("channel", "eligibility", "form", "payment_models", "process") + + def __init__( + self, + channel=None, + eligibility=None, + form=None, + is_accessibility_of=None, + payment_models=None, + process=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + channel=channel, + eligibility=eligibility, + form=form, + is_accessibility_of=is_accessibility_of, + payment_models=payment_models, + process=process, + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/comment.py b/fairgraph/openminds/v5/core/miscellaneous/comment.py new file mode 100644 index 00000000..62a2f148 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/comment.py @@ -0,0 +1,47 @@ +""" +Structured information about a short text expressing an opinion on, or giving information about some entity. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Comment as OMComment +from fairgraph import KGObject + + +from datetime import datetime + + +class Comment(KGObject, OMComment): + """ + Structured information about a short text expressing an opinion on, or giving information about some entity. + """ + + type_ = "https://openminds.om-i.org/types/Comment" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("about", "comment", "commenter", "timestamp") + + def __init__( + self, + about=None, + comment=None, + commenter=None, + timestamp=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + about=about, + comment=comment, + commenter=commenter, + timestamp=timestamp, + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/dependency.py b/fairgraph/openminds/v5/core/miscellaneous/dependency.py new file mode 100644 index 00000000..c528155c --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/dependency.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Dependency as OMDependency +from fairgraph import KGEmbedded + + +class Dependency(KGEmbedded, OMDependency): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Dependency" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("fulfilled_by",) + + def __init__(self, failure_impacts=None, fulfilled_by=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, failure_impacts=failure_impacts, fulfilled_by=fulfilled_by) diff --git a/fairgraph/openminds/v5/core/miscellaneous/funding.py b/fairgraph/openminds/v5/core/miscellaneous/funding.py new file mode 100644 index 00000000..3c2ddd69 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/funding.py @@ -0,0 +1,70 @@ +""" +Structured information on used funding. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Funding as OMFunding +from fairgraph import KGObject + + +class Funding(KGObject, OMFunding): + """ + Structured information on used funding. + """ + + type_ = "https://openminds.om-i.org/types/Funding" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "funded", + [ + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.Book", + "openminds.v5.publications.Chapter", + "openminds.v5.publications.LearningResource", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.publications.ScholarlyArticle", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "funding", + reverse="funding", + multiple=True, + description="reverse of 'funding'", + ), + ] + existence_query_properties = ("funder",) + + def __init__( + self, + acknowledgement=None, + award_number=None, + award_title=None, + funded=None, + funder=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + acknowledgement=acknowledgement, + award_number=award_number, + award_title=award_title, + funded=funded, + funder=funder, + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/geo_coordinates.py b/fairgraph/openminds/v5/core/miscellaneous/geo_coordinates.py new file mode 100644 index 00000000..3fdc0688 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/geo_coordinates.py @@ -0,0 +1,28 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import GeoCoordinates as OMGeoCoordinates +from fairgraph import KGEmbedded + + +from numbers import Real + + +class GeoCoordinates(KGEmbedded, OMGeoCoordinates): + """ + + """ + + type_ = "https://openminds.om-i.org/types/GeoCoordinates" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("latitude", "longitude") + + def __init__( + self, elevation=None, latitude=None, longitude=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__(self, data=data, elevation=elevation, latitude=latitude, longitude=longitude) diff --git a/fairgraph/openminds/v5/core/miscellaneous/location.py b/fairgraph/openminds/v5/core/miscellaneous/location.py new file mode 100644 index 00000000..15649e22 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/location.py @@ -0,0 +1,25 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Location as OMLocation +from fairgraph import KGEmbedded + + +class Location(KGEmbedded, OMLocation): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Location" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("country",) + + def __init__( + self, address=None, country=None, geo_coordinates=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__(self, data=data, address=address, country=country, geo_coordinates=geo_coordinates) diff --git a/fairgraph/openminds/v5/core/miscellaneous/membership.py b/fairgraph/openminds/v5/core/miscellaneous/membership.py new file mode 100644 index 00000000..9cf2a973 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/membership.py @@ -0,0 +1,28 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Membership as OMMembership +from fairgraph import KGEmbedded + + +from datetime import date + + +class Membership(KGEmbedded, OMMembership): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Membership" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("member",) + + def __init__( + self, end_date=None, member=None, start_date=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__(self, data=data, end_date=end_date, member=member, start_date=start_date) diff --git a/fairgraph/openminds/v5/core/miscellaneous/quantitative_value.py b/fairgraph/openminds/v5/core/miscellaneous/quantitative_value.py new file mode 100644 index 00000000..010ff5b7 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/quantitative_value.py @@ -0,0 +1,43 @@ +""" +Structured information on a quantitative value. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import QuantitativeValue as OMQuantitativeValue +from fairgraph import KGEmbedded + + +from numbers import Real + + +class QuantitativeValue(KGEmbedded, OMQuantitativeValue): + """ + Structured information on a quantitative value. + """ + + type_ = "https://openminds.om-i.org/types/QuantitativeValue" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("value", "unit", "uncertainties") + + def __init__( + self, + type_of_uncertainty=None, + uncertainties=None, + unit=None, + value=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + type_of_uncertainty=type_of_uncertainty, + uncertainties=uncertainties, + unit=unit, + value=value, + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/quantitative_value_array.py b/fairgraph/openminds/v5/core/miscellaneous/quantitative_value_array.py new file mode 100644 index 00000000..0f08152c --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/quantitative_value_array.py @@ -0,0 +1,45 @@ +""" +A representation of an array of quantitative values, optionally with uncertainties. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import QuantitativeValueArray as OMQuantitativeValueArray +from fairgraph import KGEmbedded + + +from numbers import Real + + +class QuantitativeValueArray(KGEmbedded, OMQuantitativeValueArray): + """ + A representation of an array of quantitative values, optionally with uncertainties. + """ + + type_ = "https://openminds.om-i.org/types/QuantitativeValueArray" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("values",) + + def __init__( + self, + negative_uncertainties=None, + positive_uncertainties=None, + type_of_uncertainty=None, + unit=None, + values=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + negative_uncertainties=negative_uncertainties, + positive_uncertainties=positive_uncertainties, + type_of_uncertainty=type_of_uncertainty, + unit=unit, + values=values, + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/quantitative_value_range.py b/fairgraph/openminds/v5/core/miscellaneous/quantitative_value_range.py new file mode 100644 index 00000000..c6f50eb5 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/quantitative_value_range.py @@ -0,0 +1,43 @@ +""" +A representation of a range of quantitative values. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import QuantitativeValueRange as OMQuantitativeValueRange +from fairgraph import KGEmbedded + + +from numbers import Real + + +class QuantitativeValueRange(KGEmbedded, OMQuantitativeValueRange): + """ + A representation of a range of quantitative values. + """ + + type_ = "https://openminds.om-i.org/types/QuantitativeValueRange" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("max_value", "min_value") + + def __init__( + self, + max_value=None, + max_value_unit=None, + min_value=None, + min_value_unit=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + max_value=max_value, + max_value_unit=max_value_unit, + min_value=min_value, + min_value_unit=min_value_unit, + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/research_product_group.py b/fairgraph/openminds/v5/core/miscellaneous/research_product_group.py new file mode 100644 index 00000000..25a7209b --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/research_product_group.py @@ -0,0 +1,26 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ResearchProductGroup as OMResearchProductGroup +from fairgraph import KGObject + + +class ResearchProductGroup(KGObject, OMResearchProductGroup): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ResearchProductGroup" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("context", "has_parts") + + def __init__(self, context=None, has_parts=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__( + self, id=id, space=space, release_status=release_status, data=data, context=context, has_parts=has_parts + ) diff --git a/fairgraph/openminds/v5/core/miscellaneous/web_resource.py b/fairgraph/openminds/v5/core/miscellaneous/web_resource.py new file mode 100644 index 00000000..262bc165 --- /dev/null +++ b/fairgraph/openminds/v5/core/miscellaneous/web_resource.py @@ -0,0 +1,164 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import WebResource as OMWebResource +from fairgraph import KGObject + + +from openminds import IRI + + +class WebResource(KGObject, OMWebResource): + """ + + """ + + type_ = "https://openminds.om-i.org/types/WebResource" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + ["openminds.v5.core.BehavioralProtocol", "openminds.v5.core.Protocol"], + "describedIn", + reverse="described_in", + multiple=True, + description="reverse of 'described_in'", + ), + Property( + "documents", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.Interface", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "documentation", + reverse="documentation", + multiple=True, + description="reverse of 'documentation'", + ), + Property( + "is_entry_point_of", + "openminds.v5.computation.DeployedInterface", + "entryPoint", + reverse="entry_point", + multiple=True, + description="reverse of 'entry_point'", + ), + Property( + "is_input_to", + "openminds.v5.core.DatasetVersion", + "inputData", + reverse="input_data", + multiple=True, + description="reverse of 'input_data'", + ), + Property( + "is_output_of", + "openminds.v5.core.ModelVersion", + "outputData", + reverse="output_data", + multiple=True, + description="reverse of 'output_data'", + ), + Property( + "is_reference_for", + "openminds.v5.computation.ValidationTestVersion", + "referenceData", + reverse="reference_data", + multiple=True, + description="reverse of 'reference_data'", + ), + Property( + "is_template_of", + "openminds.v5.core.UsageAgreement", + "template", + reverse="template", + multiple=True, + description="reverse of 'template'", + ), + Property( + "is_used_by", + "openminds.v5.computation.ServiceDeployment", + "uses", + reverse="uses", + multiple=True, + description="reverse of 'uses'", + ), + Property( + "linked_from", + "openminds.v5.core.ServiceLink", + "service", + reverse="services", + multiple=True, + description="reverse of 'services'", + ), + Property( + "specifies", + "openminds.v5.core.InterfaceVersion", + "specification", + reverse="specification", + multiple=True, + description="reverse of 'specification'", + ), + ] + existence_query_properties = ("iri",) + + def __init__( + self, + content_description=None, + describes=None, + documents=None, + format=None, + iri=None, + is_entry_point_of=None, + is_input_to=None, + is_output_of=None, + is_reference_for=None, + is_template_of=None, + is_used_by=None, + linked_from=None, + specifies=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + content_description=content_description, + describes=describes, + documents=documents, + format=format, + iri=iri, + is_entry_point_of=is_entry_point_of, + is_input_to=is_input_to, + is_output_of=is_output_of, + is_reference_for=is_reference_for, + is_template_of=is_template_of, + is_used_by=is_used_by, + linked_from=linked_from, + specifies=specifies, + ) diff --git a/fairgraph/openminds/v5/core/products/__init__.py b/fairgraph/openminds/v5/core/products/__init__.py new file mode 100644 index 00000000..b282010d --- /dev/null +++ b/fairgraph/openminds/v5/core/products/__init__.py @@ -0,0 +1,14 @@ +from .dataset import Dataset +from .dataset_version import DatasetVersion +from .hardware_product import HardwareProduct +from .interface import Interface +from .interface_version import InterfaceVersion +from .meta_data_model import MetaDataModel +from .meta_data_model_version import MetaDataModelVersion +from .model import Model +from .model_version import ModelVersion +from .project import Project +from .service import Service +from .setup import Setup +from .software import Software +from .software_version import SoftwareVersion diff --git a/fairgraph/openminds/v5/core/products/dataset.py b/fairgraph/openminds/v5/core/products/dataset.py new file mode 100644 index 00000000..fb49d566 --- /dev/null +++ b/fairgraph/openminds/v5/core/products/dataset.py @@ -0,0 +1,109 @@ +""" +Structured information on data originating from human/animal studies or simulations (concept level). +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Dataset as OMDataset +from fairgraph import KGObject + + +from openminds import IRI + + +class Dataset(KGObject, OMDataset): + """ + Structured information on data originating from human/animal studies or simulations (concept level). + """ + + type_ = "https://openminds.om-i.org/types/Dataset" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.core.DatasetVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name",) + + def __init__( + self, + name=None, + alias=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + keywords=None, + learning_resources=None, + related_publications=None, + short_name=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/core/products/dataset_version.py b/fairgraph/openminds/v5/core/products/dataset_version.py new file mode 100644 index 00000000..edf2f82c --- /dev/null +++ b/fairgraph/openminds/v5/core/products/dataset_version.py @@ -0,0 +1,242 @@ +""" +Structured information on data originating from human/animal studies or simulations (version level). +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import DatasetVersion as OMDatasetVersion +from fairgraph import KGObject + +from urllib.request import urlretrieve +from pathlib import Path +from fairgraph.utility import accepted_terms_of_use +from datetime import date +from openminds import IRI + + +class DatasetVersion(KGObject, OMDatasetVersion): + """ + Structured information on data originating from human/animal studies or simulations (version level). + """ + + type_ = "https://openminds.om-i.org/types/DatasetVersion" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_parts", + [ + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + Property( + "has_variants", + "openminds.v5.core.DatasetVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_input_to", + "openminds.v5.computation.DataCopy", + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_used_by", + "openminds.v5.computation.ServiceDeployment", + "uses", + reverse="uses", + multiple=True, + description="reverse of 'uses'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "publication", + "openminds.v5.publications.LivePaperVersion", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + accessibility=None, + comments=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + data_types=None, + description=None, + digital_identifier=None, + documentation=None, + ethics_jurisdiction=None, + experimental_approaches=None, + full_name=None, + funding=None, + has_parts=None, + has_variants=None, + homepage=None, + how_to_cite=None, + input_data=None, + is_input_to=None, + is_part_of=None, + is_preceded_by=None, + is_used_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + preparation_types=None, + protocols=None, + publication=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + studied_specimens=None, + study_targets=None, + support_channels=None, + techniques=None, + usage_conditions=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + accessibility=accessibility, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + data_types=data_types, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + ethics_jurisdiction=ethics_jurisdiction, + experimental_approaches=experimental_approaches, + full_name=full_name, + funding=funding, + has_parts=has_parts, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + input_data=input_data, + is_input_to=is_input_to, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_used_by=is_used_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + preparation_types=preparation_types, + protocols=protocols, + publication=publication, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + studied_specimens=studied_specimens, + study_targets=study_targets, + support_channels=support_channels, + techniques=techniques, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + version_specification=version_specification, + ) + + def download(self, local_path, client, accept_terms_of_use=False): + if accepted_terms_of_use(client, accept_terms_of_use=accept_terms_of_use): + repo = self.repository.resolve(client, release_status=self.release_status or None) + if repo.iri.value.startswith("https://object.cscs.ch/v1/AUTH") or repo.iri.value.startswith( + "https://data-proxy.ebrains.eu/api/v1/public" + ): + zip_archive_url = f"https://data.kg.ebrains.eu/zip?container={repo.iri.value}" + else: + raise NotImplementedError("Download not yet implemented for this repository type") + if local_path.endswith(".zip"): + local_filename = Path(local_path) + else: + local_filename = Path(local_path) / (zip_archive_url.split("/")[-1] + ".zip") + local_filename.parent.mkdir(parents=True, exist_ok=True) + local_filename, headers = urlretrieve(zip_archive_url, local_filename) + return local_filename, repo.iri.value + + def _get_inherited_property(self, property_name, client, release_status="released"): + value = getattr(self, property_name) + if value: + return value + else: + parent = self.is_version_of.resolve(client, release_status=release_status) + return getattr(parent, property_name) + + def get_full_name(self, client, release_status="released"): + return self._get_inherited_property("full_name", client, release_status) + + def get_short_name(self, client, release_status="released"): + return self._get_inherited_property("short_name", client, release_status) + + def get_description(self, client, release_status="released"): + return self._get_inherited_property("description", client, release_status) + + def get_authors(self, client, release_status="released"): + return self._get_inherited_property("authors", client, release_status) diff --git a/fairgraph/openminds/v5/core/products/hardware_product.py b/fairgraph/openminds/v5/core/products/hardware_product.py new file mode 100644 index 00000000..951a64a1 --- /dev/null +++ b/fairgraph/openminds/v5/core/products/hardware_product.py @@ -0,0 +1,74 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import HardwareProduct as OMHardwareProduct +from fairgraph import KGObject + + +class HardwareProduct(KGObject, OMHardwareProduct): + """ + + """ + + type_ = "https://openminds.om-i.org/types/HardwareProduct" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_type_of", + [ + "openminds.v5.ephys.Electrode", + "openminds.v5.ephys.ElectrodeArray", + "openminds.v5.ephys.Pipette", + "openminds.v5.neuroimaging.MRICoil", + "openminds.v5.neuroimaging.MRIScanner", + "openminds.v5.specimen_prep.SlicingDevice", + ], + "type", + reverse="type", + multiple=True, + description="reverse of 'type'", + ), + ] + existence_query_properties = ("contributions", "name", "scopes", "type") + + def __init__( + self, + name=None, + contributions=None, + copyright=None, + description=None, + digital_identifier=None, + is_type_of=None, + keywords=None, + scopes=None, + specification=None, + type=None, + usage_conditions=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + contributions=contributions, + copyright=copyright, + description=description, + digital_identifier=digital_identifier, + is_type_of=is_type_of, + keywords=keywords, + scopes=scopes, + specification=specification, + type=type, + usage_conditions=usage_conditions, + ) diff --git a/fairgraph/openminds/v5/core/products/interface.py b/fairgraph/openminds/v5/core/products/interface.py new file mode 100644 index 00000000..75a8017a --- /dev/null +++ b/fairgraph/openminds/v5/core/products/interface.py @@ -0,0 +1,121 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Interface as OMInterface +from fairgraph import KGObject + + +from openminds import IRI + + +class Interface(KGObject, OMInterface): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Interface" + default_space = "interface" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.core.InterfaceVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "linked_from", + "openminds.v5.core.ServiceLink", + "service", + reverse="services", + multiple=True, + description="reverse of 'services'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name",) + + def __init__( + self, + name=None, + alias=None, + comments=None, + communication_protocol=None, + contributions=None, + contributor_affiliations=None, + description=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + interface_type=None, + is_part_of=None, + keywords=None, + learning_resources=None, + linked_from=None, + related_publications=None, + short_name=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + comments=comments, + communication_protocol=communication_protocol, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + interface_type=interface_type, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + linked_from=linked_from, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/core/products/interface_version.py b/fairgraph/openminds/v5/core/products/interface_version.py new file mode 100644 index 00000000..f1acfb16 --- /dev/null +++ b/fairgraph/openminds/v5/core/products/interface_version.py @@ -0,0 +1,164 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import InterfaceVersion as OMInterfaceVersion +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class InterfaceVersion(KGObject, OMInterfaceVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/InterfaceVersion" + default_space = "interface" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_variants", + "openminds.v5.core.InterfaceVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_implemented_by", + "openminds.v5.core.SoftwareVersion", + "implements", + reverse="implements", + multiple=True, + description="reverse of 'implements'", + ), + Property( + "is_interface_of", + "openminds.v5.computation.DeployedInterface", + "interface", + reverse="interface", + multiple=True, + description="reverse of 'interface'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "linked_from", + "openminds.v5.core.ServiceLink", + "service", + reverse="services", + multiple=True, + description="reverse of 'services'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + accessibility=None, + comments=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + description=None, + documentation=None, + full_name=None, + funding=None, + has_variants=None, + homepage=None, + how_to_cite=None, + is_implemented_by=None, + is_interface_of=None, + is_part_of=None, + is_preceded_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + linked_from=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + specification=None, + support_channels=None, + usage_conditions=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + accessibility=accessibility, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + description=description, + documentation=documentation, + full_name=full_name, + funding=funding, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + is_implemented_by=is_implemented_by, + is_interface_of=is_interface_of, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + linked_from=linked_from, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + specification=specification, + support_channels=support_channels, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + version_specification=version_specification, + ) diff --git a/fairgraph/openminds/v5/core/products/meta_data_model.py b/fairgraph/openminds/v5/core/products/meta_data_model.py new file mode 100644 index 00000000..4dc419d3 --- /dev/null +++ b/fairgraph/openminds/v5/core/products/meta_data_model.py @@ -0,0 +1,109 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import MetaDataModel as OMMetaDataModel +from fairgraph import KGObject + + +from openminds import IRI + + +class MetaDataModel(KGObject, OMMetaDataModel): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MetaDataModel" + default_space = "metadatamodel" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.core.MetaDataModelVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name",) + + def __init__( + self, + name=None, + alias=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + keywords=None, + learning_resources=None, + related_publications=None, + short_name=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/core/products/meta_data_model_version.py b/fairgraph/openminds/v5/core/products/meta_data_model_version.py new file mode 100644 index 00000000..0293531f --- /dev/null +++ b/fairgraph/openminds/v5/core/products/meta_data_model_version.py @@ -0,0 +1,170 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import MetaDataModelVersion as OMMetaDataModelVersion +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class MetaDataModelVersion(KGObject, OMMetaDataModelVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MetaDataModelVersion" + default_space = "metadatamodel" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_variants", + "openminds.v5.core.MetaDataModelVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_used_by", + "openminds.v5.computation.ServiceDeployment", + "uses", + reverse="uses", + multiple=True, + description="reverse of 'uses'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + accessibility=None, + comments=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + funding=None, + has_variants=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + is_preceded_by=None, + is_used_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + serialization_formats=None, + short_name=None, + specification_formats=None, + support_channels=None, + type=None, + usage_conditions=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + accessibility=accessibility, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + funding=funding, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_used_by=is_used_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + serialization_formats=serialization_formats, + short_name=short_name, + specification_formats=specification_formats, + support_channels=support_channels, + type=type, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + version_specification=version_specification, + ) + + def _get_inherited_property(self, property_name, client, release_status="released"): + value = getattr(self, property_name) + if value: + return value + else: + parent = self.is_version_of.resolve(client, release_status=release_status) + return getattr(parent, property_name) + + def get_full_name(self, client, release_status="released"): + return self._get_inherited_property("full_name", client, release_status) + + def get_short_name(self, client, release_status="released"): + return self._get_inherited_property("short_name", client, release_status) + + def get_description(self, client, release_status="released"): + return self._get_inherited_property("description", client, release_status) + + def get_developers(self, client, release_status="released"): + return self._get_inherited_property("developers", client, release_status) diff --git a/fairgraph/openminds/v5/core/products/model.py b/fairgraph/openminds/v5/core/products/model.py new file mode 100644 index 00000000..a9bf8294 --- /dev/null +++ b/fairgraph/openminds/v5/core/products/model.py @@ -0,0 +1,117 @@ +""" +Structured information on a computational model (concept level). +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Model as OMModel +from fairgraph import KGObject + + +from openminds import IRI + + +class Model(KGObject, OMModel): + """ + Structured information on a computational model (concept level). + """ + + type_ = "https://openminds.om-i.org/types/Model" + default_space = "model" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.core.ModelVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "model_scope": "scope", "alias": "short_name"} + existence_query_properties = ("full_name",) + + def __init__( + self, + name=None, + alias=None, + abstraction_level=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + keywords=None, + learning_resources=None, + model_scope=None, + related_publications=None, + scope=None, + short_name=None, + study_targets=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + abstraction_level=abstraction_level, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + model_scope=model_scope, + related_publications=related_publications, + scope=scope, + short_name=short_name, + study_targets=study_targets, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/core/products/model_version.py b/fairgraph/openminds/v5/core/products/model_version.py new file mode 100644 index 00000000..9f4cfc7f --- /dev/null +++ b/fairgraph/openminds/v5/core/products/model_version.py @@ -0,0 +1,237 @@ +""" +Structured information on a computational model (version level). +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ModelVersion as OMModelVersion +from fairgraph import KGObject + +from urllib.request import urlretrieve +from pathlib import Path +from fairgraph.utility import accepted_terms_of_use +from datetime import date +from openminds import IRI + + +class ModelVersion(KGObject, OMModelVersion): + """ + Structured information on a computational model (version level). + """ + + type_ = "https://openminds.om-i.org/types/ModelVersion" + default_space = "model" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_variants", + "openminds.v5.core.ModelVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_input_to", + [ + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Simulation", + ], + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_location_of", + "openminds.v5.core.ServiceLink", + "dataLocation", + reverse="data_location", + multiple=True, + description="reverse of 'data_location'", + ), + Property( + "is_output_of", + "openminds.v5.computation.Optimization", + "output", + reverse="outputs", + multiple=True, + description="reverse of 'outputs'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_used_by", + "openminds.v5.computation.ServiceDeployment", + "uses", + reverse="uses", + multiple=True, + description="reverse of 'uses'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "publication", + "openminds.v5.publications.LivePaperVersion", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("full_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + accessibility=None, + comments=None, + configuration=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + description=None, + digital_identifier=None, + documentation=None, + entry_point=None, + formats=None, + full_name=None, + funding=None, + has_variants=None, + homepage=None, + how_to_cite=None, + input_data=None, + is_input_to=None, + is_location_of=None, + is_output_of=None, + is_part_of=None, + is_preceded_by=None, + is_used_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + output_data=None, + publication=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + support_channels=None, + usage_conditions=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + accessibility=accessibility, + comments=comments, + configuration=configuration, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + entry_point=entry_point, + formats=formats, + full_name=full_name, + funding=funding, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + input_data=input_data, + is_input_to=is_input_to, + is_location_of=is_location_of, + is_output_of=is_output_of, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_used_by=is_used_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + output_data=output_data, + publication=publication, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + support_channels=support_channels, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + version_specification=version_specification, + ) + + def download(self, local_path, client, accept_terms_of_use=False): + if accepted_terms_of_use(client, accept_terms_of_use=accept_terms_of_use): + repo = self.repository.resolve(client, release_status=self.release_status or None) + if repo.iri.value.startswith("https://object.cscs.ch/v1/AUTH") or repo.iri.value.startswith( + "https://data-proxy.ebrains.eu/api/v1/public" + ): + zip_archive_url = f"https://data.kg.ebrains.eu/zip?container={repo.iri.value}" + else: + raise NotImplementedError("Download not yet implemented for this repository type") + if local_path.endswith(".zip"): + local_filename = Path(local_path) + else: + local_filename = Path(local_path) / (zip_archive_url.split("/")[-1] + ".zip") + local_filename.parent.mkdir(parents=True, exist_ok=True) + local_filename, headers = urlretrieve(zip_archive_url, local_filename) + return local_filename, repo.iri.value + + def _get_inherited_property(self, property_name, client, release_status="released"): + value = getattr(self, property_name) + if value: + return value + else: + parent = self.is_version_of.resolve(client, release_status=release_status) + return getattr(parent, property_name) + + def get_full_name(self, client, release_status="released"): + return self._get_inherited_property("full_name", client, release_status) + + def get_short_name(self, client, release_status="released"): + return self._get_inherited_property("short_name", client, release_status) + + def get_description(self, client, release_status="released"): + return self._get_inherited_property("description", client, release_status) + + def get_developers(self, client, release_status="released"): + return self._get_inherited_property("developers", client, release_status) diff --git a/fairgraph/openminds/v5/core/products/project.py b/fairgraph/openminds/v5/core/products/project.py new file mode 100644 index 00000000..50698305 --- /dev/null +++ b/fairgraph/openminds/v5/core/products/project.py @@ -0,0 +1,58 @@ +""" +Structured information on a research project. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Project as OMProject +from fairgraph import KGObject + + +from openminds import IRI + + +class Project(KGObject, OMProject): + """ + Structured information on a research project. + """ + + type_ = "https://openminds.om-i.org/types/Project" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name",) + + def __init__( + self, + name=None, + alias=None, + contributions=None, + description=None, + full_name=None, + has_parts=None, + homepage=None, + short_name=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + contributions=contributions, + description=description, + full_name=full_name, + has_parts=has_parts, + homepage=homepage, + short_name=short_name, + type=type, + ) diff --git a/fairgraph/openminds/v5/core/products/service.py b/fairgraph/openminds/v5/core/products/service.py new file mode 100644 index 00000000..63fbc15a --- /dev/null +++ b/fairgraph/openminds/v5/core/products/service.py @@ -0,0 +1,110 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Service as OMService +from fairgraph import KGObject + + +class Service(KGObject, OMService): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Service" + default_space = "software" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "deployments", + "openminds.v5.computation.ServiceDeployment", + "service", + reverse="service", + multiple=True, + description="reverse of 'service'", + ), + Property( + "has_accounts", + "openminds.v5.core.AccountInformation", + "service", + reverse="service", + multiple=True, + description="reverse of 'service'", + ), + Property( + "hosts", + "openminds.v5.publications.LivePaperResourceItem", + "hostedBy", + reverse="hosted_by", + multiple=True, + description="reverse of 'hosted_by'", + ), + Property( + "used_for", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "environment", + reverse="environment", + multiple=True, + description="reverse of 'environment'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name",) + + def __init__( + self, + name=None, + alias=None, + contributions=None, + deployments=None, + description=None, + documentation=None, + full_name=None, + has_accounts=None, + hosts=None, + how_to_cite=None, + keywords=None, + related_publications=None, + scopes=None, + short_name=None, + support_channels=None, + used_for=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + contributions=contributions, + deployments=deployments, + description=description, + documentation=documentation, + full_name=full_name, + has_accounts=has_accounts, + hosts=hosts, + how_to_cite=how_to_cite, + keywords=keywords, + related_publications=related_publications, + scopes=scopes, + short_name=short_name, + support_channels=support_channels, + used_for=used_for, + ) diff --git a/fairgraph/openminds/v5/core/products/setup.py b/fairgraph/openminds/v5/core/products/setup.py new file mode 100644 index 00000000..f22263aa --- /dev/null +++ b/fairgraph/openminds/v5/core/products/setup.py @@ -0,0 +1,69 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Setup as OMSetup +from fairgraph import KGObject + + +class Setup(KGObject, OMSetup): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Setup" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_part_of", + "openminds.v5.core.Setup", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "used_in", + "openminds.v5.stimulation.StimulationActivity", + "setup", + reverse="setup", + multiple=True, + description="reverse of 'setup'", + ), + ] + existence_query_properties = ("description", "has_parts", "name") + + def __init__( + self, + name=None, + description=None, + has_parts=None, + is_part_of=None, + location=None, + manufacturers=None, + types=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + description=description, + has_parts=has_parts, + is_part_of=is_part_of, + location=location, + manufacturers=manufacturers, + types=types, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/core/products/software.py b/fairgraph/openminds/v5/core/products/software.py new file mode 100644 index 00000000..2e4aa13a --- /dev/null +++ b/fairgraph/openminds/v5/core/products/software.py @@ -0,0 +1,109 @@ +""" +Structured information on a software tool (concept level). +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Software as OMSoftware +from fairgraph import KGObject + + +from openminds import IRI + + +class Software(KGObject, OMSoftware): + """ + Structured information on a software tool (concept level). + """ + + type_ = "https://openminds.om-i.org/types/Software" + default_space = "software" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.core.SoftwareVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name",) + + def __init__( + self, + name=None, + alias=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + keywords=None, + learning_resources=None, + related_publications=None, + short_name=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/core/products/software_version.py b/fairgraph/openminds/v5/core/products/software_version.py new file mode 100644 index 00000000..13da4f32 --- /dev/null +++ b/fairgraph/openminds/v5/core/products/software_version.py @@ -0,0 +1,225 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import SoftwareVersion as OMSoftwareVersion +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class SoftwareVersion(KGObject, OMSoftwareVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SoftwareVersion" + default_space = "software" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_variants", + "openminds.v5.core.SoftwareVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_dependency_of", + "openminds.v5.computation.ServiceDeployment", + "dependsOn", + reverse="depends_on", + multiple=True, + description="reverse of 'depends_on'", + ), + Property( + "is_input_to", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.Visualization", + ], + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_part_of", + [ + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Project", + "openminds.v5.core.ResearchProductGroup", + "openminds.v5.core.Setup", + ], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "publication", + "openminds.v5.publications.LivePaperVersion", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "used_in", + ["openminds.v5.computation.Environment", "openminds.v5.computation.SoftwareAgent"], + "software", + reverse="software", + multiple=True, + description="reverse of 'software'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + accessibility=None, + comments=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + dependencies=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + funding=None, + has_variants=None, + homepage=None, + how_to_cite=None, + implements=None, + input_formats=None, + is_dependency_of=None, + is_input_to=None, + is_part_of=None, + is_preceded_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + languages=None, + learning_resources=None, + operating_devices=None, + operating_systems=None, + output_formats=None, + programming_languages=None, + publication=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + scopes=None, + short_name=None, + support_channels=None, + usage_conditions=None, + used_in=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + accessibility=accessibility, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + dependencies=dependencies, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + funding=funding, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + implements=implements, + input_formats=input_formats, + is_dependency_of=is_dependency_of, + is_input_to=is_input_to, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + languages=languages, + learning_resources=learning_resources, + operating_devices=operating_devices, + operating_systems=operating_systems, + output_formats=output_formats, + programming_languages=programming_languages, + publication=publication, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + scopes=scopes, + short_name=short_name, + support_channels=support_channels, + usage_conditions=usage_conditions, + used_in=used_in, + version_identifier=version_identifier, + version_specification=version_specification, + ) + + def _get_inherited_property(self, property_name, client, release_status="released"): + value = getattr(self, property_name) + if value: + return value + else: + parent = self.is_version_of.resolve(client, release_status=release_status) + return getattr(parent, property_name) + + def get_full_name(self, client, release_status="released"): + return self._get_inherited_property("full_name", client, release_status) + + def get_short_name(self, client, release_status="released"): + return self._get_inherited_property("short_name", client, release_status) + + def get_description(self, client, release_status="released"): + return self._get_inherited_property("description", client, release_status) + + def get_developers(self, client, release_status="released"): + return self._get_inherited_property("developers", client, release_status) diff --git a/fairgraph/openminds/v5/core/research/__init__.py b/fairgraph/openminds/v5/core/research/__init__.py new file mode 100644 index 00000000..a4eb406c --- /dev/null +++ b/fairgraph/openminds/v5/core/research/__init__.py @@ -0,0 +1,19 @@ +from .behavioral_protocol import BehavioralProtocol +from .configuration import Configuration +from .custom_property_set import CustomPropertySet +from .numerical_property import NumericalProperty +from .property_value_list import PropertyValueList +from .protocol import Protocol +from .protocol_execution import ProtocolExecution +from .specimen_age import SpecimenAge +from .specimen_weight import SpecimenWeight +from .strain import Strain +from .string_property import StringProperty +from .subject import Subject +from .subject_group import SubjectGroup +from .subject_group_state import SubjectGroupState +from .subject_state import SubjectState +from .tissue_sample import TissueSample +from .tissue_sample_collection import TissueSampleCollection +from .tissue_sample_collection_state import TissueSampleCollectionState +from .tissue_sample_state import TissueSampleState diff --git a/fairgraph/openminds/v5/core/research/behavioral_protocol.py b/fairgraph/openminds/v5/core/research/behavioral_protocol.py new file mode 100644 index 00000000..f24073c3 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/behavioral_protocol.py @@ -0,0 +1,77 @@ +""" +Structured information about a protocol used in an experiment studying human or animal behavior. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import BehavioralProtocol as OMBehavioralProtocol +from fairgraph import KGObject + + +class BehavioralProtocol(KGObject, OMBehavioralProtocol): + """ + Structured information about a protocol used in an experiment studying human or animal behavior. + """ + + type_ = "https://openminds.om-i.org/types/BehavioralProtocol" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + [ + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.core.SubjectGroupState", + "openminds.v5.core.SubjectState", + "openminds.v5.core.TissueSampleCollectionState", + "openminds.v5.core.TissueSampleState", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + ], + ["associatedProtocol", "behavioralProtocol", "protocol"], + reverse=["associated_protocols", "behavioral_protocols", "protocols"], + multiple=True, + description="reverse of associated_protocols, behavioral_protocols, protocols", + ), + ] + existence_query_properties = ("description", "name") + + def __init__( + self, + name=None, + described_in=None, + description=None, + internal_identifier=None, + is_used_to_group=None, + stimulations=None, + stimulus_types=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + described_in=described_in, + description=description, + internal_identifier=internal_identifier, + is_used_to_group=is_used_to_group, + stimulations=stimulations, + stimulus_types=stimulus_types, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/core/research/configuration.py b/fairgraph/openminds/v5/core/research/configuration.py new file mode 100644 index 00000000..dda18706 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/configuration.py @@ -0,0 +1,68 @@ +""" +Structured information about the properties or parameters of an entity or process. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Configuration as OMConfiguration +from fairgraph import KGObject + + +class Configuration(KGObject, OMConfiguration): + """ + Structured information about the properties or parameters of an entity or process. + """ + + type_ = "https://openminds.om-i.org/types/Configuration" + default_space = "common" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_configuration_of", + [ + "openminds.v5.computation.Environment", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowExecution", + "openminds.v5.core.ModelVersion", + ], + "configuration", + reverse="configuration", + multiple=True, + description="reverse of 'configuration'", + ), + Property( + "specifies", + "openminds.v5.stimulation.EphysStimulus", + "specification", + reverse="specifications", + multiple=True, + description="reverse of 'specifications'", + ), + ] + existence_query_properties = ("configuration",) + + def __init__( + self, + lookup_label=None, + configuration=None, + format=None, + is_configuration_of=None, + specifies=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + configuration=configuration, + format=format, + is_configuration_of=is_configuration_of, + specifies=specifies, + ) diff --git a/fairgraph/openminds/v5/core/research/custom_property_set.py b/fairgraph/openminds/v5/core/research/custom_property_set.py new file mode 100644 index 00000000..1bf79866 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/custom_property_set.py @@ -0,0 +1,27 @@ +""" +Structured information about properties of an entity that are not represented in an openMINDS schema. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import CustomPropertySet as OMCustomPropertySet +from fairgraph import KGEmbedded + + +class CustomPropertySet(KGEmbedded, OMCustomPropertySet): + """ + Structured information about properties of an entity that are not represented in an openMINDS schema. + """ + + type_ = "https://openminds.om-i.org/types/CustomPropertySet" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("context", "data_location", "relevant_for") + + def __init__( + self, context=None, data_location=None, relevant_for=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__( + self, data=data, context=context, data_location=data_location, relevant_for=relevant_for + ) diff --git a/fairgraph/openminds/v5/core/research/numerical_property.py b/fairgraph/openminds/v5/core/research/numerical_property.py new file mode 100644 index 00000000..e05131f8 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/numerical_property.py @@ -0,0 +1,37 @@ +""" +Structured information about a property of some entity or process whose value is a number. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import NumericalProperty as OMNumericalProperty +from fairgraph import KGEmbedded + + +from openminds import IRI + + +class NumericalProperty(KGEmbedded, OMNumericalProperty): + """ + Structured information about a property of some entity or process whose value is a number. + """ + + type_ = "https://openminds.om-i.org/types/NumericalProperty" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("name", "values") + + def __init__( + self, + name=None, + external_definition_of_name=None, + values=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, data=data, name=name, external_definition_of_name=external_definition_of_name, values=values + ) diff --git a/fairgraph/openminds/v5/core/research/property_value_list.py b/fairgraph/openminds/v5/core/research/property_value_list.py new file mode 100644 index 00000000..5e895c55 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/property_value_list.py @@ -0,0 +1,75 @@ +""" +An identifiable list of property-value pairs. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import PropertyValueList as OMPropertyValueList +from fairgraph import KGObject + + +class PropertyValueList(KGObject, OMPropertyValueList): + """ + An identifiable list of property-value pairs. + """ + + type_ = "https://openminds.om-i.org/types/PropertyValueList" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "defines_environment_of", + "openminds.v5.computation.LaunchConfiguration", + "environmentVariable", + reverse="environment_variable", + multiple=True, + description="reverse of 'environment_variable'", + ), + Property( + "is_configuration_of", + ["openminds.v5.computation.ValidationTestVersion", "openminds.v5.core.ModelVersion"], + "configuration", + reverse="configuration", + multiple=True, + description="reverse of 'configuration'", + ), + Property( + "specifies", + [ + "openminds.v5.core.HardwareProduct", + "openminds.v5.sands.CustomAnnotation", + "openminds.v5.stimulation.EphysStimulus", + ], + "specification", + reverse="specification", + multiple=True, + description="reverse of 'specification'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + defines_environment_of=None, + is_configuration_of=None, + property_value_pairs=None, + specifies=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + defines_environment_of=defines_environment_of, + is_configuration_of=is_configuration_of, + property_value_pairs=property_value_pairs, + specifies=specifies, + ) diff --git a/fairgraph/openminds/v5/core/research/protocol.py b/fairgraph/openminds/v5/core/research/protocol.py new file mode 100644 index 00000000..e5a6d2d2 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/protocol.py @@ -0,0 +1,73 @@ +""" +Structured information on a research project. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Protocol as OMProtocol +from fairgraph import KGObject + + +class Protocol(KGObject, OMProtocol): + """ + Structured information on a research project. + """ + + type_ = "https://openminds.om-i.org/types/Protocol" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "used_in", + [ + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.core.SubjectGroupState", + "openminds.v5.core.SubjectState", + "openminds.v5.core.TissueSampleCollectionState", + "openminds.v5.core.TissueSampleState", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + ["associatedProtocol", "protocol"], + reverse=["associated_protocols", "protocols"], + multiple=True, + description="reverse of associated_protocols, protocols", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + described_in=None, + description=None, + stimulus_types=None, + techniques=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + described_in=described_in, + description=description, + stimulus_types=stimulus_types, + techniques=techniques, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/core/research/protocol_execution.py b/fairgraph/openminds/v5/core/research/protocol_execution.py new file mode 100644 index 00000000..7d0ae20c --- /dev/null +++ b/fairgraph/openminds/v5/core/research/protocol_execution.py @@ -0,0 +1,76 @@ +""" +Structured information on a protocol execution. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import ProtocolExecution as OMProtocolExecution +from fairgraph import KGObject + + +from datetime import datetime, time + + +class ProtocolExecution(KGObject, OMProtocolExecution): + """ + Structured information on a protocol execution. + """ + + type_ = "https://openminds.om-i.org/types/ProtocolExecution" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "based_on_protocol_execution", + ["openminds.v5.sands.AtlasAnnotation", "openminds.v5.sands.CustomAnnotation"], + "criteria", + reverse="criteria", + multiple=True, + description="reverse of 'criteria'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + based_on_protocol_execution=None, + behavioral_protocols=None, + custom_property_sets=None, + description=None, + end_time=None, + inputs=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + start_time=None, + study_targets=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + based_on_protocol_execution=based_on_protocol_execution, + behavioral_protocols=behavioral_protocols, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + start_time=start_time, + study_targets=study_targets, + ) diff --git a/fairgraph/openminds/v5/core/research/specimen_age.py b/fairgraph/openminds/v5/core/research/specimen_age.py new file mode 100644 index 00000000..48e5af11 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/specimen_age.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import SpecimenAge as OMSpecimenAge +from fairgraph import KGEmbedded + + +class SpecimenAge(KGEmbedded, OMSpecimenAge): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SpecimenAge" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("age", "reference") + + def __init__(self, age=None, reference=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, age=age, reference=reference) diff --git a/fairgraph/openminds/v5/core/research/specimen_weight.py b/fairgraph/openminds/v5/core/research/specimen_weight.py new file mode 100644 index 00000000..b0ad55d4 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/specimen_weight.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import SpecimenWeight as OMSpecimenWeight +from fairgraph import KGEmbedded + + +class SpecimenWeight(KGEmbedded, OMSpecimenWeight): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SpecimenWeight" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("type", "weight") + + def __init__(self, type=None, weight=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, type=type, weight=weight) diff --git a/fairgraph/openminds/v5/core/research/strain.py b/fairgraph/openminds/v5/core/research/strain.py new file mode 100644 index 00000000..126d8dde --- /dev/null +++ b/fairgraph/openminds/v5/core/research/strain.py @@ -0,0 +1,90 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Strain as OMStrain +from fairgraph import KGObject + + +class Strain(KGObject, OMStrain): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Strain" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_background_strain_of", + "openminds.v5.core.Strain", + "backgroundStrain", + reverse="background_strains", + multiple=True, + description="reverse of 'background_strains'", + ), + Property( + "is_species_of", + [ + "openminds.v5.core.Subject", + "openminds.v5.core.SubjectGroup", + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + ], + "species", + reverse="species", + multiple=True, + description="reverse of 'species'", + ), + ] + existence_query_properties = ("genetic_strain_type", "name", "species") + + def __init__( + self, + name=None, + alternate_identifiers=None, + background_strains=None, + breeding_type=None, + description=None, + digital_identifier=None, + disease_models=None, + genetic_strain_type=None, + is_background_strain_of=None, + is_species_of=None, + laboratory_code=None, + ontology_identifiers=None, + phenotype=None, + species=None, + stock_number=None, + synonyms=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alternate_identifiers=alternate_identifiers, + background_strains=background_strains, + breeding_type=breeding_type, + description=description, + digital_identifier=digital_identifier, + disease_models=disease_models, + genetic_strain_type=genetic_strain_type, + is_background_strain_of=is_background_strain_of, + is_species_of=is_species_of, + laboratory_code=laboratory_code, + ontology_identifiers=ontology_identifiers, + phenotype=phenotype, + species=species, + stock_number=stock_number, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/v5/core/research/string_property.py b/fairgraph/openminds/v5/core/research/string_property.py new file mode 100644 index 00000000..c2197ad7 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/string_property.py @@ -0,0 +1,37 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import StringProperty as OMStringProperty +from fairgraph import KGEmbedded + + +from openminds import IRI + + +class StringProperty(KGEmbedded, OMStringProperty): + """ + + """ + + type_ = "https://openminds.om-i.org/types/StringProperty" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("name", "value") + + def __init__( + self, + name=None, + external_definition_of_name=None, + value=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, data=data, name=name, external_definition_of_name=external_definition_of_name, value=value + ) diff --git a/fairgraph/openminds/v5/core/research/subject.py b/fairgraph/openminds/v5/core/research/subject.py new file mode 100644 index 00000000..df663617 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/subject.py @@ -0,0 +1,79 @@ +""" +Structured information on a subject. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import Subject as OMSubject +from fairgraph import KGObject + + +class Subject(KGObject, OMSubject): + """ + Structured information on a subject. + """ + + type_ = "https://openminds.om-i.org/types/Subject" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.sands.AnatomicalAtlasVersion", "openminds.v5.sands.CommonCoordinateFrameworkVersion"], + "usedSpecimen", + reverse="used_specimens", + multiple=True, + description="reverse of 'used_specimens'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + biological_sex=None, + has_study_results_in=None, + internal_identifier=None, + is_part_of=None, + is_used_to_group=None, + species=None, + studied_states=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + biological_sex=biological_sex, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + is_used_to_group=is_used_to_group, + species=species, + studied_states=studied_states, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/core/research/subject_group.py b/fairgraph/openminds/v5/core/research/subject_group.py new file mode 100644 index 00000000..df03346b --- /dev/null +++ b/fairgraph/openminds/v5/core/research/subject_group.py @@ -0,0 +1,93 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import SubjectGroup as OMSubjectGroup +from fairgraph import KGObject + + +class SubjectGroup(KGObject, OMSubjectGroup): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SubjectGroup" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_parts", + ["openminds.v5.core.Subject", "openminds.v5.core.SubjectGroup"], + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.sands.AnatomicalAtlasVersion", "openminds.v5.sands.CommonCoordinateFrameworkVersion"], + "usedSpecimen", + reverse="used_specimens", + multiple=True, + description="reverse of 'used_specimens'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + additional_remarks=None, + biological_sexes=None, + has_parts=None, + has_study_results_in=None, + internal_identifier=None, + is_part_of=None, + is_used_to_group=None, + number_of_subjects=None, + species=None, + studied_states=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + additional_remarks=additional_remarks, + biological_sexes=biological_sexes, + has_parts=has_parts, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + is_used_to_group=is_used_to_group, + number_of_subjects=number_of_subjects, + species=species, + studied_states=studied_states, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/core/research/subject_group_state.py b/fairgraph/openminds/v5/core/research/subject_group_state.py new file mode 100644 index 00000000..7f9e00d3 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/subject_group_state.py @@ -0,0 +1,125 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import SubjectGroupState as OMSubjectGroupState +from fairgraph import KGObject + + +class SubjectGroupState(KGObject, OMSubjectGroupState): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SubjectGroupState" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_children", + [ + "openminds.v5.core.SubjectGroupState", + "openminds.v5.core.TissueSampleCollectionState", + "openminds.v5.core.TissueSampleState", + ], + "descendedFrom", + reverse="descended_from", + multiple=True, + description="reverse of 'descended_from'", + ), + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_input_to", + ["openminds.v5.ephys.RecordingActivity", "openminds.v5.specimen_prep.TissueCulturePreparation"], + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_output_of", + ["openminds.v5.core.ProtocolExecution", "openminds.v5.stimulation.StimulationActivity"], + "output", + reverse="outputs", + multiple=True, + description="reverse of 'outputs'", + ), + Property( + "is_state_of", + "openminds.v5.core.SubjectGroup", + "studiedState", + reverse="studied_states", + multiple=True, + description="reverse of 'studied_states'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + additional_remarks=None, + age=None, + age_categories=None, + associated_protocols=None, + attributes=None, + descended_from=None, + handedness=None, + has_children=None, + has_study_results_in=None, + internal_identifier=None, + is_input_to=None, + is_output_of=None, + is_state_of=None, + is_used_to_group=None, + pathologies=None, + relative_time_indication=None, + weight=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + additional_remarks=additional_remarks, + age=age, + age_categories=age_categories, + associated_protocols=associated_protocols, + attributes=attributes, + descended_from=descended_from, + handedness=handedness, + has_children=has_children, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_input_to=is_input_to, + is_output_of=is_output_of, + is_state_of=is_state_of, + is_used_to_group=is_used_to_group, + pathologies=pathologies, + relative_time_indication=relative_time_indication, + weight=weight, + ) diff --git a/fairgraph/openminds/v5/core/research/subject_state.py b/fairgraph/openminds/v5/core/research/subject_state.py new file mode 100644 index 00000000..bedea90f --- /dev/null +++ b/fairgraph/openminds/v5/core/research/subject_state.py @@ -0,0 +1,154 @@ +""" +Structured information on a temporary state of a subject. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import SubjectState as OMSubjectState +from fairgraph import KGObject + + +class SubjectState(KGObject, OMSubjectState): + """ + Structured information on a temporary state of a subject. + """ + + type_ = "https://openminds.om-i.org/types/SubjectState" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_children", + [ + "openminds.v5.core.SubjectState", + "openminds.v5.core.TissueSampleCollectionState", + "openminds.v5.core.TissueSampleState", + ], + "descendedFrom", + reverse="descended_from", + multiple=True, + description="reverse of 'descended_from'", + ), + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_input_to", + [ + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + ], + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_output_of", + [ + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.stimulation.StimulationActivity", + ], + "output", + reverse="outputs", + multiple=True, + description="reverse of 'outputs'", + ), + Property( + "is_state_of", + "openminds.v5.core.Subject", + "studiedState", + reverse="studied_states", + multiple=True, + description="reverse of 'studied_states'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + [ + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + "openminds.v5.neuroimaging.MRICoilUsage", + "openminds.v5.neuroimaging.MRIScannerUsage", + "openminds.v5.specimen_prep.SlicingDeviceUsage", + ], + "usedSpecimen", + reverse="used_specimen", + multiple=True, + description="reverse of 'used_specimen'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + additional_remarks=None, + age=None, + age_category=None, + associated_protocols=None, + attributes=None, + descended_from=None, + handedness=None, + has_children=None, + has_study_results_in=None, + internal_identifier=None, + is_input_to=None, + is_output_of=None, + is_state_of=None, + is_used_to_group=None, + pathologies=None, + relative_time_indication=None, + used_in=None, + weight=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + additional_remarks=additional_remarks, + age=age, + age_category=age_category, + associated_protocols=associated_protocols, + attributes=attributes, + descended_from=descended_from, + handedness=handedness, + has_children=has_children, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_input_to=is_input_to, + is_output_of=is_output_of, + is_state_of=is_state_of, + is_used_to_group=is_used_to_group, + pathologies=pathologies, + relative_time_indication=relative_time_indication, + used_in=used_in, + weight=weight, + ) diff --git a/fairgraph/openminds/v5/core/research/tissue_sample.py b/fairgraph/openminds/v5/core/research/tissue_sample.py new file mode 100644 index 00000000..a86d3fd4 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/tissue_sample.py @@ -0,0 +1,87 @@ +""" +Structured information on a tissue sample. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import TissueSample as OMTissueSample +from fairgraph import KGObject + + +class TissueSample(KGObject, OMTissueSample): + """ + Structured information on a tissue sample. + """ + + type_ = "https://openminds.om-i.org/types/TissueSample" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.sands.AnatomicalAtlasVersion", "openminds.v5.sands.CommonCoordinateFrameworkVersion"], + "usedSpecimen", + reverse="used_specimens", + multiple=True, + description="reverse of 'used_specimens'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + anatomical_locations=None, + biological_sex=None, + has_study_results_in=None, + internal_identifier=None, + is_part_of=None, + is_used_to_group=None, + lateralities=None, + origin=None, + species=None, + studied_states=None, + type=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + anatomical_locations=anatomical_locations, + biological_sex=biological_sex, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + is_used_to_group=is_used_to_group, + lateralities=lateralities, + origin=origin, + species=species, + studied_states=studied_states, + type=type, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/core/research/tissue_sample_collection.py b/fairgraph/openminds/v5/core/research/tissue_sample_collection.py new file mode 100644 index 00000000..a5c4bcc6 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/tissue_sample_collection.py @@ -0,0 +1,101 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import TissueSampleCollection as OMTissueSampleCollection +from fairgraph import KGObject + + +class TissueSampleCollection(KGObject, OMTissueSampleCollection): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TissueSampleCollection" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_parts", + ["openminds.v5.core.TissueSample", "openminds.v5.core.TissueSampleCollection"], + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + ["openminds.v5.sands.AnatomicalAtlasVersion", "openminds.v5.sands.CommonCoordinateFrameworkVersion"], + "usedSpecimen", + reverse="used_specimens", + multiple=True, + description="reverse of 'used_specimens'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + additional_remarks=None, + anatomical_locations=None, + biological_sexes=None, + has_parts=None, + has_study_results_in=None, + internal_identifier=None, + is_part_of=None, + is_used_to_group=None, + lateralities=None, + number_of_tissue_samples=None, + origins=None, + species=None, + studied_states=None, + types=None, + used_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + additional_remarks=additional_remarks, + anatomical_locations=anatomical_locations, + biological_sexes=biological_sexes, + has_parts=has_parts, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + is_used_to_group=is_used_to_group, + lateralities=lateralities, + number_of_tissue_samples=number_of_tissue_samples, + origins=origins, + species=species, + studied_states=studied_states, + types=types, + used_in=used_in, + ) diff --git a/fairgraph/openminds/v5/core/research/tissue_sample_collection_state.py b/fairgraph/openminds/v5/core/research/tissue_sample_collection_state.py new file mode 100644 index 00000000..38b50252 --- /dev/null +++ b/fairgraph/openminds/v5/core/research/tissue_sample_collection_state.py @@ -0,0 +1,121 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import TissueSampleCollectionState as OMTissueSampleCollectionState +from fairgraph import KGObject + + +class TissueSampleCollectionState(KGObject, OMTissueSampleCollectionState): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TissueSampleCollectionState" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_children", + ["openminds.v5.core.TissueSampleCollectionState", "openminds.v5.core.TissueSampleState"], + "descendedFrom", + reverse="descended_from", + multiple=True, + description="reverse of 'descended_from'", + ), + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_input_to", + ["openminds.v5.ephys.RecordingActivity", "openminds.v5.specimen_prep.TissueCulturePreparation"], + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_output_of", + [ + "openminds.v5.core.ProtocolExecution", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "output", + reverse="outputs", + multiple=True, + description="reverse of 'outputs'", + ), + Property( + "is_state_of", + "openminds.v5.core.TissueSampleCollection", + "studiedState", + reverse="studied_states", + multiple=True, + description="reverse of 'studied_states'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + additional_remarks=None, + age=None, + associated_protocols=None, + attributes=None, + descended_from=None, + has_children=None, + has_study_results_in=None, + internal_identifier=None, + is_input_to=None, + is_output_of=None, + is_state_of=None, + is_used_to_group=None, + pathologies=None, + relative_time_indication=None, + weight=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + additional_remarks=additional_remarks, + age=age, + associated_protocols=associated_protocols, + attributes=attributes, + descended_from=descended_from, + has_children=has_children, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_input_to=is_input_to, + is_output_of=is_output_of, + is_state_of=is_state_of, + is_used_to_group=is_used_to_group, + pathologies=pathologies, + relative_time_indication=relative_time_indication, + weight=weight, + ) diff --git a/fairgraph/openminds/v5/core/research/tissue_sample_state.py b/fairgraph/openminds/v5/core/research/tissue_sample_state.py new file mode 100644 index 00000000..9cafd7fc --- /dev/null +++ b/fairgraph/openminds/v5/core/research/tissue_sample_state.py @@ -0,0 +1,145 @@ +""" +Structured information on a temporary state of a tissue sample. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.core import TissueSampleState as OMTissueSampleState +from fairgraph import KGObject + + +class TissueSampleState(KGObject, OMTissueSampleState): + """ + Structured information on a temporary state of a tissue sample. + """ + + type_ = "https://openminds.om-i.org/types/TissueSampleState" + default_space = "dataset" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_children", + ["openminds.v5.core.TissueSampleCollectionState", "openminds.v5.core.TissueSampleState"], + "descendedFrom", + reverse="descended_from", + multiple=True, + description="reverse of 'descended_from'", + ), + Property( + "has_study_results_in", + "openminds.v5.core.DatasetVersion", + "studiedSpecimen", + reverse="studied_specimens", + multiple=True, + description="reverse of 'studied_specimens'", + ), + Property( + "is_input_to", + [ + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + ], + "input", + reverse="inputs", + multiple=True, + description="reverse of 'inputs'", + ), + Property( + "is_output_of", + [ + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "output", + reverse="outputs", + multiple=True, + description="reverse of 'outputs'", + ), + Property( + "is_state_of", + "openminds.v5.core.TissueSample", + "studiedState", + reverse="studied_states", + multiple=True, + description="reverse of 'studied_states'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "used_in", + [ + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + "openminds.v5.neuroimaging.MRICoilUsage", + "openminds.v5.neuroimaging.MRIScannerUsage", + "openminds.v5.specimen_prep.SlicingDeviceUsage", + ], + "usedSpecimen", + reverse="used_specimen", + multiple=True, + description="reverse of 'used_specimen'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + additional_remarks=None, + age=None, + associated_protocols=None, + attributes=None, + descended_from=None, + has_children=None, + has_study_results_in=None, + internal_identifier=None, + is_input_to=None, + is_output_of=None, + is_state_of=None, + is_used_to_group=None, + pathologies=None, + relative_time_indication=None, + used_in=None, + weight=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + additional_remarks=additional_remarks, + age=age, + associated_protocols=associated_protocols, + attributes=attributes, + descended_from=descended_from, + has_children=has_children, + has_study_results_in=has_study_results_in, + internal_identifier=internal_identifier, + is_input_to=is_input_to, + is_output_of=is_output_of, + is_state_of=is_state_of, + is_used_to_group=is_used_to_group, + pathologies=pathologies, + relative_time_indication=relative_time_indication, + used_in=used_in, + weight=weight, + ) diff --git a/fairgraph/openminds/v5/ephys/__init__.py b/fairgraph/openminds/v5/ephys/__init__.py new file mode 100644 index 00000000..3db9fbed --- /dev/null +++ b/fairgraph/openminds/v5/ephys/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .activity import RecordingActivity, ElectrodePlacement, CellPatching +from .device import ElectrodeArray, PipetteUsage, Pipette, Electrode, ElectrodeArrayUsage, ElectrodeUsage + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/ephys/activity/__init__.py b/fairgraph/openminds/v5/ephys/activity/__init__.py new file mode 100644 index 00000000..5028e95b --- /dev/null +++ b/fairgraph/openminds/v5/ephys/activity/__init__.py @@ -0,0 +1,3 @@ +from .cell_patching import CellPatching +from .electrode_placement import ElectrodePlacement +from .recording_activity import RecordingActivity diff --git a/fairgraph/openminds/v5/ephys/activity/cell_patching.py b/fairgraph/openminds/v5/ephys/activity/cell_patching.py new file mode 100644 index 00000000..f623f13a --- /dev/null +++ b/fairgraph/openminds/v5/ephys/activity/cell_patching.py @@ -0,0 +1,73 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import CellPatching as OMCellPatching +from fairgraph import KGObject + + +from datetime import datetime, time + + +class CellPatching(KGObject, OMCellPatching): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CellPatching" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + bath_temperature=None, + custom_property_sets=None, + description=None, + devices=None, + end_time=None, + inputs=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + start_time=None, + study_targets=None, + target_position=None, + tissue_bath_solution=None, + variation=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + bath_temperature=bath_temperature, + custom_property_sets=custom_property_sets, + description=description, + devices=devices, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + start_time=start_time, + study_targets=study_targets, + target_position=target_position, + tissue_bath_solution=tissue_bath_solution, + variation=variation, + ) diff --git a/fairgraph/openminds/v5/ephys/activity/electrode_placement.py b/fairgraph/openminds/v5/ephys/activity/electrode_placement.py new file mode 100644 index 00000000..7908c82b --- /dev/null +++ b/fairgraph/openminds/v5/ephys/activity/electrode_placement.py @@ -0,0 +1,67 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import ElectrodePlacement as OMElectrodePlacement +from fairgraph import KGObject + + +from datetime import datetime, time + + +class ElectrodePlacement(KGObject, OMElectrodePlacement): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ElectrodePlacement" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + devices=None, + end_time=None, + inputs=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + start_time=None, + study_targets=None, + target_position=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + devices=devices, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + start_time=start_time, + study_targets=study_targets, + target_position=target_position, + ) diff --git a/fairgraph/openminds/v5/ephys/activity/recording_activity.py b/fairgraph/openminds/v5/ephys/activity/recording_activity.py new file mode 100644 index 00000000..18c84f6e --- /dev/null +++ b/fairgraph/openminds/v5/ephys/activity/recording_activity.py @@ -0,0 +1,67 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import RecordingActivity as OMRecordingActivity +from fairgraph import KGObject + + +from datetime import datetime, time + + +class RecordingActivity(KGObject, OMRecordingActivity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/RecordingActivity" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + devices=None, + end_time=None, + inputs=None, + internal_identifier=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + start_time=None, + study_targets=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + devices=devices, + end_time=end_time, + inputs=inputs, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + start_time=start_time, + study_targets=study_targets, + ) diff --git a/fairgraph/openminds/v5/ephys/device/__init__.py b/fairgraph/openminds/v5/ephys/device/__init__.py new file mode 100644 index 00000000..3780edd6 --- /dev/null +++ b/fairgraph/openminds/v5/ephys/device/__init__.py @@ -0,0 +1,6 @@ +from .electrode import Electrode +from .electrode_array import ElectrodeArray +from .electrode_array_usage import ElectrodeArrayUsage +from .electrode_usage import ElectrodeUsage +from .pipette import Pipette +from .pipette_usage import PipetteUsage diff --git a/fairgraph/openminds/v5/ephys/device/electrode.py b/fairgraph/openminds/v5/ephys/device/electrode.py new file mode 100644 index 00000000..196e9d2e --- /dev/null +++ b/fairgraph/openminds/v5/ephys/device/electrode.py @@ -0,0 +1,75 @@ +""" +Structured information on an electrode. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import Electrode as OMElectrode +from fairgraph import KGObject + + +class Electrode(KGObject, OMElectrode): + """ + Structured information on an electrode. + """ + + type_ = "https://openminds.om-i.org/types/Electrode" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_part_of", + "openminds.v5.core.Setup", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "usage", + "openminds.v5.ephys.ElectrodeUsage", + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + ] + existence_query_properties = ("contributions", "name", "type") + + def __init__( + self, + name=None, + conductor_material=None, + contributions=None, + description=None, + insulator_material=None, + internal_identifier=None, + intrinsic_resistance=None, + is_part_of=None, + serial_number=None, + type=None, + usage=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + conductor_material=conductor_material, + contributions=contributions, + description=description, + insulator_material=insulator_material, + internal_identifier=internal_identifier, + intrinsic_resistance=intrinsic_resistance, + is_part_of=is_part_of, + serial_number=serial_number, + type=type, + usage=usage, + ) diff --git a/fairgraph/openminds/v5/ephys/device/electrode_array.py b/fairgraph/openminds/v5/ephys/device/electrode_array.py new file mode 100644 index 00000000..a73f004a --- /dev/null +++ b/fairgraph/openminds/v5/ephys/device/electrode_array.py @@ -0,0 +1,79 @@ +""" +Structured information on an electrode array. +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import ElectrodeArray as OMElectrodeArray +from fairgraph import KGObject + + +class ElectrodeArray(KGObject, OMElectrodeArray): + """ + Structured information on an electrode array. + """ + + type_ = "https://openminds.om-i.org/types/ElectrodeArray" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_part_of", + "openminds.v5.core.Setup", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "usage", + "openminds.v5.ephys.ElectrodeArrayUsage", + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + ] + existence_query_properties = ("contributions", "electrode_identifiers", "name", "number_of_electrodes", "type") + + def __init__( + self, + name=None, + conductor_material=None, + contributions=None, + description=None, + electrode_identifiers=None, + insulator_material=None, + internal_identifier=None, + intrinsic_resistance=None, + is_part_of=None, + number_of_electrodes=None, + serial_number=None, + type=None, + usage=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + conductor_material=conductor_material, + contributions=contributions, + description=description, + electrode_identifiers=electrode_identifiers, + insulator_material=insulator_material, + internal_identifier=internal_identifier, + intrinsic_resistance=intrinsic_resistance, + is_part_of=is_part_of, + number_of_electrodes=number_of_electrodes, + serial_number=serial_number, + type=type, + usage=usage, + ) diff --git a/fairgraph/openminds/v5/ephys/device/electrode_array_usage.py b/fairgraph/openminds/v5/ephys/device/electrode_array_usage.py new file mode 100644 index 00000000..cf8fac03 --- /dev/null +++ b/fairgraph/openminds/v5/ephys/device/electrode_array_usage.py @@ -0,0 +1,101 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import ElectrodeArrayUsage as OMElectrodeArrayUsage +from fairgraph import KGObject + + +class ElectrodeArrayUsage(KGObject, OMElectrodeArrayUsage): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ElectrodeArrayUsage" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "generation_device", + "openminds.v5.stimulation.EphysStimulus", + "generatedBy", + reverse="generated_by", + multiple=True, + description="reverse of 'generated_by'", + ), + Property( + "is_used_to_obtain", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.core.Measurement", + ], + "obtainedWith", + reverse="obtained_with", + multiple=True, + description="reverse of 'obtained_with'", + ), + Property( + "placed_by", + "openminds.v5.ephys.ElectrodePlacement", + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + Property( + "used_in", + ["openminds.v5.ephys.CellPatching", "openminds.v5.ephys.RecordingActivity"], + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + anatomical_locations_of_arrays=None, + anatomical_locations_of_electrodes=None, + contact_resistances=None, + device=None, + generation_device=None, + is_used_to_obtain=None, + metadata_locations=None, + placed_by=None, + spatial_locations_of_electrodes=None, + used_electrodes=None, + used_in=None, + used_specimen=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + anatomical_locations_of_arrays=anatomical_locations_of_arrays, + anatomical_locations_of_electrodes=anatomical_locations_of_electrodes, + contact_resistances=contact_resistances, + device=device, + generation_device=generation_device, + is_used_to_obtain=is_used_to_obtain, + metadata_locations=metadata_locations, + placed_by=placed_by, + spatial_locations_of_electrodes=spatial_locations_of_electrodes, + used_electrodes=used_electrodes, + used_in=used_in, + used_specimen=used_specimen, + ) diff --git a/fairgraph/openminds/v5/ephys/device/electrode_usage.py b/fairgraph/openminds/v5/ephys/device/electrode_usage.py new file mode 100644 index 00000000..63a7b50f --- /dev/null +++ b/fairgraph/openminds/v5/ephys/device/electrode_usage.py @@ -0,0 +1,97 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import ElectrodeUsage as OMElectrodeUsage +from fairgraph import KGObject + + +class ElectrodeUsage(KGObject, OMElectrodeUsage): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ElectrodeUsage" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "generation_device", + "openminds.v5.stimulation.EphysStimulus", + "generatedBy", + reverse="generated_by", + multiple=True, + description="reverse of 'generated_by'", + ), + Property( + "is_used_to_obtain", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.core.Measurement", + ], + "obtainedWith", + reverse="obtained_with", + multiple=True, + description="reverse of 'obtained_with'", + ), + Property( + "placed_by", + "openminds.v5.ephys.ElectrodePlacement", + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + Property( + "used_in", + ["openminds.v5.ephys.CellPatching", "openminds.v5.ephys.RecordingActivity"], + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + anatomical_location=None, + contact_resistance=None, + device=None, + generation_device=None, + is_used_to_obtain=None, + metadata_locations=None, + placed_by=None, + spatial_location=None, + used_in=None, + used_specimen=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + anatomical_location=anatomical_location, + contact_resistance=contact_resistance, + device=device, + generation_device=generation_device, + is_used_to_obtain=is_used_to_obtain, + metadata_locations=metadata_locations, + placed_by=placed_by, + spatial_location=spatial_location, + used_in=used_in, + used_specimen=used_specimen, + ) diff --git a/fairgraph/openminds/v5/ephys/device/pipette.py b/fairgraph/openminds/v5/ephys/device/pipette.py new file mode 100644 index 00000000..ef5abc3a --- /dev/null +++ b/fairgraph/openminds/v5/ephys/device/pipette.py @@ -0,0 +1,75 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import Pipette as OMPipette +from fairgraph import KGObject + + +class Pipette(KGObject, OMPipette): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Pipette" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_part_of", + "openminds.v5.core.Setup", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "usage", + "openminds.v5.ephys.PipetteUsage", + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + ] + existence_query_properties = ("contributions", "name", "type") + + def __init__( + self, + name=None, + contributions=None, + description=None, + external_diameter=None, + internal_diameter=None, + internal_identifier=None, + is_part_of=None, + material=None, + serial_number=None, + type=None, + usage=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + contributions=contributions, + description=description, + external_diameter=external_diameter, + internal_diameter=internal_diameter, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + material=material, + serial_number=serial_number, + type=type, + usage=usage, + ) diff --git a/fairgraph/openminds/v5/ephys/device/pipette_usage.py b/fairgraph/openminds/v5/ephys/device/pipette_usage.py new file mode 100644 index 00000000..62f2d275 --- /dev/null +++ b/fairgraph/openminds/v5/ephys/device/pipette_usage.py @@ -0,0 +1,119 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.ephys import PipetteUsage as OMPipetteUsage +from fairgraph import KGObject + + +class PipetteUsage(KGObject, OMPipetteUsage): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PipetteUsage" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "generation_device", + "openminds.v5.stimulation.EphysStimulus", + "generatedBy", + reverse="generated_by", + multiple=True, + description="reverse of 'generated_by'", + ), + Property( + "is_used_to_obtain", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.core.Measurement", + ], + "obtainedWith", + reverse="obtained_with", + multiple=True, + description="reverse of 'obtained_with'", + ), + Property( + "placed_by", + "openminds.v5.ephys.ElectrodePlacement", + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + Property( + "used_in", + ["openminds.v5.ephys.CellPatching", "openminds.v5.ephys.RecordingActivity"], + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + anatomical_location=None, + chloride_reversal_potentials=None, + compensation_current=None, + device=None, + end_membrane_potential=None, + generation_device=None, + holding_potential=None, + input_resistance=None, + is_used_to_obtain=None, + labeling_compound=None, + liquid_junction_potential=None, + metadata_locations=None, + pipette_resistance=None, + pipette_solution=None, + placed_by=None, + seal_resistance=None, + series_resistance=None, + spatial_location=None, + start_membrane_potential=None, + used_in=None, + used_specimen=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + anatomical_location=anatomical_location, + chloride_reversal_potentials=chloride_reversal_potentials, + compensation_current=compensation_current, + device=device, + end_membrane_potential=end_membrane_potential, + generation_device=generation_device, + holding_potential=holding_potential, + input_resistance=input_resistance, + is_used_to_obtain=is_used_to_obtain, + labeling_compound=labeling_compound, + liquid_junction_potential=liquid_junction_potential, + metadata_locations=metadata_locations, + pipette_resistance=pipette_resistance, + pipette_solution=pipette_solution, + placed_by=placed_by, + seal_resistance=seal_resistance, + series_resistance=series_resistance, + spatial_location=spatial_location, + start_membrane_potential=start_membrane_potential, + used_in=used_in, + used_specimen=used_specimen, + ) diff --git a/fairgraph/openminds/v5/neuroimaging/__init__.py b/fairgraph/openminds/v5/neuroimaging/__init__.py new file mode 100644 index 00000000..ac7c0d05 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .activity import StaticMRIAcquisition, DynamicMRIAcquisition +from .device import MRIScannerUsage, MRIScanner, MRICoilUsage, MRICoil + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/neuroimaging/activity/__init__.py b/fairgraph/openminds/v5/neuroimaging/activity/__init__.py new file mode 100644 index 00000000..7d2f274d --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/activity/__init__.py @@ -0,0 +1,2 @@ +from .dynamic_mri_acquisition import DynamicMRIAcquisition +from .static_mri_acquisition import StaticMRIAcquisition diff --git a/fairgraph/openminds/v5/neuroimaging/activity/dynamic_mri_acquisition.py b/fairgraph/openminds/v5/neuroimaging/activity/dynamic_mri_acquisition.py new file mode 100644 index 00000000..3206a3ba --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/activity/dynamic_mri_acquisition.py @@ -0,0 +1,87 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.neuroimaging import DynamicMRIAcquisition as OMDynamicMRIAcquisition +from fairgraph import KGObject + + +from datetime import datetime, time + + +class DynamicMRIAcquisition(KGObject, OMDynamicMRIAcquisition): + """ + + """ + + type_ = "https://openminds.om-i.org/types/DynamicMRIAcquisition" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + behavioral_protocols=None, + contrast_agents=None, + custom_property_sets=None, + delay_time=None, + description=None, + device=None, + distortion_corrections=None, + end_time=None, + inputs=None, + is_part_of=None, + motion_corrections=None, + number_of_discarded_volumes=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + registration_data=None, + specimen_orientation=None, + start_time=None, + study_targets=None, + target_anatomy=None, + volume_acquisition_time=None, + volume_timing=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + behavioral_protocols=behavioral_protocols, + contrast_agents=contrast_agents, + custom_property_sets=custom_property_sets, + delay_time=delay_time, + description=description, + device=device, + distortion_corrections=distortion_corrections, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + motion_corrections=motion_corrections, + number_of_discarded_volumes=number_of_discarded_volumes, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + registration_data=registration_data, + specimen_orientation=specimen_orientation, + start_time=start_time, + study_targets=study_targets, + target_anatomy=target_anatomy, + volume_acquisition_time=volume_acquisition_time, + volume_timing=volume_timing, + ) diff --git a/fairgraph/openminds/v5/neuroimaging/activity/static_mri_acquisition.py b/fairgraph/openminds/v5/neuroimaging/activity/static_mri_acquisition.py new file mode 100644 index 00000000..7b29fa9b --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/activity/static_mri_acquisition.py @@ -0,0 +1,77 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.neuroimaging import StaticMRIAcquisition as OMStaticMRIAcquisition +from fairgraph import KGObject + + +from datetime import datetime, time + + +class StaticMRIAcquisition(KGObject, OMStaticMRIAcquisition): + """ + + """ + + type_ = "https://openminds.om-i.org/types/StaticMRIAcquisition" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + contrast_agents=None, + custom_property_sets=None, + description=None, + device=None, + distortion_corrections=None, + end_time=None, + inputs=None, + is_part_of=None, + motion_corrections=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + registration_data=None, + specimen_orientation=None, + start_time=None, + study_targets=None, + target_anatomy=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + contrast_agents=contrast_agents, + custom_property_sets=custom_property_sets, + description=description, + device=device, + distortion_corrections=distortion_corrections, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + motion_corrections=motion_corrections, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + registration_data=registration_data, + specimen_orientation=specimen_orientation, + start_time=start_time, + study_targets=study_targets, + target_anatomy=target_anatomy, + ) diff --git a/fairgraph/openminds/v5/neuroimaging/device/__init__.py b/fairgraph/openminds/v5/neuroimaging/device/__init__.py new file mode 100644 index 00000000..0b8d3c41 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/device/__init__.py @@ -0,0 +1,4 @@ +from .mri_coil import MRICoil +from .mri_coil_usage import MRICoilUsage +from .mri_scanner import MRIScanner +from .mri_scanner_usage import MRIScannerUsage diff --git a/fairgraph/openminds/v5/neuroimaging/device/mri_coil.py b/fairgraph/openminds/v5/neuroimaging/device/mri_coil.py new file mode 100644 index 00000000..48641b42 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/device/mri_coil.py @@ -0,0 +1,75 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.neuroimaging import MRICoil as OMMRICoil +from fairgraph import KGObject + + +class MRICoil(KGObject, OMMRICoil): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRICoil" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_part_of", + "openminds.v5.core.Setup", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "usage", + "openminds.v5.neuroimaging.MRICoilUsage", + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + ] + existence_query_properties = ("contributions", "element_count", "mounting_type", "name", "type") + + def __init__( + self, + name=None, + contributions=None, + description=None, + element_count=None, + intended_mounting_location=None, + internal_identifier=None, + is_part_of=None, + mounting_type=None, + serial_number=None, + type=None, + usage=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + contributions=contributions, + description=description, + element_count=element_count, + intended_mounting_location=intended_mounting_location, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + mounting_type=mounting_type, + serial_number=serial_number, + type=type, + usage=usage, + ) diff --git a/fairgraph/openminds/v5/neuroimaging/device/mri_coil_usage.py b/fairgraph/openminds/v5/neuroimaging/device/mri_coil_usage.py new file mode 100644 index 00000000..8c6e51e7 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/device/mri_coil_usage.py @@ -0,0 +1,97 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.neuroimaging import MRICoilUsage as OMMRICoilUsage +from fairgraph import KGObject + + +class MRICoilUsage(KGObject, OMMRICoilUsage): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRICoilUsage" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "generation_device", + "openminds.v5.stimulation.EphysStimulus", + "generatedBy", + reverse="generated_by", + multiple=True, + description="reverse of 'generated_by'", + ), + Property( + "is_used_to_obtain", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.core.Measurement", + ], + "obtainedWith", + reverse="obtained_with", + multiple=True, + description="reverse of 'obtained_with'", + ), + Property( + "placed_by", + "openminds.v5.ephys.ElectrodePlacement", + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + Property( + "used_in", + ["openminds.v5.ephys.CellPatching", "openminds.v5.neuroimaging.MRIScannerUsage"], + ["device", "usedCoils"], + reverse=["devices", "used_coils"], + multiple=True, + description="reverse of devices, used_coils", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + active_elements=None, + device=None, + generation_device=None, + is_used_to_obtain=None, + metadata_locations=None, + mounting_location=None, + placed_by=None, + signal_directionality=None, + used_in=None, + used_specimen=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + active_elements=active_elements, + device=device, + generation_device=generation_device, + is_used_to_obtain=is_used_to_obtain, + metadata_locations=metadata_locations, + mounting_location=mounting_location, + placed_by=placed_by, + signal_directionality=signal_directionality, + used_in=used_in, + used_specimen=used_specimen, + ) diff --git a/fairgraph/openminds/v5/neuroimaging/device/mri_scanner.py b/fairgraph/openminds/v5/neuroimaging/device/mri_scanner.py new file mode 100644 index 00000000..bb28f8e6 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/device/mri_scanner.py @@ -0,0 +1,61 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.neuroimaging import MRIScanner as OMMRIScanner +from fairgraph import KGObject + + +class MRIScanner(KGObject, OMMRIScanner): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRIScanner" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_part_of", + "openminds.v5.core.Setup", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + ] + existence_query_properties = ("contributions", "magnetic_field_strength", "name", "type") + + def __init__( + self, + name=None, + contributions=None, + description=None, + internal_identifier=None, + is_part_of=None, + magnetic_field_strength=None, + serial_number=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + contributions=contributions, + description=description, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + magnetic_field_strength=magnetic_field_strength, + serial_number=serial_number, + type=type, + ) diff --git a/fairgraph/openminds/v5/neuroimaging/device/mri_scanner_usage.py b/fairgraph/openminds/v5/neuroimaging/device/mri_scanner_usage.py new file mode 100644 index 00000000..e2f842e4 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/device/mri_scanner_usage.py @@ -0,0 +1,156 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.neuroimaging import MRIScannerUsage as OMMRIScannerUsage +from fairgraph import KGObject + + +from numbers import Real + + +class MRIScannerUsage(KGObject, OMMRIScannerUsage): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRIScannerUsage" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "generation_device", + "openminds.v5.stimulation.EphysStimulus", + "generatedBy", + reverse="generated_by", + multiple=True, + description="reverse of 'generated_by'", + ), + Property( + "is_used_to_obtain", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.core.Measurement", + ], + "obtainedWith", + reverse="obtained_with", + multiple=True, + description="reverse of 'obtained_with'", + ), + Property( + "placed_by", + "openminds.v5.ephys.ElectrodePlacement", + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + Property( + "used_in", + [ + "openminds.v5.ephys.CellPatching", + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + ], + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + acceleration_factor=None, + diffusion_encoding_parameters=None, + dwell_time=None, + echo_times=None, + fat_suppression_technique=None, + field_of_view=None, + flip_angle=None, + generation_device=None, + gradient_correction=None, + inversion_time=None, + is_used_to_obtain=None, + matrix_sizes=None, + metadata_locations=None, + mri_weighting=None, + mt_pulse_shape=None, + number_of_discarded_volumes=None, + number_of_excitations=None, + number_of_slices=None, + parallel_acquisition_technique=None, + phase_encoding_directions=None, + placed_by=None, + receiver_bandwidth=None, + repetition_time=None, + slice_angulations=None, + slice_gap=None, + slice_orientation=None, + slice_thickness=None, + slice_timing=None, + spatial_encoding=None, + spoiling_technique=None, + total_read_out_time=None, + transmitter_bandwidth=None, + used_coils=None, + used_in=None, + used_specimen=None, + voxel_size=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + acceleration_factor=acceleration_factor, + diffusion_encoding_parameters=diffusion_encoding_parameters, + dwell_time=dwell_time, + echo_times=echo_times, + fat_suppression_technique=fat_suppression_technique, + field_of_view=field_of_view, + flip_angle=flip_angle, + generation_device=generation_device, + gradient_correction=gradient_correction, + inversion_time=inversion_time, + is_used_to_obtain=is_used_to_obtain, + matrix_sizes=matrix_sizes, + metadata_locations=metadata_locations, + mri_weighting=mri_weighting, + mt_pulse_shape=mt_pulse_shape, + number_of_discarded_volumes=number_of_discarded_volumes, + number_of_excitations=number_of_excitations, + number_of_slices=number_of_slices, + parallel_acquisition_technique=parallel_acquisition_technique, + phase_encoding_directions=phase_encoding_directions, + placed_by=placed_by, + receiver_bandwidth=receiver_bandwidth, + repetition_time=repetition_time, + slice_angulations=slice_angulations, + slice_gap=slice_gap, + slice_orientation=slice_orientation, + slice_thickness=slice_thickness, + slice_timing=slice_timing, + spatial_encoding=spatial_encoding, + spoiling_technique=spoiling_technique, + total_read_out_time=total_read_out_time, + transmitter_bandwidth=transmitter_bandwidth, + used_coils=used_coils, + used_in=used_in, + used_specimen=used_specimen, + voxel_size=voxel_size, + ) diff --git a/fairgraph/openminds/v5/publications/__init__.py b/fairgraph/openminds/v5/publications/__init__.py new file mode 100644 index 00000000..69d38080 --- /dev/null +++ b/fairgraph/openminds/v5/publications/__init__.py @@ -0,0 +1,40 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .book import Book +from .chapter import Chapter +from .learning_resource import LearningResource +from .live_paper import LivePaper +from .live_paper_resource_item import LivePaperResourceItem +from .live_paper_section import LivePaperSection +from .live_paper_version import LivePaperVersion +from .periodical import Periodical +from .publication_issue import PublicationIssue +from .publication_volume import PublicationVolume +from .scholarly_article import ScholarlyArticle + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/publications/book.py b/fairgraph/openminds/v5/publications/book.py new file mode 100644 index 00000000..6a485e91 --- /dev/null +++ b/fairgraph/openminds/v5/publications/book.py @@ -0,0 +1,113 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import Book as OMBook +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class Book(KGObject, OMBook): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Book" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_parts", + "openminds.v5.publications.Chapter", + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("name", "publication_date") + + def __init__( + self, + name=None, + abstract=None, + cited_publications=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + creation_date=None, + digital_identifier=None, + funding=None, + has_parts=None, + iri=None, + keywords=None, + modification_date=None, + publication_date=None, + related_to=None, + usage_conditions=None, + version_identifier=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + abstract=abstract, + cited_publications=cited_publications, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + creation_date=creation_date, + digital_identifier=digital_identifier, + funding=funding, + has_parts=has_parts, + iri=iri, + keywords=keywords, + modification_date=modification_date, + publication_date=publication_date, + related_to=related_to, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + ) diff --git a/fairgraph/openminds/v5/publications/chapter.py b/fairgraph/openminds/v5/publications/chapter.py new file mode 100644 index 00000000..6f45be31 --- /dev/null +++ b/fairgraph/openminds/v5/publications/chapter.py @@ -0,0 +1,107 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import Chapter as OMChapter +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class Chapter(KGObject, OMChapter): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Chapter" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("contributions", "is_part_of", "name", "publication_date") + + def __init__( + self, + name=None, + abstract=None, + cited_publications=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + creation_date=None, + digital_identifier=None, + funding=None, + iri=None, + is_part_of=None, + keywords=None, + modification_date=None, + pagination=None, + publication_date=None, + related_to=None, + usage_conditions=None, + version_identifier=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + abstract=abstract, + cited_publications=cited_publications, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + creation_date=creation_date, + digital_identifier=digital_identifier, + funding=funding, + iri=iri, + is_part_of=is_part_of, + keywords=keywords, + modification_date=modification_date, + pagination=pagination, + publication_date=publication_date, + related_to=related_to, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + ) diff --git a/fairgraph/openminds/v5/publications/learning_resource.py b/fairgraph/openminds/v5/publications/learning_resource.py new file mode 100644 index 00000000..6945fc5b --- /dev/null +++ b/fairgraph/openminds/v5/publications/learning_resource.py @@ -0,0 +1,86 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import LearningResource as OMLearningResource +from fairgraph import KGObject + + +from datetime import date +from openminds import IRI + + +class LearningResource(KGObject, OMLearningResource): + """ + + """ + + type_ = "https://openminds.om-i.org/types/LearningResource" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("about", "name", "publication_date") + + def __init__( + self, + name=None, + about=None, + abstract=None, + cited_publications=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + creation_date=None, + digital_identifier=None, + educational_level=None, + funding=None, + iri=None, + keywords=None, + learning_outcome=None, + modification_date=None, + order=None, + prerequisite=None, + publication_date=None, + required_time=None, + topic=None, + type=None, + usage_conditions=None, + version_identifier=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + about=about, + abstract=abstract, + cited_publications=cited_publications, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + creation_date=creation_date, + digital_identifier=digital_identifier, + educational_level=educational_level, + funding=funding, + iri=iri, + keywords=keywords, + learning_outcome=learning_outcome, + modification_date=modification_date, + order=order, + prerequisite=prerequisite, + publication_date=publication_date, + required_time=required_time, + topic=topic, + type=type, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + ) diff --git a/fairgraph/openminds/v5/publications/live_paper.py b/fairgraph/openminds/v5/publications/live_paper.py new file mode 100644 index 00000000..5ff27cf1 --- /dev/null +++ b/fairgraph/openminds/v5/publications/live_paper.py @@ -0,0 +1,109 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import LivePaper as OMLivePaper +from fairgraph import KGObject + + +from openminds import IRI + + +class LivePaper(KGObject, OMLivePaper): + """ + + """ + + type_ = "https://openminds.om-i.org/types/LivePaper" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.publications.LivePaperVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("full_name", "short_name") + + def __init__( + self, + name=None, + alias=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + keywords=None, + learning_resources=None, + related_publications=None, + short_name=None, + support_channels=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + ) diff --git a/fairgraph/openminds/v5/publications/live_paper_resource_item.py b/fairgraph/openminds/v5/publications/live_paper_resource_item.py new file mode 100644 index 00000000..c8ae7657 --- /dev/null +++ b/fairgraph/openminds/v5/publications/live_paper_resource_item.py @@ -0,0 +1,58 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import LivePaperResourceItem as OMLivePaperResourceItem +from fairgraph import KGObject + + +from openminds import IRI + + +class LivePaperResourceItem(KGObject, OMLivePaperResourceItem): + """ + + """ + + type_ = "https://openminds.om-i.org/types/LivePaperResourceItem" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_location_of", + "openminds.v5.core.ServiceLink", + "dataLocation", + reverse="data_location", + multiple=True, + description="reverse of 'data_location'", + ), + ] + existence_query_properties = ("name", "iri", "is_part_of") + + def __init__( + self, + name=None, + hosted_by=None, + iri=None, + is_location_of=None, + is_part_of=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + hosted_by=hosted_by, + iri=iri, + is_location_of=is_location_of, + is_part_of=is_part_of, + ) diff --git a/fairgraph/openminds/v5/publications/live_paper_section.py b/fairgraph/openminds/v5/publications/live_paper_section.py new file mode 100644 index 00000000..26068c6c --- /dev/null +++ b/fairgraph/openminds/v5/publications/live_paper_section.py @@ -0,0 +1,57 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import LivePaperSection as OMLivePaperSection +from fairgraph import KGObject + + +class LivePaperSection(KGObject, OMLivePaperSection): + """ + + """ + + type_ = "https://openminds.om-i.org/types/LivePaperSection" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_parts", + "openminds.v5.publications.LivePaperResourceItem", + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + ] + existence_query_properties = ("is_part_of", "name", "order", "type") + + def __init__( + self, + name=None, + description=None, + has_parts=None, + is_part_of=None, + order=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + description=description, + has_parts=has_parts, + is_part_of=is_part_of, + order=order, + type=type, + ) diff --git a/fairgraph/openminds/v5/publications/live_paper_version.py b/fairgraph/openminds/v5/publications/live_paper_version.py new file mode 100644 index 00000000..bbc9cebc --- /dev/null +++ b/fairgraph/openminds/v5/publications/live_paper_version.py @@ -0,0 +1,169 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import LivePaperVersion as OMLivePaperVersion +from fairgraph import KGObject + + +from datetime import date +from datetime import datetime +from openminds import IRI + + +class LivePaperVersion(KGObject, OMLivePaperVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/LivePaperVersion" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_parts", + "openminds.v5.publications.LivePaperSection", + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + Property( + "has_variants", + "openminds.v5.publications.LivePaperVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + about=None, + accessibility=None, + comments=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + funding=None, + has_parts=None, + has_variants=None, + homepage=None, + how_to_cite=None, + is_part_of=None, + is_preceded_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + modification_date=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + support_channels=None, + usage_conditions=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + about=about, + accessibility=accessibility, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + funding=funding, + has_parts=has_parts, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + modification_date=modification_date, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + support_channels=support_channels, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + version_specification=version_specification, + ) + + def _get_inherited_property(self, property_name, client, release_status="released"): + value = getattr(self, property_name) + if value: + return value + else: + parent = self.is_version_of.resolve(client, release_status=release_status) + return getattr(parent, property_name) + + def get_full_name(self, client, release_status="released"): + return self._get_inherited_property("full_name", client, release_status) + + def get_short_name(self, client, release_status="released"): + return self._get_inherited_property("short_name", client, release_status) + + def get_description(self, client, release_status="released"): + return self._get_inherited_property("description", client, release_status) + + def get_authors(self, client, release_status="released"): + return self._get_inherited_property("authors", client, release_status) diff --git a/fairgraph/openminds/v5/publications/periodical.py b/fairgraph/openminds/v5/publications/periodical.py new file mode 100644 index 00000000..6597d13c --- /dev/null +++ b/fairgraph/openminds/v5/publications/periodical.py @@ -0,0 +1,53 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import Periodical as OMPeriodical +from fairgraph import KGObject + + +class Periodical(KGObject, OMPeriodical): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Periodical" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_parts", + "openminds.v5.publications.PublicationVolume", + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + ] + existence_query_properties = ("abbreviation",) + + def __init__( + self, + name=None, + abbreviation=None, + digital_identifier=None, + has_parts=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + abbreviation=abbreviation, + digital_identifier=digital_identifier, + has_parts=has_parts, + ) diff --git a/fairgraph/openminds/v5/publications/publication_issue.py b/fairgraph/openminds/v5/publications/publication_issue.py new file mode 100644 index 00000000..d97f9e25 --- /dev/null +++ b/fairgraph/openminds/v5/publications/publication_issue.py @@ -0,0 +1,44 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import PublicationIssue as OMPublicationIssue +from fairgraph import KGObject + + +class PublicationIssue(KGObject, OMPublicationIssue): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PublicationIssue" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_parts", + "openminds.v5.publications.ScholarlyArticle", + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + ] + existence_query_properties = ("is_part_of", "issue_number") + + def __init__( + self, has_parts=None, is_part_of=None, issue_number=None, id=None, data=None, space=None, release_status=None + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + has_parts=has_parts, + is_part_of=is_part_of, + issue_number=issue_number, + ) diff --git a/fairgraph/openminds/v5/publications/publication_volume.py b/fairgraph/openminds/v5/publications/publication_volume.py new file mode 100644 index 00000000..290131f4 --- /dev/null +++ b/fairgraph/openminds/v5/publications/publication_volume.py @@ -0,0 +1,44 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import PublicationVolume as OMPublicationVolume +from fairgraph import KGObject + + +class PublicationVolume(KGObject, OMPublicationVolume): + """ + + """ + + type_ = "https://openminds.om-i.org/types/PublicationVolume" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_parts", + ["openminds.v5.publications.PublicationIssue", "openminds.v5.publications.ScholarlyArticle"], + "isPartOf", + reverse="is_part_of", + multiple=True, + description="reverse of 'is_part_of'", + ), + ] + existence_query_properties = ("is_part_of", "volume_number") + + def __init__( + self, has_parts=None, is_part_of=None, volume_number=None, id=None, data=None, space=None, release_status=None + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + has_parts=has_parts, + is_part_of=is_part_of, + volume_number=volume_number, + ) diff --git a/fairgraph/openminds/v5/publications/scholarly_article.py b/fairgraph/openminds/v5/publications/scholarly_article.py new file mode 100644 index 00000000..5d9976a1 --- /dev/null +++ b/fairgraph/openminds/v5/publications/scholarly_article.py @@ -0,0 +1,153 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.publications import ScholarlyArticle as OMScholarlyArticle +from fairgraph import KGObject + +from fairgraph.utility import as_list +from .publication_issue import PublicationIssue +from .periodical import Periodical +from datetime import date +from openminds import IRI + + +class ScholarlyArticle(KGObject, OMScholarlyArticle): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ScholarlyArticle" + default_space = "livepapers" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "related_to", + [ + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.ValidationTestVersion", + "openminds.v5.computation.WorkflowRecipe", + "openminds.v5.computation.WorkflowRecipeVersion", + "openminds.v5.core.Dataset", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Interface", + "openminds.v5.core.InterfaceVersion", + "openminds.v5.core.MetaDataModel", + "openminds.v5.core.MetaDataModelVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ModelVersion", + "openminds.v5.core.Service", + "openminds.v5.core.Software", + "openminds.v5.core.SoftwareVersion", + "openminds.v5.publications.LivePaper", + "openminds.v5.publications.LivePaperVersion", + "openminds.v5.sands.AnatomicalAtlas", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CommonCoordinateFramework", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + ], + "relatedPublication", + reverse="related_publications", + multiple=True, + description="reverse of 'related_publications'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + abstract=None, + cited_publications=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + creation_date=None, + digital_identifier=None, + funding=None, + iri=None, + is_part_of=None, + keywords=None, + modification_date=None, + pagination=None, + publication_date=None, + related_to=None, + usage_conditions=None, + version_identifier=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + abstract=abstract, + cited_publications=cited_publications, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + creation_date=creation_date, + digital_identifier=digital_identifier, + funding=funding, + iri=iri, + is_part_of=is_part_of, + keywords=keywords, + modification_date=modification_date, + pagination=pagination, + publication_date=publication_date, + related_to=related_to, + usage_conditions=usage_conditions, + version_identifier=version_identifier, + ) + + def get_journal(self, client, with_volume=False, with_issue=False): + journal = volume = issue = None + if self.is_part_of: + issue_or_volume = self.is_part_of.resolve( + client, release_status=self.release_status, follow_links={"is_part_of": {}} + ) + if isinstance(issue_or_volume, PublicationIssue): + volume = issue_or_volume.is_part_of + issue = issue_or_volume + else: + volume = issue_or_volume + issue = None + journal = volume.is_part_of + assert isinstance(journal, Periodical) + retval = [journal] + if with_volume: + retval.append(volume) + if with_issue: + retval.append(issue) + if not with_volume and not with_issue: + return journal + else: + return tuple(retval) + + def get_citation_string(self, client): + # Eyal, G., Verhoog, M. B., Testa-Silva, G., Deitcher, Y., Lodder, ' + # - 'J. C., Benavides-Piccione, R., ... & Segev, I. (2016). Unique ' + # - 'membrane properties and enhanced signal processing in human ' + # - 'neocortical neurons. Elife, 5, e16553. + self.resolve(client, follow_links={"is_part_of": {}, "authors": {}}) + authors = as_list(self.authors) + if len(authors) == 1: + author_str = authors[0].full_name + elif len(authors) > 1: + author_str = ", ".join(au.full_name for au in authors[:-1]) + author_str += " & " + self.authors[-1].full_name + journal, volume, issue = self.get_journal(client, with_volume=True, with_issue=True) + title = self.name + if title and title[-1] != ".": + title += "." + journal_name = journal.name if journal else "" + volume_number = f"{volume.volume_number}: " if (volume and volume.volume_number != "placeholder") else "" + return f"{author_str} ({self.publication_date.year}). {title} {journal_name}, {volume_number}{self.pagination or ''}." diff --git a/fairgraph/openminds/v5/sands/__init__.py b/fairgraph/openminds/v5/sands/__init__.py new file mode 100644 index 00000000..ffb6c9fa --- /dev/null +++ b/fairgraph/openminds/v5/sands/__init__.py @@ -0,0 +1,74 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .non_atlas import CustomAnnotation, CustomAnatomicalEntity, CustomCoordinateFramework +from .miscellaneous import ( + AnatomicalTargetPosition, + ViewerSpecification, + QualitativeRelationAssessment, + CoordinatePoint, + QuantitativeRelationAssessment, + SingleColor, +) +from .atlas import ( + AnatomicalAtlas, + ParcellationEntity, + AnatomicalAtlasVersion, + ParcellationTerminologyVersion, + CommonCoordinateFramework, + CommonCoordinateFrameworkVersion, + ParcellationTerminology, + AtlasAnnotation, + ParcellationEntityVersion, +) +from .mathematical_shape import ( + Rhombus, + Ellipsoid, + Frustum, + Cube, + Triangle, + RightPrism, + Square, + Trapezoid, + Ellipse, + RightCone, + Kite, + CircularSector, + RegularPolygon, + RightCylinder, + EquilateralTriangle, + Rectangle, + IsoscelesTriangle, + RightTriangle, + Spheroid, + Circle, + Parallelogram, + Sphere, + CentroidalPyramid, +) + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/sands/atlas/__init__.py b/fairgraph/openminds/v5/sands/atlas/__init__.py new file mode 100644 index 00000000..d01f2028 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/__init__.py @@ -0,0 +1,9 @@ +from .anatomical_atlas import AnatomicalAtlas +from .anatomical_atlas_version import AnatomicalAtlasVersion +from .atlas_annotation import AtlasAnnotation +from .common_coordinate_framework import CommonCoordinateFramework +from .common_coordinate_framework_version import CommonCoordinateFrameworkVersion +from .parcellation_entity import ParcellationEntity +from .parcellation_entity_version import ParcellationEntityVersion +from .parcellation_terminology import ParcellationTerminology +from .parcellation_terminology_version import ParcellationTerminologyVersion diff --git a/fairgraph/openminds/v5/sands/atlas/anatomical_atlas.py b/fairgraph/openminds/v5/sands/atlas/anatomical_atlas.py new file mode 100644 index 00000000..05e21dce --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/anatomical_atlas.py @@ -0,0 +1,127 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import AnatomicalAtlas as OMAnatomicalAtlas +from fairgraph import KGObject + + +from openminds import IRI + + +class AnatomicalAtlas(KGObject, OMAnatomicalAtlas): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnatomicalAtlas" + default_space = "atlas" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.sands.AnatomicalAtlasVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_input_to", + "openminds.v5.core.DatasetVersion", + "inputData", + reverse="input_data", + multiple=True, + description="reverse of 'input_data'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("digital_identifier",) + + def __init__( + self, + name=None, + alias=None, + abbreviation=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_terminology=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_input_to=None, + is_part_of=None, + keywords=None, + learning_resources=None, + ontology_identifier=None, + related_publications=None, + short_name=None, + support_channels=None, + used_taxon=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + abbreviation=abbreviation, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_terminology=has_terminology, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_input_to=is_input_to, + is_part_of=is_part_of, + keywords=keywords, + learning_resources=learning_resources, + ontology_identifier=ontology_identifier, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + used_taxon=used_taxon, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/anatomical_atlas_version.py b/fairgraph/openminds/v5/sands/atlas/anatomical_atlas_version.py new file mode 100644 index 00000000..e7f58a29 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/anatomical_atlas_version.py @@ -0,0 +1,174 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import AnatomicalAtlasVersion as OMAnatomicalAtlasVersion +from fairgraph import KGObject + +from urllib.request import urlretrieve +from pathlib import Path +from fairgraph.utility import accepted_terms_of_use +from datetime import date +from openminds import IRI + + +class AnatomicalAtlasVersion(KGObject, OMAnatomicalAtlasVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnatomicalAtlasVersion" + default_space = "atlas" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_variants", + "openminds.v5.sands.AnatomicalAtlasVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_input_to", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.ProtocolExecution", + ], + ["input", "inputData"], + reverse=["input_data", "inputs"], + multiple=True, + description="reverse of input_data, inputs", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_used_by", + "openminds.v5.computation.ServiceDeployment", + "uses", + reverse="uses", + multiple=True, + description="reverse of 'uses'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + abbreviation=None, + accessibility=None, + comments=None, + contributions=None, + contributor_affiliations=None, + coordinate_framework=None, + copyright=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + funding=None, + has_terminology=None, + has_variants=None, + homepage=None, + how_to_cite=None, + is_input_to=None, + is_part_of=None, + is_preceded_by=None, + is_used_by=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + major_version_identifier=None, + ontology_identifier=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + support_channels=None, + type=None, + usage_conditions=None, + used_specimens=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + abbreviation=abbreviation, + accessibility=accessibility, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + coordinate_framework=coordinate_framework, + copyright=copyright, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + funding=funding, + has_terminology=has_terminology, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + is_input_to=is_input_to, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_used_by=is_used_by, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + major_version_identifier=major_version_identifier, + ontology_identifier=ontology_identifier, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + support_channels=support_channels, + type=type, + usage_conditions=usage_conditions, + used_specimens=used_specimens, + version_identifier=version_identifier, + version_specification=version_specification, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/atlas_annotation.py b/fairgraph/openminds/v5/sands/atlas/atlas_annotation.py new file mode 100644 index 00000000..73890321 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/atlas_annotation.py @@ -0,0 +1,50 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import AtlasAnnotation as OMAtlasAnnotation +from fairgraph import KGEmbedded + + +class AtlasAnnotation(KGEmbedded, OMAtlasAnnotation): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AtlasAnnotation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("criteria_quality_type", "criteria_type", "type") + + def __init__( + self, + criteria=None, + criteria_quality_type=None, + criteria_type=None, + inspired_by=None, + internal_identifier=None, + lateralities=None, + preferred_visualization=None, + specification=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + criteria=criteria, + criteria_quality_type=criteria_quality_type, + criteria_type=criteria_type, + inspired_by=inspired_by, + internal_identifier=internal_identifier, + lateralities=lateralities, + preferred_visualization=preferred_visualization, + specification=specification, + type=type, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/common_coordinate_framework.py b/fairgraph/openminds/v5/sands/atlas/common_coordinate_framework.py new file mode 100644 index 00000000..e8582c74 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/common_coordinate_framework.py @@ -0,0 +1,135 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CommonCoordinateFramework as OMCommonCoordinateFramework +from fairgraph import KGObject + + +from openminds import IRI + + +class CommonCoordinateFramework(KGObject, OMCommonCoordinateFramework): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CommonCoordinateFramework" + default_space = "atlas" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_versions", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_input_to", + "openminds.v5.core.DatasetVersion", + "inputData", + reverse="input_data", + multiple=True, + description="reverse of 'input_data'", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + abbreviation=None, + comments=None, + contributions=None, + contributor_affiliations=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + has_versions=None, + homepage=None, + how_to_cite=None, + is_input_to=None, + is_part_of=None, + is_used_to_group=None, + keywords=None, + learning_resources=None, + ontology_identifiers=None, + related_publications=None, + short_name=None, + support_channels=None, + used_taxon=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + abbreviation=abbreviation, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + has_versions=has_versions, + homepage=homepage, + how_to_cite=how_to_cite, + is_input_to=is_input_to, + is_part_of=is_part_of, + is_used_to_group=is_used_to_group, + keywords=keywords, + learning_resources=learning_resources, + ontology_identifiers=ontology_identifiers, + related_publications=related_publications, + short_name=short_name, + support_channels=support_channels, + used_taxon=used_taxon, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/common_coordinate_framework_version.py b/fairgraph/openminds/v5/sands/atlas/common_coordinate_framework_version.py new file mode 100644 index 00000000..d346699a --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/common_coordinate_framework_version.py @@ -0,0 +1,201 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CommonCoordinateFrameworkVersion as OMCommonCoordinateFrameworkVersion +from fairgraph import KGObject + +from urllib.request import urlretrieve +from pathlib import Path +from fairgraph.utility import accepted_terms_of_use +from datetime import date +from openminds import IRI + + +class CommonCoordinateFrameworkVersion(KGObject, OMCommonCoordinateFrameworkVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CommonCoordinateFrameworkVersion" + default_space = "atlas" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "comments", + "openminds.v5.core.Comment", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + Property( + "has_variants", + "openminds.v5.sands.CommonCoordinateFrameworkVersion", + "isVariantOf", + reverse="is_variant_of", + multiple=True, + description="reverse of 'is_variant_of'", + ), + Property( + "is_coordinate_framework_of", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.sands.AnatomicalAtlasVersion", + "openminds.v5.sands.CustomAnnotation", + ], + "coordinateFramework", + reverse="coordinate_framework", + multiple=True, + description="reverse of 'coordinate_framework'", + ), + Property( + "is_input_to", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.ProtocolExecution", + ], + ["input", "inputData"], + reverse=["input_data", "inputs"], + multiple=True, + description="reverse of input_data, inputs", + ), + Property( + "is_part_of", + ["openminds.v5.core.Project", "openminds.v5.core.ResearchProductGroup"], + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "is_used_by", + "openminds.v5.computation.ServiceDeployment", + "uses", + reverse="uses", + multiple=True, + description="reverse of 'uses'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "learning_resources", + "openminds.v5.publications.LearningResource", + "about", + reverse="about", + multiple=True, + description="reverse of 'about'", + ), + ] + aliases = {"name": "full_name", "alias": "short_name"} + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + name=None, + alias=None, + abbreviation=None, + accessibility=None, + anatomical_axes_orientation=None, + axes_origins=None, + comments=None, + contributions=None, + contributor_affiliations=None, + copyright=None, + default_images=None, + description=None, + digital_identifier=None, + documentation=None, + full_name=None, + funding=None, + has_variants=None, + homepage=None, + how_to_cite=None, + is_coordinate_framework_of=None, + is_input_to=None, + is_part_of=None, + is_preceded_by=None, + is_used_by=None, + is_used_to_group=None, + is_variant_of=None, + is_version_of=None, + keywords=None, + learning_resources=None, + native_unit=None, + ontology_identifiers=None, + publication_status=None, + related_publications=None, + release_date=None, + repository=None, + short_name=None, + support_channels=None, + usage_conditions=None, + used_specimens=None, + version_identifier=None, + version_specification=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + alias=alias, + abbreviation=abbreviation, + accessibility=accessibility, + anatomical_axes_orientation=anatomical_axes_orientation, + axes_origins=axes_origins, + comments=comments, + contributions=contributions, + contributor_affiliations=contributor_affiliations, + copyright=copyright, + default_images=default_images, + description=description, + digital_identifier=digital_identifier, + documentation=documentation, + full_name=full_name, + funding=funding, + has_variants=has_variants, + homepage=homepage, + how_to_cite=how_to_cite, + is_coordinate_framework_of=is_coordinate_framework_of, + is_input_to=is_input_to, + is_part_of=is_part_of, + is_preceded_by=is_preceded_by, + is_used_by=is_used_by, + is_used_to_group=is_used_to_group, + is_variant_of=is_variant_of, + is_version_of=is_version_of, + keywords=keywords, + learning_resources=learning_resources, + native_unit=native_unit, + ontology_identifiers=ontology_identifiers, + publication_status=publication_status, + related_publications=related_publications, + release_date=release_date, + repository=repository, + short_name=short_name, + support_channels=support_channels, + usage_conditions=usage_conditions, + used_specimens=used_specimens, + version_identifier=version_identifier, + version_specification=version_specification, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/parcellation_entity.py b/fairgraph/openminds/v5/sands/atlas/parcellation_entity.py new file mode 100644 index 00000000..3eb216e9 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/parcellation_entity.py @@ -0,0 +1,142 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import ParcellationEntity as OMParcellationEntity +from fairgraph import KGObject + + +class ParcellationEntity(KGObject, OMParcellationEntity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ParcellationEntity" + default_space = "atlas" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_children", + "openminds.v5.sands.ParcellationEntity", + "hasParent", + reverse="has_parents", + multiple=True, + description="reverse of 'has_parents'", + ), + Property( + "has_versions", + "openminds.v5.sands.ParcellationEntityVersion", + "isVersionOf", + reverse="is_version_of", + multiple=True, + description="reverse of 'is_version_of'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + lookup_label=None, + abbreviation=None, + alternate_names=None, + definition=None, + has_children=None, + has_parents=None, + has_versions=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + ontology_identifiers=None, + related_interspecies_anatomy=None, + studied_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + lookup_label=lookup_label, + abbreviation=abbreviation, + alternate_names=alternate_names, + definition=definition, + has_children=has_children, + has_parents=has_parents, + has_versions=has_versions, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + ontology_identifiers=ontology_identifiers, + related_interspecies_anatomy=related_interspecies_anatomy, + studied_in=studied_in, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/parcellation_entity_version.py b/fairgraph/openminds/v5/sands/atlas/parcellation_entity_version.py new file mode 100644 index 00000000..428a31f6 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/parcellation_entity_version.py @@ -0,0 +1,148 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import ParcellationEntityVersion as OMParcellationEntityVersion +from fairgraph import KGObject + + +class ParcellationEntityVersion(KGObject, OMParcellationEntityVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ParcellationEntityVersion" + default_space = "atlas" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "has_children", + "openminds.v5.sands.ParcellationEntityVersion", + "hasParent", + reverse="has_parents", + multiple=True, + description="reverse of 'has_parents'", + ), + Property( + "is_location_of", + [ + "openminds.v5.core.ServiceLink", + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes", "dataLocation"], + reverse=[ + "anatomical_location", + "anatomical_locations", + "anatomical_locations_of_electrodes", + "data_location", + ], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes, data_location", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name", "version_identifier") + + def __init__( + self, + name=None, + lookup_label=None, + abbreviation=None, + additional_remarks=None, + alternate_names=None, + corrected_name=None, + has_annotations=None, + has_children=None, + has_parents=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + is_version_of=None, + ontology_identifiers=None, + relation_assessments=None, + studied_in=None, + version_identifier=None, + version_innovation=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + lookup_label=lookup_label, + abbreviation=abbreviation, + additional_remarks=additional_remarks, + alternate_names=alternate_names, + corrected_name=corrected_name, + has_annotations=has_annotations, + has_children=has_children, + has_parents=has_parents, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + is_version_of=is_version_of, + ontology_identifiers=ontology_identifiers, + relation_assessments=relation_assessments, + studied_in=studied_in, + version_identifier=version_identifier, + version_innovation=version_innovation, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/parcellation_terminology.py b/fairgraph/openminds/v5/sands/atlas/parcellation_terminology.py new file mode 100644 index 00000000..d1943d37 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/parcellation_terminology.py @@ -0,0 +1,40 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import ParcellationTerminology as OMParcellationTerminology +from fairgraph import KGEmbedded + + +class ParcellationTerminology(KGEmbedded, OMParcellationTerminology): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ParcellationTerminology" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("has_entities",) + + def __init__( + self, + data_locations=None, + digital_identifier=None, + has_entities=None, + ontology_identifiers=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + data_locations=data_locations, + digital_identifier=digital_identifier, + has_entities=has_entities, + ontology_identifiers=ontology_identifiers, + ) diff --git a/fairgraph/openminds/v5/sands/atlas/parcellation_terminology_version.py b/fairgraph/openminds/v5/sands/atlas/parcellation_terminology_version.py new file mode 100644 index 00000000..938b93f5 --- /dev/null +++ b/fairgraph/openminds/v5/sands/atlas/parcellation_terminology_version.py @@ -0,0 +1,40 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import ParcellationTerminologyVersion as OMParcellationTerminologyVersion +from fairgraph import KGEmbedded + + +class ParcellationTerminologyVersion(KGEmbedded, OMParcellationTerminologyVersion): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ParcellationTerminologyVersion" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("short_name", "version_identifier") + + def __init__( + self, + data_locations=None, + digital_identifier=None, + has_entities=None, + ontology_identifiers=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + data_locations=data_locations, + digital_identifier=digital_identifier, + has_entities=has_entities, + ontology_identifiers=ontology_identifiers, + ) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/__init__.py b/fairgraph/openminds/v5/sands/mathematical_shape/__init__.py new file mode 100644 index 00000000..b60b4e9a --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/__init__.py @@ -0,0 +1,23 @@ +from .centroidal_pyramid import CentroidalPyramid +from .circle import Circle +from .circular_sector import CircularSector +from .cube import Cube +from .ellipse import Ellipse +from .ellipsoid import Ellipsoid +from .equilateral_triangle import EquilateralTriangle +from .frustum import Frustum +from .isosceles_triangle import IsoscelesTriangle +from .kite import Kite +from .parallelogram import Parallelogram +from .rectangle import Rectangle +from .regular_polygon import RegularPolygon +from .rhombus import Rhombus +from .right_cone import RightCone +from .right_cylinder import RightCylinder +from .right_prism import RightPrism +from .right_triangle import RightTriangle +from .sphere import Sphere +from .spheroid import Spheroid +from .square import Square +from .trapezoid import Trapezoid +from .triangle import Triangle diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/centroidal_pyramid.py b/fairgraph/openminds/v5/sands/mathematical_shape/centroidal_pyramid.py new file mode 100644 index 00000000..5337d3d3 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/centroidal_pyramid.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CentroidalPyramid as OMCentroidalPyramid +from fairgraph import KGEmbedded + + +class CentroidalPyramid(KGEmbedded, OMCentroidalPyramid): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CentroidalPyramid" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("apex_base_distance", "base_shape") + + def __init__(self, apex_base_distance=None, base_shape=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, apex_base_distance=apex_base_distance, base_shape=base_shape) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/circle.py b/fairgraph/openminds/v5/sands/mathematical_shape/circle.py new file mode 100644 index 00000000..661246c4 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/circle.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Circle as OMCircle +from fairgraph import KGEmbedded + + +class Circle(KGEmbedded, OMCircle): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Circle" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("radius",) + + def __init__(self, radius=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, radius=radius) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/circular_sector.py b/fairgraph/openminds/v5/sands/mathematical_shape/circular_sector.py new file mode 100644 index 00000000..42b4abeb --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/circular_sector.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CircularSector as OMCircularSector +from fairgraph import KGEmbedded + + +class CircularSector(KGEmbedded, OMCircularSector): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CircularSector" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("central_angle", "radius") + + def __init__(self, central_angle=None, radius=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, central_angle=central_angle, radius=radius) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/cube.py b/fairgraph/openminds/v5/sands/mathematical_shape/cube.py new file mode 100644 index 00000000..a851f8f0 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/cube.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Cube as OMCube +from fairgraph import KGEmbedded + + +class Cube(KGEmbedded, OMCube): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Cube" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("side_length",) + + def __init__(self, side_length=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, side_length=side_length) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/ellipse.py b/fairgraph/openminds/v5/sands/mathematical_shape/ellipse.py new file mode 100644 index 00000000..567ac2fd --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/ellipse.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Ellipse as OMEllipse +from fairgraph import KGEmbedded + + +class Ellipse(KGEmbedded, OMEllipse): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Ellipse" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("diameters",) + + def __init__(self, diameters=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, diameters=diameters) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/ellipsoid.py b/fairgraph/openminds/v5/sands/mathematical_shape/ellipsoid.py new file mode 100644 index 00000000..aec79f5a --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/ellipsoid.py @@ -0,0 +1,38 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Ellipsoid as OMEllipsoid +from fairgraph import KGEmbedded + + +class Ellipsoid(KGEmbedded, OMEllipsoid): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Ellipsoid" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("intermediate_diameter", "major_diameter", "minor_diameter") + + def __init__( + self, + intermediate_diameter=None, + major_diameter=None, + minor_diameter=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + intermediate_diameter=intermediate_diameter, + major_diameter=major_diameter, + minor_diameter=minor_diameter, + ) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/equilateral_triangle.py b/fairgraph/openminds/v5/sands/mathematical_shape/equilateral_triangle.py new file mode 100644 index 00000000..a2c9f2d5 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/equilateral_triangle.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import EquilateralTriangle as OMEquilateralTriangle +from fairgraph import KGEmbedded + + +class EquilateralTriangle(KGEmbedded, OMEquilateralTriangle): + """ + + """ + + type_ = "https://openminds.om-i.org/types/EquilateralTriangle" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("side_length",) + + def __init__(self, side_length=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, side_length=side_length) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/frustum.py b/fairgraph/openminds/v5/sands/mathematical_shape/frustum.py new file mode 100644 index 00000000..23c3b531 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/frustum.py @@ -0,0 +1,41 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Frustum as OMFrustum +from fairgraph import KGEmbedded + + +from numbers import Real + + +class Frustum(KGEmbedded, OMFrustum): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Frustum" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("base_distance", "major_base_shape", "minor_base_scale") + + def __init__( + self, + base_distance=None, + major_base_shape=None, + minor_base_scale=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + base_distance=base_distance, + major_base_shape=major_base_shape, + minor_base_scale=minor_base_scale, + ) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/isosceles_triangle.py b/fairgraph/openminds/v5/sands/mathematical_shape/isosceles_triangle.py new file mode 100644 index 00000000..78253e1c --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/isosceles_triangle.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import IsoscelesTriangle as OMIsoscelesTriangle +from fairgraph import KGEmbedded + + +class IsoscelesTriangle(KGEmbedded, OMIsoscelesTriangle): + """ + + """ + + type_ = "https://openminds.om-i.org/types/IsoscelesTriangle" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("apex_angle", "leg_length") + + def __init__(self, apex_angle=None, leg_length=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, apex_angle=apex_angle, leg_length=leg_length) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/kite.py b/fairgraph/openminds/v5/sands/mathematical_shape/kite.py new file mode 100644 index 00000000..b7b14708 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/kite.py @@ -0,0 +1,27 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Kite as OMKite +from fairgraph import KGEmbedded + + +class Kite(KGEmbedded, OMKite): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Kite" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("leg_lengths", "symmetry_diagonal_length") + + def __init__( + self, leg_lengths=None, symmetry_diagonal_length=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__( + self, data=data, leg_lengths=leg_lengths, symmetry_diagonal_length=symmetry_diagonal_length + ) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/parallelogram.py b/fairgraph/openminds/v5/sands/mathematical_shape/parallelogram.py new file mode 100644 index 00000000..81b4ec17 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/parallelogram.py @@ -0,0 +1,34 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Parallelogram as OMParallelogram +from fairgraph import KGEmbedded + + +class Parallelogram(KGEmbedded, OMParallelogram): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Parallelogram" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("base_distance", "base_length", "interior_angle") + + def __init__( + self, + base_distance=None, + base_length=None, + interior_angle=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, data=data, base_distance=base_distance, base_length=base_length, interior_angle=interior_angle + ) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/rectangle.py b/fairgraph/openminds/v5/sands/mathematical_shape/rectangle.py new file mode 100644 index 00000000..b6a22d88 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/rectangle.py @@ -0,0 +1,27 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Rectangle as OMRectangle +from fairgraph import KGEmbedded + + +class Rectangle(KGEmbedded, OMRectangle): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Rectangle" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("major_side_length", "minor_side_length") + + def __init__( + self, major_side_length=None, minor_side_length=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__( + self, data=data, major_side_length=major_side_length, minor_side_length=minor_side_length + ) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/regular_polygon.py b/fairgraph/openminds/v5/sands/mathematical_shape/regular_polygon.py new file mode 100644 index 00000000..e25561cb --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/regular_polygon.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import RegularPolygon as OMRegularPolygon +from fairgraph import KGEmbedded + + +class RegularPolygon(KGEmbedded, OMRegularPolygon): + """ + + """ + + type_ = "https://openminds.om-i.org/types/RegularPolygon" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("circumradius", "number_of_sides") + + def __init__(self, circumradius=None, number_of_sides=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, circumradius=circumradius, number_of_sides=number_of_sides) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/rhombus.py b/fairgraph/openminds/v5/sands/mathematical_shape/rhombus.py new file mode 100644 index 00000000..a6d916ed --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/rhombus.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Rhombus as OMRhombus +from fairgraph import KGEmbedded + + +class Rhombus(KGEmbedded, OMRhombus): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Rhombus" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("diagonal_lengths",) + + def __init__(self, diagonal_lengths=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, diagonal_lengths=diagonal_lengths) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/right_cone.py b/fairgraph/openminds/v5/sands/mathematical_shape/right_cone.py new file mode 100644 index 00000000..26623976 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/right_cone.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import RightCone as OMRightCone +from fairgraph import KGEmbedded + + +class RightCone(KGEmbedded, OMRightCone): + """ + + """ + + type_ = "https://openminds.om-i.org/types/RightCone" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("apex_base_distance", "base_shape") + + def __init__(self, apex_base_distance=None, base_shape=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, apex_base_distance=apex_base_distance, base_shape=base_shape) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/right_cylinder.py b/fairgraph/openminds/v5/sands/mathematical_shape/right_cylinder.py new file mode 100644 index 00000000..9dfc8f89 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/right_cylinder.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import RightCylinder as OMRightCylinder +from fairgraph import KGEmbedded + + +class RightCylinder(KGEmbedded, OMRightCylinder): + """ + + """ + + type_ = "https://openminds.om-i.org/types/RightCylinder" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("base_distance", "base_shape") + + def __init__(self, base_distance=None, base_shape=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, base_distance=base_distance, base_shape=base_shape) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/right_prism.py b/fairgraph/openminds/v5/sands/mathematical_shape/right_prism.py new file mode 100644 index 00000000..5cd94c55 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/right_prism.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import RightPrism as OMRightPrism +from fairgraph import KGEmbedded + + +class RightPrism(KGEmbedded, OMRightPrism): + """ + + """ + + type_ = "https://openminds.om-i.org/types/RightPrism" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("base_distance", "base_shape") + + def __init__(self, base_distance=None, base_shape=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, base_distance=base_distance, base_shape=base_shape) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/right_triangle.py b/fairgraph/openminds/v5/sands/mathematical_shape/right_triangle.py new file mode 100644 index 00000000..b112e016 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/right_triangle.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import RightTriangle as OMRightTriangle +from fairgraph import KGEmbedded + + +class RightTriangle(KGEmbedded, OMRightTriangle): + """ + + """ + + type_ = "https://openminds.om-i.org/types/RightTriangle" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("perpendicular_leg_lengths",) + + def __init__(self, perpendicular_leg_lengths=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, perpendicular_leg_lengths=perpendicular_leg_lengths) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/sphere.py b/fairgraph/openminds/v5/sands/mathematical_shape/sphere.py new file mode 100644 index 00000000..a6ce92ce --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/sphere.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Sphere as OMSphere +from fairgraph import KGEmbedded + + +class Sphere(KGEmbedded, OMSphere): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Sphere" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("radius",) + + def __init__(self, radius=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, radius=radius) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/spheroid.py b/fairgraph/openminds/v5/sands/mathematical_shape/spheroid.py new file mode 100644 index 00000000..aa07e3c7 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/spheroid.py @@ -0,0 +1,27 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Spheroid as OMSpheroid +from fairgraph import KGEmbedded + + +class Spheroid(KGEmbedded, OMSpheroid): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Spheroid" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("equatorial_diameter", "polar_diameter") + + def __init__( + self, equatorial_diameter=None, polar_diameter=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__( + self, data=data, equatorial_diameter=equatorial_diameter, polar_diameter=polar_diameter + ) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/square.py b/fairgraph/openminds/v5/sands/mathematical_shape/square.py new file mode 100644 index 00000000..03cb7d89 --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/square.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Square as OMSquare +from fairgraph import KGEmbedded + + +class Square(KGEmbedded, OMSquare): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Square" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("side_length",) + + def __init__(self, side_length=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, side_length=side_length) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/trapezoid.py b/fairgraph/openminds/v5/sands/mathematical_shape/trapezoid.py new file mode 100644 index 00000000..581c971b --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/trapezoid.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Trapezoid as OMTrapezoid +from fairgraph import KGEmbedded + + +class Trapezoid(KGEmbedded, OMTrapezoid): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Trapezoid" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("base_distance", "base_lengths") + + def __init__(self, base_distance=None, base_lengths=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, base_distance=base_distance, base_lengths=base_lengths) diff --git a/fairgraph/openminds/v5/sands/mathematical_shape/triangle.py b/fairgraph/openminds/v5/sands/mathematical_shape/triangle.py new file mode 100644 index 00000000..ee2b142f --- /dev/null +++ b/fairgraph/openminds/v5/sands/mathematical_shape/triangle.py @@ -0,0 +1,23 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import Triangle as OMTriangle +from fairgraph import KGEmbedded + + +class Triangle(KGEmbedded, OMTriangle): + """ + + """ + + type_ = "https://openminds.om-i.org/types/Triangle" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("apex_angle", "leg_lengths") + + def __init__(self, apex_angle=None, leg_lengths=None, id=None, data=None, space=None, release_status=None): + return KGEmbedded.__init__(self, data=data, apex_angle=apex_angle, leg_lengths=leg_lengths) diff --git a/fairgraph/openminds/v5/sands/miscellaneous/__init__.py b/fairgraph/openminds/v5/sands/miscellaneous/__init__.py new file mode 100644 index 00000000..bb703f33 --- /dev/null +++ b/fairgraph/openminds/v5/sands/miscellaneous/__init__.py @@ -0,0 +1,6 @@ +from .anatomical_target_position import AnatomicalTargetPosition +from .coordinate_point import CoordinatePoint +from .qualitative_relation_assessment import QualitativeRelationAssessment +from .quantitative_relation_assessment import QuantitativeRelationAssessment +from .single_color import SingleColor +from .viewer_specification import ViewerSpecification diff --git a/fairgraph/openminds/v5/sands/miscellaneous/anatomical_target_position.py b/fairgraph/openminds/v5/sands/miscellaneous/anatomical_target_position.py new file mode 100644 index 00000000..aacde8b7 --- /dev/null +++ b/fairgraph/openminds/v5/sands/miscellaneous/anatomical_target_position.py @@ -0,0 +1,40 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import AnatomicalTargetPosition as OMAnatomicalTargetPosition +from fairgraph import KGEmbedded + + +class AnatomicalTargetPosition(KGEmbedded, OMAnatomicalTargetPosition): + """ + + """ + + type_ = "https://openminds.om-i.org/types/AnatomicalTargetPosition" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("anatomical_targets", "target_identification_type") + + def __init__( + self, + additional_remarks=None, + anatomical_targets=None, + spatial_locations=None, + target_identification_type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + additional_remarks=additional_remarks, + anatomical_targets=anatomical_targets, + spatial_locations=spatial_locations, + target_identification_type=target_identification_type, + ) diff --git a/fairgraph/openminds/v5/sands/miscellaneous/coordinate_point.py b/fairgraph/openminds/v5/sands/miscellaneous/coordinate_point.py new file mode 100644 index 00000000..aecd1fcb --- /dev/null +++ b/fairgraph/openminds/v5/sands/miscellaneous/coordinate_point.py @@ -0,0 +1,25 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CoordinatePoint as OMCoordinatePoint +from fairgraph import KGEmbedded + + +class CoordinatePoint(KGEmbedded, OMCoordinatePoint): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CoordinatePoint" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("coordinate_framework", "coordinates") + + def __init__( + self, coordinate_framework=None, coordinates=None, id=None, data=None, space=None, release_status=None + ): + return KGEmbedded.__init__(self, data=data, coordinate_framework=coordinate_framework, coordinates=coordinates) diff --git a/fairgraph/openminds/v5/sands/miscellaneous/qualitative_relation_assessment.py b/fairgraph/openminds/v5/sands/miscellaneous/qualitative_relation_assessment.py new file mode 100644 index 00000000..3c4cb083 --- /dev/null +++ b/fairgraph/openminds/v5/sands/miscellaneous/qualitative_relation_assessment.py @@ -0,0 +1,34 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import QualitativeRelationAssessment as OMQualitativeRelationAssessment +from fairgraph import KGEmbedded + + +class QualitativeRelationAssessment(KGEmbedded, OMQualitativeRelationAssessment): + """ + + """ + + type_ = "https://openminds.om-i.org/types/QualitativeRelationAssessment" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("in_relation_to", "qualitative_overlap") + + def __init__( + self, + criteria=None, + in_relation_to=None, + qualitative_overlap=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, data=data, criteria=criteria, in_relation_to=in_relation_to, qualitative_overlap=qualitative_overlap + ) diff --git a/fairgraph/openminds/v5/sands/miscellaneous/quantitative_relation_assessment.py b/fairgraph/openminds/v5/sands/miscellaneous/quantitative_relation_assessment.py new file mode 100644 index 00000000..ac384beb --- /dev/null +++ b/fairgraph/openminds/v5/sands/miscellaneous/quantitative_relation_assessment.py @@ -0,0 +1,38 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import QuantitativeRelationAssessment as OMQuantitativeRelationAssessment +from fairgraph import KGEmbedded + + +class QuantitativeRelationAssessment(KGEmbedded, OMQuantitativeRelationAssessment): + """ + + """ + + type_ = "https://openminds.om-i.org/types/QuantitativeRelationAssessment" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("in_relation_to", "quantitative_overlap") + + def __init__( + self, + criteria=None, + in_relation_to=None, + quantitative_overlap=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + criteria=criteria, + in_relation_to=in_relation_to, + quantitative_overlap=quantitative_overlap, + ) diff --git a/fairgraph/openminds/v5/sands/miscellaneous/single_color.py b/fairgraph/openminds/v5/sands/miscellaneous/single_color.py new file mode 100644 index 00000000..430038b4 --- /dev/null +++ b/fairgraph/openminds/v5/sands/miscellaneous/single_color.py @@ -0,0 +1,24 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import SingleColor as OMSingleColor +from fairgraph import KGObject + + +class SingleColor(KGObject, OMSingleColor): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SingleColor" + default_space = "atlas" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("value",) + + def __init__(self, value=None, id=None, data=None, space=None, release_status=None): + return KGObject.__init__(self, id=id, space=space, release_status=release_status, data=data, value=value) diff --git a/fairgraph/openminds/v5/sands/miscellaneous/viewer_specification.py b/fairgraph/openminds/v5/sands/miscellaneous/viewer_specification.py new file mode 100644 index 00000000..567cad25 --- /dev/null +++ b/fairgraph/openminds/v5/sands/miscellaneous/viewer_specification.py @@ -0,0 +1,40 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import ViewerSpecification as OMViewerSpecification +from fairgraph import KGEmbedded + + +class ViewerSpecification(KGEmbedded, OMViewerSpecification): + """ + + """ + + type_ = "https://openminds.om-i.org/types/ViewerSpecification" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("anchor_points",) + + def __init__( + self, + additional_remarks=None, + anchor_points=None, + camera_position=None, + preferred_display_color=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + additional_remarks=additional_remarks, + anchor_points=anchor_points, + camera_position=camera_position, + preferred_display_color=preferred_display_color, + ) diff --git a/fairgraph/openminds/v5/sands/non_atlas/__init__.py b/fairgraph/openminds/v5/sands/non_atlas/__init__.py new file mode 100644 index 00000000..b1128bfa --- /dev/null +++ b/fairgraph/openminds/v5/sands/non_atlas/__init__.py @@ -0,0 +1,3 @@ +from .custom_anatomical_entity import CustomAnatomicalEntity +from .custom_annotation import CustomAnnotation +from .custom_coordinate_framework import CustomCoordinateFramework diff --git a/fairgraph/openminds/v5/sands/non_atlas/custom_anatomical_entity.py b/fairgraph/openminds/v5/sands/non_atlas/custom_anatomical_entity.py new file mode 100644 index 00000000..832813bc --- /dev/null +++ b/fairgraph/openminds/v5/sands/non_atlas/custom_anatomical_entity.py @@ -0,0 +1,114 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CustomAnatomicalEntity as OMCustomAnatomicalEntity +from fairgraph import KGObject + + +class CustomAnatomicalEntity(KGObject, OMCustomAnatomicalEntity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CustomAnatomicalEntity" + default_space = "spatial" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_location_of", + [ + "openminds.v5.core.TissueSample", + "openminds.v5.core.TissueSampleCollection", + "openminds.v5.ephys.ElectrodeArrayUsage", + "openminds.v5.ephys.ElectrodeUsage", + "openminds.v5.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], + reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], + multiple=True, + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + ), + Property( + "is_target_of", + [ + "openminds.v5.neuroimaging.DynamicMRIAcquisition", + "openminds.v5.neuroimaging.StaticMRIAcquisition", + "openminds.v5.sands.AnatomicalTargetPosition", + ], + ["anatomicalTarget", "targetAnatomy"], + reverse=["anatomical_targets", "target_anatomy"], + multiple=True, + description="reverse of anatomical_targets, target_anatomy", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + Property( + "studied_in", + [ + "openminds.v5.computation.DataAnalysis", + "openminds.v5.computation.DataCopy", + "openminds.v5.computation.GenericComputation", + "openminds.v5.computation.ModelValidation", + "openminds.v5.computation.Optimization", + "openminds.v5.computation.Simulation", + "openminds.v5.computation.ValidationTest", + "openminds.v5.computation.Visualization", + "openminds.v5.core.DatasetVersion", + "openminds.v5.core.Model", + "openminds.v5.core.ProtocolExecution", + "openminds.v5.ephys.CellPatching", + "openminds.v5.ephys.ElectrodePlacement", + "openminds.v5.ephys.RecordingActivity", + "openminds.v5.specimen_prep.CranialWindowPreparation", + "openminds.v5.specimen_prep.TissueCulturePreparation", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "openminds.v5.stimulation.StimulationActivity", + ], + "studyTarget", + reverse="study_targets", + multiple=True, + description="reverse of 'study_targets'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + has_annotations=None, + is_location_of=None, + is_target_of=None, + is_used_to_group=None, + related_interspecies_anatomy=None, + relation_assessments=None, + studied_in=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + has_annotations=has_annotations, + is_location_of=is_location_of, + is_target_of=is_target_of, + is_used_to_group=is_used_to_group, + related_interspecies_anatomy=related_interspecies_anatomy, + relation_assessments=relation_assessments, + studied_in=studied_in, + ) diff --git a/fairgraph/openminds/v5/sands/non_atlas/custom_annotation.py b/fairgraph/openminds/v5/sands/non_atlas/custom_annotation.py new file mode 100644 index 00000000..f0b7da3b --- /dev/null +++ b/fairgraph/openminds/v5/sands/non_atlas/custom_annotation.py @@ -0,0 +1,52 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CustomAnnotation as OMCustomAnnotation +from fairgraph import KGEmbedded + + +class CustomAnnotation(KGEmbedded, OMCustomAnnotation): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CustomAnnotation" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("coordinate_framework", "criteria_quality_type", "criteria_type", "type") + + def __init__( + self, + coordinate_framework=None, + criteria=None, + criteria_quality_type=None, + criteria_type=None, + inspired_by=None, + internal_identifier=None, + lateralities=None, + preferred_visualization=None, + specification=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGEmbedded.__init__( + self, + data=data, + coordinate_framework=coordinate_framework, + criteria=criteria, + criteria_quality_type=criteria_quality_type, + criteria_type=criteria_type, + inspired_by=inspired_by, + internal_identifier=internal_identifier, + lateralities=lateralities, + preferred_visualization=preferred_visualization, + specification=specification, + type=type, + ) diff --git a/fairgraph/openminds/v5/sands/non_atlas/custom_coordinate_framework.py b/fairgraph/openminds/v5/sands/non_atlas/custom_coordinate_framework.py new file mode 100644 index 00000000..f55284ef --- /dev/null +++ b/fairgraph/openminds/v5/sands/non_atlas/custom_coordinate_framework.py @@ -0,0 +1,73 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.sands import CustomCoordinateFramework as OMCustomCoordinateFramework +from fairgraph import KGObject + + +class CustomCoordinateFramework(KGObject, OMCustomCoordinateFramework): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CustomCoordinateFramework" + default_space = "spatial" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_coordinate_framework_of", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.sands.CustomAnnotation", + ], + "coordinateFramework", + reverse="coordinate_framework", + multiple=True, + description="reverse of 'coordinate_framework'", + ), + Property( + "is_used_to_group", + "openminds.v5.core.FileBundle", + "groupedBy", + reverse="grouped_by", + multiple=True, + description="reverse of 'grouped_by'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + anatomical_axes_orientation=None, + axes_origins=None, + default_images=None, + is_coordinate_framework_of=None, + is_used_to_group=None, + native_unit=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + anatomical_axes_orientation=anatomical_axes_orientation, + axes_origins=axes_origins, + default_images=default_images, + is_coordinate_framework_of=is_coordinate_framework_of, + is_used_to_group=is_used_to_group, + native_unit=native_unit, + ) diff --git a/fairgraph/openminds/v5/specimen_prep/__init__.py b/fairgraph/openminds/v5/specimen_prep/__init__.py new file mode 100644 index 00000000..77d4c176 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .activity import CranialWindowPreparation, TissueCulturePreparation, TissueSampleSlicing +from .device import SlicingDevice, SlicingDeviceUsage + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/specimen_prep/activity/__init__.py b/fairgraph/openminds/v5/specimen_prep/activity/__init__.py new file mode 100644 index 00000000..455bc314 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/activity/__init__.py @@ -0,0 +1,3 @@ +from .cranial_window_preparation import CranialWindowPreparation +from .tissue_culture_preparation import TissueCulturePreparation +from .tissue_sample_slicing import TissueSampleSlicing diff --git a/fairgraph/openminds/v5/specimen_prep/activity/cranial_window_preparation.py b/fairgraph/openminds/v5/specimen_prep/activity/cranial_window_preparation.py new file mode 100644 index 00000000..a67344d8 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/activity/cranial_window_preparation.py @@ -0,0 +1,69 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.specimen_prep import CranialWindowPreparation as OMCranialWindowPreparation +from fairgraph import KGObject + + +from datetime import datetime, time + + +class CranialWindowPreparation(KGObject, OMCranialWindowPreparation): + """ + + """ + + type_ = "https://openminds.om-i.org/types/CranialWindowPreparation" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + construction_type=None, + custom_property_sets=None, + description=None, + dimension=None, + end_time=None, + inputs=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + reinforcement_type=None, + start_time=None, + study_targets=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + construction_type=construction_type, + custom_property_sets=custom_property_sets, + description=description, + dimension=dimension, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + reinforcement_type=reinforcement_type, + start_time=start_time, + study_targets=study_targets, + ) diff --git a/fairgraph/openminds/v5/specimen_prep/activity/tissue_culture_preparation.py b/fairgraph/openminds/v5/specimen_prep/activity/tissue_culture_preparation.py new file mode 100644 index 00000000..a99b8718 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/activity/tissue_culture_preparation.py @@ -0,0 +1,67 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.specimen_prep import TissueCulturePreparation as OMTissueCulturePreparation +from fairgraph import KGObject + + +from datetime import datetime, time + + +class TissueCulturePreparation(KGObject, OMTissueCulturePreparation): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TissueCulturePreparation" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + culture_medium=None, + culture_type=None, + custom_property_sets=None, + description=None, + end_time=None, + inputs=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + start_time=None, + study_targets=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + culture_medium=culture_medium, + culture_type=culture_type, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + start_time=start_time, + study_targets=study_targets, + ) diff --git a/fairgraph/openminds/v5/specimen_prep/activity/tissue_sample_slicing.py b/fairgraph/openminds/v5/specimen_prep/activity/tissue_sample_slicing.py new file mode 100644 index 00000000..6a8984d8 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/activity/tissue_sample_slicing.py @@ -0,0 +1,69 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.specimen_prep import TissueSampleSlicing as OMTissueSampleSlicing +from fairgraph import KGObject + + +from datetime import datetime, time + + +class TissueSampleSlicing(KGObject, OMTissueSampleSlicing): + """ + + """ + + type_ = "https://openminds.om-i.org/types/TissueSampleSlicing" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + device=None, + end_time=None, + inputs=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + start_time=None, + study_targets=None, + temperature=None, + tissue_bath_solution=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + device=device, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + start_time=start_time, + study_targets=study_targets, + temperature=temperature, + tissue_bath_solution=tissue_bath_solution, + ) diff --git a/fairgraph/openminds/v5/specimen_prep/device/__init__.py b/fairgraph/openminds/v5/specimen_prep/device/__init__.py new file mode 100644 index 00000000..d893d946 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/device/__init__.py @@ -0,0 +1,2 @@ +from .slicing_device import SlicingDevice +from .slicing_device_usage import SlicingDeviceUsage diff --git a/fairgraph/openminds/v5/specimen_prep/device/slicing_device.py b/fairgraph/openminds/v5/specimen_prep/device/slicing_device.py new file mode 100644 index 00000000..0d015d4c --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/device/slicing_device.py @@ -0,0 +1,69 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.specimen_prep import SlicingDevice as OMSlicingDevice +from fairgraph import KGObject + + +class SlicingDevice(KGObject, OMSlicingDevice): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SlicingDevice" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_part_of", + "openminds.v5.core.Setup", + "hasPart", + reverse="has_parts", + multiple=True, + description="reverse of 'has_parts'", + ), + Property( + "usage", + "openminds.v5.specimen_prep.SlicingDeviceUsage", + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + ] + existence_query_properties = ("contributions", "name", "type") + + def __init__( + self, + name=None, + contributions=None, + description=None, + internal_identifier=None, + is_part_of=None, + serial_number=None, + type=None, + usage=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + name=name, + contributions=contributions, + description=description, + internal_identifier=internal_identifier, + is_part_of=is_part_of, + serial_number=serial_number, + type=type, + usage=usage, + ) diff --git a/fairgraph/openminds/v5/specimen_prep/device/slicing_device_usage.py b/fairgraph/openminds/v5/specimen_prep/device/slicing_device_usage.py new file mode 100644 index 00000000..c812dc65 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/device/slicing_device_usage.py @@ -0,0 +1,113 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.specimen_prep import SlicingDeviceUsage as OMSlicingDeviceUsage +from fairgraph import KGObject + + +class SlicingDeviceUsage(KGObject, OMSlicingDeviceUsage): + """ + + """ + + type_ = "https://openminds.om-i.org/types/SlicingDeviceUsage" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "generation_device", + "openminds.v5.stimulation.EphysStimulus", + "generatedBy", + reverse="generated_by", + multiple=True, + description="reverse of 'generated_by'", + ), + Property( + "is_used_to_obtain", + [ + "openminds.v5.core.GridImage", + "openminds.v5.core.GridImageStack", + "openminds.v5.core.GridVolume", + "openminds.v5.core.GridVolumeSequence", + "openminds.v5.core.Measurement", + ], + "obtainedWith", + reverse="obtained_with", + multiple=True, + description="reverse of 'obtained_with'", + ), + Property( + "placed_by", + "openminds.v5.ephys.ElectrodePlacement", + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + Property( + "used_for", + "openminds.v5.specimen_prep.TissueSampleSlicing", + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + Property( + "used_in", + "openminds.v5.ephys.CellPatching", + "device", + reverse="devices", + multiple=True, + description="reverse of 'devices'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + device=None, + generation_device=None, + is_used_to_obtain=None, + metadata_locations=None, + oscillation_amplitude=None, + placed_by=None, + slice_thickness=None, + slicing_angles=None, + slicing_plane=None, + slicing_speed=None, + used_for=None, + used_in=None, + used_specimen=None, + vibration_frequency=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + device=device, + generation_device=generation_device, + is_used_to_obtain=is_used_to_obtain, + metadata_locations=metadata_locations, + oscillation_amplitude=oscillation_amplitude, + placed_by=placed_by, + slice_thickness=slice_thickness, + slicing_angles=slicing_angles, + slicing_plane=slicing_plane, + slicing_speed=slicing_speed, + used_for=used_for, + used_in=used_in, + used_specimen=used_specimen, + vibration_frequency=vibration_frequency, + ) diff --git a/fairgraph/openminds/v5/stimulation/__init__.py b/fairgraph/openminds/v5/stimulation/__init__.py new file mode 100644 index 00000000..6031cdd8 --- /dev/null +++ b/fairgraph/openminds/v5/stimulation/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.openminds import ( + list_kg_classes as _lkgc, + list_embedded_metadata_classes as _lemc, + set_error_handling as _seh, +) + +from .stimulus import EphysStimulus +from .activity import StimulationActivity + + +def list_kg_classes(): + """List all KG classes defined in this module""" + return _lkgc(sys.modules[__name__]) + + +def list_embedded_metadata_classes(): + """List all embedded metadata classes defined in this module""" + return _lemc(sys.modules[__name__]) + + +def set_error_handling(value): + """ + Control validation for all classes in this module. + + Args: + value (str): action to follow when there is a validation failure. + (e.g. if a required property is not provided). + Possible values: "error", "warning", "log", None + """ + _seh(value, sys.modules[__name__]) diff --git a/fairgraph/openminds/v5/stimulation/activity/__init__.py b/fairgraph/openminds/v5/stimulation/activity/__init__.py new file mode 100644 index 00000000..72bbc5e8 --- /dev/null +++ b/fairgraph/openminds/v5/stimulation/activity/__init__.py @@ -0,0 +1 @@ +from .stimulation_activity import StimulationActivity diff --git a/fairgraph/openminds/v5/stimulation/activity/stimulation_activity.py b/fairgraph/openminds/v5/stimulation/activity/stimulation_activity.py new file mode 100644 index 00000000..f7b5f733 --- /dev/null +++ b/fairgraph/openminds/v5/stimulation/activity/stimulation_activity.py @@ -0,0 +1,67 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.stimulation import StimulationActivity as OMStimulationActivity +from fairgraph import KGObject + + +from datetime import datetime, time + + +class StimulationActivity(KGObject, OMStimulationActivity): + """ + + """ + + type_ = "https://openminds.om-i.org/types/StimulationActivity" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + custom_property_sets=None, + description=None, + end_time=None, + inputs=None, + is_part_of=None, + outputs=None, + performed_by=None, + preparation_design=None, + protocols=None, + setup=None, + start_time=None, + stimuli=None, + study_targets=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + custom_property_sets=custom_property_sets, + description=description, + end_time=end_time, + inputs=inputs, + is_part_of=is_part_of, + outputs=outputs, + performed_by=performed_by, + preparation_design=preparation_design, + protocols=protocols, + setup=setup, + start_time=start_time, + stimuli=stimuli, + study_targets=study_targets, + ) diff --git a/fairgraph/openminds/v5/stimulation/stimulus/__init__.py b/fairgraph/openminds/v5/stimulation/stimulus/__init__.py new file mode 100644 index 00000000..15b53f9d --- /dev/null +++ b/fairgraph/openminds/v5/stimulation/stimulus/__init__.py @@ -0,0 +1 @@ +from .ephys_stimulus import EphysStimulus diff --git a/fairgraph/openminds/v5/stimulation/stimulus/ephys_stimulus.py b/fairgraph/openminds/v5/stimulation/stimulus/ephys_stimulus.py new file mode 100644 index 00000000..2ff1fe06 --- /dev/null +++ b/fairgraph/openminds/v5/stimulation/stimulus/ephys_stimulus.py @@ -0,0 +1,63 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.v5.stimulation import EphysStimulus as OMEphysStimulus +from fairgraph import KGObject + + +class EphysStimulus(KGObject, OMEphysStimulus): + """ + + """ + + type_ = "https://openminds.om-i.org/types/EphysStimulus" + default_space = "in-depth" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "is_stimulus_for", + "openminds.v5.stimulation.StimulationActivity", + "stimulus", + reverse="stimuli", + multiple=True, + description="reverse of 'stimuli'", + ), + ] + existence_query_properties = ("lookup_label",) + + def __init__( + self, + lookup_label=None, + delivered_by=None, + description=None, + epoch=None, + generated_by=None, + internal_identifier=None, + is_stimulus_for=None, + specifications=None, + type=None, + id=None, + data=None, + space=None, + release_status=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + release_status=release_status, + data=data, + lookup_label=lookup_label, + delivered_by=delivered_by, + description=description, + epoch=epoch, + generated_by=generated_by, + internal_identifier=internal_identifier, + is_stimulus_for=is_stimulus_for, + specifications=specifications, + type=type, + ) diff --git a/fairgraph/registry.py b/fairgraph/registry.py index 6016e53a..cb976127 100644 --- a/fairgraph/registry.py +++ b/fairgraph/registry.py @@ -40,12 +40,20 @@ class NodeMeta(Registry): def __new__(meta, name, bases, class_dict): # set class_name so that the fairgraph class replaces the equivalent openminds class # in the registry - # e.g. 'fairgraph.openminds.sands.miscellaneous.anatomical_target_position' + # e.g. 'fairgraph.openminds.v4.sands.miscellaneous.anatomical_target_position' # --> 'openminds.v4.sands.AnatomicalTargetPosition' - class_dict["class_name"] = ".".join( - class_dict["__module__"].replace("fairgraph.openminds", f"openminds.{OPENMINDS_VERSION}").split(".")[:3] - + [name] - ) + module = class_dict["__module__"] + parts = module.split(".") + if len(parts) >= 4 and parts[0] == "fairgraph" and parts[1] == "openminds" and parts[2] in ("v4", "v5"): + version = parts[2] + domain = parts[3] + class_dict["class_name"] = f"openminds.{version}.{domain}.{name}" + else: + # Fallback for non-versioned paths or test classes + class_dict["class_name"] = ".".join( + module.replace("fairgraph.openminds", f"openminds.{OPENMINDS_VERSION}").split(".")[:3] + + [name] + ) class_dict["preferred_import_path"] = class_dict["class_name"] cls = Registry.__new__(meta, name, bases, class_dict) cls._property_lookup = {prop.name: prop for prop in (cls.properties + cls.reverse_properties)} diff --git a/test/test_openminds_versions.py b/test/test_openminds_versions.py new file mode 100644 index 00000000..23fec9ba --- /dev/null +++ b/test/test_openminds_versions.py @@ -0,0 +1,125 @@ +""" +Tests for v4/v5 openMINDS version support and backwards compatibility. +""" + +import fairgraph +import fairgraph.openminds +import fairgraph.openminds.v4 +import fairgraph.openminds.v5 + + +def test_v4_imports(): + """v4 modules can be imported explicitly.""" + import fairgraph.openminds.v4.core as omcore4 + + assert hasattr(omcore4, "Person") + assert hasattr(omcore4, "Dataset") + assert omcore4.Person.__module__.startswith("fairgraph.openminds.v4") + + +def test_v5_imports(): + """v5 modules can be imported explicitly.""" + import fairgraph.openminds.v5.core as omcore5 + + assert hasattr(omcore5, "Person") + assert hasattr(omcore5, "Dataset") + assert omcore5.Person.__module__.startswith("fairgraph.openminds.v5") + + +def test_v5_neuroimaging(): + """v5-only neuroimaging module exists.""" + import fairgraph.openminds.v5.neuroimaging as omneuroimaging + + assert hasattr(omneuroimaging, "MRIScanner") + assert hasattr(omneuroimaging, "StaticMRIAcquisition") + assert hasattr(omneuroimaging, "DynamicMRIAcquisition") + + +def test_v5_new_classes(): + """v5 has new classes not present in v4.""" + import fairgraph.openminds.v5.core as omcore5 + import fairgraph.openminds.v5.sands as omsands5 + + # New v5 core classes + assert hasattr(omcore5, "Interface") + assert hasattr(omcore5, "InterfaceVersion") + assert hasattr(omcore5, "GridImage") + assert hasattr(omcore5, "LocalFile") + assert hasattr(omcore5, "ISNI") + assert hasattr(omcore5, "LEI") + + # Renamed atlas classes in v5 + assert hasattr(omsands5, "AnatomicalAtlas") + assert hasattr(omsands5, "CommonCoordinateFramework") + + +def test_backwards_compat_core_import(): + """import fairgraph.openminds.core works and returns v4.""" + import fairgraph.openminds.core as omcore + + assert omcore is fairgraph.openminds.v4.core + + +def test_backwards_compat_all_modules(): + """All v4 modules accessible via backwards-compat path.""" + om = fairgraph.openminds + assert om.chemicals is om.v4.chemicals + assert om.computation is om.v4.computation + assert om.controlled_terms is om.v4.controlled_terms + assert om.core is om.v4.core + assert om.ephys is om.v4.ephys + assert om.publications is om.v4.publications + assert om.sands is om.v4.sands + assert om.specimen_prep is om.v4.specimen_prep + assert om.stimulation is om.v4.stimulation + + +def test_v4_and_v5_classes_are_distinct(): + """v4 and v5 classes with the same name are different objects.""" + v4_person = fairgraph.openminds.v4.core.Person + v5_person = fairgraph.openminds.v5.core.Person + assert v4_person is not v5_person + assert v4_person.__module__ != v5_person.__module__ + + +def test_registry_versioned_lookup(): + """Registry returns correct version-specific classes.""" + from openminds.registry import lookup_type + + cls4 = lookup_type("https://openminds.om-i.org/types/Person", "v4") + cls5 = lookup_type("https://openminds.om-i.org/types/Person", "v5") + assert cls4 is not cls5 + assert cls4.__module__.startswith("fairgraph.openminds.v4") + assert cls5.__module__.startswith("fairgraph.openminds.v5") + + +def test_v4_class_name_attribute(): + """v4 classes have correct class_name for registry.""" + person = fairgraph.openminds.v4.core.Person + assert person.class_name == "openminds.v4.core.Person" + + +def test_v5_class_name_attribute(): + """v5 classes have correct class_name for registry.""" + person = fairgraph.openminds.v5.core.Person + assert person.class_name == "openminds.v5.core.Person" + + +def test_v4_list_kg_classes(): + """list_kg_classes works for v4 modules.""" + import fairgraph.openminds.v4.core as omcore4 + + classes = omcore4.list_kg_classes() + class_names = [cls.__name__ for cls in classes] + assert "Person" in class_names + assert "Dataset" in class_names + + +def test_v5_list_kg_classes(): + """list_kg_classes works for v5 modules.""" + import fairgraph.openminds.v5.core as omcore5 + + classes = omcore5.list_kg_classes() + class_names = [cls.__name__ for cls in classes] + assert "Person" in class_names + assert "Dataset" in class_names From 131db819125dcf7fb7d35ddb759a4061b66a9c20 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Wed, 27 May 2026 11:33:23 +0200 Subject: [PATCH 2/7] Thread openminds_version through KGClient v4 and v5 share identical @type URIs, so URI alone cannot disambiguate which schema version a JSON-LD response belongs to. KGClient now carries an openminds_version (default "v4") and feeds it into the two lookup_type callsites that previously hardcoded OPENMINDS_VERSION: KGObject.from_id (type-unknown branch) and KGClient.space_info. Pass openminds_version="v5" when constructing a client against a v5-migrated KG; existing code is unaffected. MockKGClient grows the same parameter so tests can exercise both paths. --- doc/modules.rst | 10 ++++++ fairgraph/client.py | 12 ++++++- fairgraph/kgobject.py | 4 +-- test/test_openminds_versions.py | 58 +++++++++++++++++++++++++++++++++ test/utils.py | 8 ++++- 5 files changed, 88 insertions(+), 4 deletions(-) diff --git a/doc/modules.rst b/doc/modules.rst index 8d930e31..97fb052b 100644 --- a/doc/modules.rst +++ b/doc/modules.rst @@ -9,6 +9,16 @@ for backwards compatibility:: import fairgraph.openminds.v4.core as omcore4 # explicit v4 import fairgraph.openminds.v5.core as omcore5 # explicit v5 +When connecting to a KG instance, tell the client which openMINDS version it should deserialize +responses into via the ``openminds_version`` argument. Omitting it preserves the legacy v4 +behaviour:: + + from fairgraph import KGClient + import fairgraph.openminds.v5.core as omcore + + client = KGClient(host="core.kg-migrated.ebrains.eu", openminds_version="v5") + people = omcore.Person.list(client) + openMINDS v4 ------------ diff --git a/fairgraph/client.py b/fairgraph/client.py index 941c38c5..7b323d90 100644 --- a/fairgraph/client.py +++ b/fairgraph/client.py @@ -92,10 +92,14 @@ class KGClient(object): client_id (str, optional): For use together with client_secret in place of the token if you have a service account. client_secret (str, optional): The client secret to use for authentication. Required if client_id is provided. allow_interactive (bool, default True): if true, allow authentication via web browser + openminds_version (str, default "v4"): the openMINDS schema version that responses should be + deserialized into. Must be one of "v4" or "v5". v4 is the default so existing code is + unaffected; pass "v5" when connecting to a KG instance that has been migrated to v5. Raises: ImportError: If the kg_core package is not installed. AuthenticationError: If neither a token nor client ID/secret are provided. + ValueError: If openminds_version is not "v4" or "v5". """ def __init__( @@ -105,7 +109,13 @@ def __init__( client_id: Optional[str] = None, client_secret: Optional[str] = None, allow_interactive: bool = True, + openminds_version: str = OPENMINDS_VERSION, ): + if openminds_version not in ("v4", "v5"): + raise ValueError( + f"openminds_version must be 'v4' or 'v5', got {openminds_version!r}" + ) + self.openminds_version = openminds_version if not have_kg_core: raise ImportError("Please install the ebrains-kg-core package") if client_id and client_secret: @@ -731,7 +741,7 @@ def space_info( for item in result.data: type_iri = item.identifier try: - cls = lookup_type(type_iri, OPENMINDS_VERSION) + cls = lookup_type(type_iri, self.openminds_version) except (KeyError, ValueError) as err: ignore_list = [ "https://core.kg.ebrains.eu/vocab/type/Bookmark", diff --git a/fairgraph/kgobject.py b/fairgraph/kgobject.py index 254f3a06..17e8a933 100644 --- a/fairgraph/kgobject.py +++ b/fairgraph/kgobject.py @@ -42,7 +42,7 @@ from .queries import Query, QueryProperty from .errors import AuthorizationError, ResourceExistsError, CannotBuildExistenceQuery from .caching import object_cache, save_cache, generate_cache_key -from .base import ErrorHandling, Releasable, JSONdict, OPENMINDS_VERSION +from .base import ErrorHandling, Releasable, JSONdict from .node import KGNode from .kgproxy import KGProxy from .kgquery import KGQuery @@ -298,7 +298,7 @@ def from_id( if isinstance(type_, list): assert len(type_) == 1 type_ = type_[0] - cls_from_data = lookup_type(type_, OPENMINDS_VERSION) + cls_from_data = lookup_type(type_, client.openminds_version) return cls_from_data.from_jsonld(data, release_status=release_status) @classmethod diff --git a/test/test_openminds_versions.py b/test/test_openminds_versions.py index 23fec9ba..0f69eef3 100644 --- a/test/test_openminds_versions.py +++ b/test/test_openminds_versions.py @@ -2,10 +2,17 @@ Tests for v4/v5 openMINDS version support and backwards compatibility. """ +from unittest.mock import MagicMock, patch + +import pytest + import fairgraph import fairgraph.openminds import fairgraph.openminds.v4 import fairgraph.openminds.v5 +from fairgraph.kgobject import KGObject + +from .utils import MockKGClient def test_v4_imports(): @@ -123,3 +130,54 @@ def test_v5_list_kg_classes(): class_names = [cls.__name__ for cls in classes] assert "Person" in class_names assert "Dataset" in class_names + + +def test_client_default_version_is_v4(): + """MockKGClient constructed with no kwargs defaults to v4.""" + client = MockKGClient() + assert client.openminds_version == "v4" + + +def test_client_v5_version_attribute(): + """MockKGClient round-trips an explicit v5 version.""" + client = MockKGClient(openminds_version="v5") + assert client.openminds_version == "v5" + + +def test_invalid_openminds_version_rejected(): + """Constructing a KGClient with an unsupported openminds_version raises ValueError.""" + from fairgraph.client import KGClient + + with pytest.raises(ValueError, match="openminds_version"): + KGClient( + host="core.kg-ppd.ebrains.eu", + token="dummy", + allow_interactive=False, + openminds_version="v3", + ) + + +def test_from_id_uses_client_version(): + """KGObject.from_id passes the client's openminds_version to lookup_type.""" + mock_uri = "http://example.org/00000000-0000-0000-0000-000000000000" + + for version, expected_module_prefix in (("v4", "fairgraph.openminds.v4"), + ("v5", "fairgraph.openminds.v5")): + client = MockKGClient(openminds_version=version) + sentinel = object() + captured = {} + + def fake_lookup(type_iri, requested_version): + captured["type_iri"] = type_iri + captured["version"] = requested_version + cls = MagicMock() + cls.from_jsonld.return_value = sentinel + cls.__module__ = f"{expected_module_prefix}.core" + return cls + + with patch("fairgraph.kgobject.lookup_type", side_effect=fake_lookup): + result = KGObject.from_id(mock_uri, client) + + assert captured["version"] == version + assert captured["type_iri"] == "https://openminds.om-i.org/types/Model" + assert result is sentinel diff --git a/test/utils.py b/test/utils.py index c8c83f08..b2e702a6 100644 --- a/test/utils.py +++ b/test/utils.py @@ -4,6 +4,7 @@ from typing import Optional from requests.exceptions import SSLError +from fairgraph.base import OPENMINDS_VERSION from fairgraph.client import KGClient from fairgraph.errors import AuthenticationError, AuthorizationError @@ -61,7 +62,12 @@ def __init__(self, data, error=None): class MockKGClient: _private_space = "myspace_1234" - def __init__(self): + def __init__(self, openminds_version: str = OPENMINDS_VERSION): + if openminds_version not in ("v4", "v5"): + raise ValueError( + f"openminds_version must be 'v4' or 'v5', got {openminds_version!r}" + ) + self.openminds_version = openminds_version self.instances = {} self.cache = {} From 355b4650a69d6f21adbf88cbd3510009efa1bea9 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Wed, 27 May 2026 12:19:15 +0200 Subject: [PATCH 3/7] Alias v4 submodules recursively under the legacy openminds path The v5 introduction aliased only the top-level v4 modules (core, sands, etc.) under fairgraph.openminds.. Walking a deeper dotted path like fairgraph.openminds.core.products.dataset_version then caused Python to import a fresh, separate module object distinct from its v4 counterpart. Anything that resolved an attribute via the legacy path (notably unittest.mock.patch in test_dataset_version_download) silently operated on a duplicate copy: the patch landed on the legacy module while the class under test used urlretrieve from the v4 module. --- fairgraph/openminds/__init__.py | 39 ++++++++++++++++++++++++++------- test/test_openminds_versions.py | 26 ++++++++++++++++++++++ 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/fairgraph/openminds/__init__.py b/fairgraph/openminds/__init__.py index 489ae8c3..931a137c 100644 --- a/fairgraph/openminds/__init__.py +++ b/fairgraph/openminds/__init__.py @@ -40,11 +40,34 @@ def set_error_handling(value, module=None): # `import fairgraph.openminds.core` continues to work from .v4 import chemicals, computation, controlled_terms, core, ephys, publications, sands, specimen_prep, stimulation -_v4_modules = [ - "chemicals", "computation", "controlled_terms", "core", - "ephys", "publications", "sands", "specimen_prep", "stimulation", -] -for _mod_name in _v4_modules: - _v4_mod = getattr(v4, _mod_name) - sys.modules[f"{__name__}.{_mod_name}"] = _v4_mod -del _mod_name, _v4_mod, _v4_modules + +def _install_v4_compat_aliases(): + """Alias every v4 module and submodule under the legacy ``fairgraph.openminds....`` path. + + Without recursive aliasing, walking a dotted path like + ``fairgraph.openminds.core.products.dataset_version`` would force Python to + import a *fresh* module object distinct from the v4 module it shadows. + Anything that resolved a class via the legacy path (e.g. ``mocker.patch``, + ``isinstance`` checks) would then operate on a duplicate copy and silently + diverge from code that uses the v4 path. + """ + import importlib + import pkgutil + + top_modules = [ + "chemicals", "computation", "controlled_terms", "core", + "ephys", "publications", "sands", "specimen_prep", "stimulation", + ] + for top_name in top_modules: + top_mod = getattr(v4, top_name) + sys.modules[f"{__name__}.{top_name}"] = top_mod + v4_prefix = top_mod.__name__ + legacy_prefix = f"{__name__}.{top_name}" + for info in pkgutil.walk_packages(top_mod.__path__, prefix=v4_prefix + "."): + submod = importlib.import_module(info.name) + legacy_name = legacy_prefix + submod.__name__[len(v4_prefix):] + sys.modules[legacy_name] = submod + + +_install_v4_compat_aliases() +del _install_v4_compat_aliases diff --git a/test/test_openminds_versions.py b/test/test_openminds_versions.py index 0f69eef3..d0cbfa10 100644 --- a/test/test_openminds_versions.py +++ b/test/test_openminds_versions.py @@ -81,6 +81,32 @@ def test_backwards_compat_all_modules(): assert om.stimulation is om.v4.stimulation +def test_backwards_compat_submodules_are_aliased(): + """Importing a nested v4 submodule via the legacy path returns the same + module object as the explicit v4 path. + + Without this, ``unittest.mock.patch`` (and any other code that walks a + dotted attribute path) would silently see two distinct copies of the + module: the v4 one used by the actual classes, and a fresh duplicate + loaded via the legacy path. Patches set on the duplicate would have no + effect on the code under test. + """ + import importlib + + legacy_to_v4 = [ + ("fairgraph.openminds.core.products.dataset_version", + "fairgraph.openminds.v4.core.products.dataset_version"), + ("fairgraph.openminds.sands.atlas.brain_atlas_version", + "fairgraph.openminds.v4.sands.atlas.brain_atlas_version"), + ("fairgraph.openminds.controlled_terms.species", + "fairgraph.openminds.v4.controlled_terms.species"), + ] + for legacy_name, v4_name in legacy_to_v4: + legacy_mod = importlib.import_module(legacy_name) + v4_mod = importlib.import_module(v4_name) + assert legacy_mod is v4_mod, f"{legacy_name} is not the same object as {v4_name}" + + def test_v4_and_v5_classes_are_distinct(): """v4 and v5 classes with the same name are different objects.""" v4_person = fairgraph.openminds.v4.core.Person From 791964506e3c2cbec8756767ca662d297035c591 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Tue, 9 Jun 2026 15:32:06 +0200 Subject: [PATCH 4/7] ensure we initialise v5 instances as well as v4 --- fairgraph/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/fairgraph/__init__.py b/fairgraph/__init__.py index 9a3cbd15..153c59c4 100644 --- a/fairgraph/__init__.py +++ b/fairgraph/__init__.py @@ -44,6 +44,20 @@ + openminds.controlled_terms.list_kg_classes() ) +utility.initialise_instances( + [ + openminds.v5.sands.AnatomicalAtlas, + openminds.v5.sands.AnatomicalAtlasVersion, + openminds.v5.sands.CommonCoordinateFramework, + openminds.v5.sands.CommonCoordinateFrameworkVersion, + openminds.v5.core.ContentType, + openminds.v5.core.License, + openminds.v5.sands.ParcellationEntity, + openminds.v5.sands.ParcellationEntityVersion, + ] + + openminds.v5.controlled_terms.list_kg_classes() +) + def set_error_handling(value): """Set error handling globally for all modules""" From cef9a230a4fa39aa80ac2ec5262329b13f310903 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Fri, 21 Aug 2026 13:23:22 +0200 Subject: [PATCH 5/7] Update codemeta.json (Used `doc/build_codemeta.py` script) [skip ci] --- codemeta.json | 75 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/codemeta.json b/codemeta.json index 04dba48d..7301ea8b 100644 --- a/codemeta.json +++ b/codemeta.json @@ -5,7 +5,7 @@ "codeRepository": "https://github.com/HumanBrainProject/fairgraph", "contIntegration": "https://github.com/HumanBrainProject/fairgraph/actions", "dateModified": "2026-08-21", - "downloadUrl": null, + "downloadUrl": "https://files.pythonhosted.org/packages/64/8c/178c7554221eccd86607aae99873528f346c237ed84ea55b53c48d1259b8/fairgraph-0.14.0.tar.gz", "issueTracker": "https://github.com/HumanBrainProject/fairgraph/issues", "name": "fairgraph", "version": "0.14.0", @@ -20,65 +20,86 @@ "@type": "Organization", "name": "European Commission" }, - "programmingLanguage": ["Python"], - "operatingSystem": ["Linux", "Windows", "macOS"], + "programmingLanguage": [ + "Python" + ], + "operatingSystem": [ + "Linux", + "Windows", + "macOS" + ], "softwareRequirements": [ "Python >=3.9", - "ebrains-kg-core", - "python-dateutil", - "tabulate", - "requests" + "ebrains-kg-core>=0.9.20", + "openminds>=0.6.0", + "python-dateutil>=2.0", + "tabulate>=0.8.0", + "requests>=2.20.0", + ], + "relatedLink": [ + "https://fairgraph.readthedocs.io" ], - "relatedLink": ["https://fairgraph.readthedocs.io"], "author": [ { "@type": "Person", "@id": "http://orcid.org/0000-0002-4793-7541", "givenName": "Andrew P.", "familyName": "Davison", - "affiliation": { - "@id": "https://ror.org/002v40q27" - } + "affiliation": [ + { + "@id": "https://ror.org/002v40q27" + } + ] }, { "@type": "Person", "givenName": "Onur", "familyName": "Ates", - "affiliation": { - "@id": "https://ror.org/002v40q27" - } + "affiliation": [ + { + "@id": "https://ror.org/002v40q27" + } + ] }, { "@type": "Person", "givenName": "Yann", "familyName": "Zerlaut", - "affiliation": { - "@id": "https://ror.org/002v40q27" - } + "affiliation": [ + { + "@id": "https://ror.org/002v40q27" + } + ] }, { "@type": "Person", "givenName": "Nico", "familyName": "Feld", - "affiliation": { - "@id": "https://ror.org/02778hg05" - } + "affiliation": [ + { + "@id": "https://ror.org/02778hg05" + } + ] }, { "@type": "Person", "givenName": "Glynis", "familyName": "Mattheisen", - "affiliation": { - "@id": "https://ror.org/002v40q27" - } + "affiliation": [ + { + "@id": "https://ror.org/002v40q27" + } + ] }, { "@type": "Person", "givenName": "Peyman", "familyName": "Najafi", - "affiliation": { - "@id": "https://ror.org/002v40q27" - } + "affiliation": [ + { + "@id": "https://ror.org/002v40q27" + } + ] } ] -} +} \ No newline at end of file From 5694dd30089b25aa2558c65d1dee43f48e3b3b90 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Fri, 21 Aug 2026 15:36:53 +0200 Subject: [PATCH 6/7] Update documentation for openMINDS v4/v5 coexistence Rewrites the passages that assumed a single schema version: the README's "Knowledge Graph and openMINDS versions" section, and the introductory text in knowledgegraph.rst, index.rst and queries.rst. The openMINDS build instructions in contributing.rst now describe generating both versions with --generate-all, the additional_methods overlays, and the reverse_name_map entry that a newly-introduced schema property may need. Replaces the non-existent host named in the modules.rst example with a placeholder, and notes that the production and pre-production deployments serve openMINDS v4, v5 metadata being available so far only from a development deployment with restricted access. Adds release notes for 0.15.0, covering openMINDS v5 support and the removal of the v3 transitional machinery. Also documents ten classes that were missing from the v4 module pages: IdentifiersDotOrgID, BiologicalProcess, MRIPulseSequence, MRIWeighting, MeasuredSignalType, CommonCoordinateSpaceVersion, SingleColor, ViewerSpecification, DataCopy and GenericComputation. --- README.md | 22 +++++++++- doc/contributing.rst | 23 +++++++++-- doc/index.rst | 4 ++ doc/knowledgegraph.rst | 4 +- doc/modules.rst | 19 +++++++-- doc/modules/openminds_computation.rst | 8 ++++ doc/modules/openminds_controlledterms.rst | 24 +++++++++++ doc/modules/openminds_core.rst | 3 ++ doc/modules/openminds_sands.rst | 9 +++++ doc/queries.rst | 4 +- doc/release_notes.rst | 49 +++++++++++++++++++++++ 11 files changed, 159 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 1ac508ba..86f71fdb 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,27 @@ pip install -U ./fairgraph ## Knowledge Graph and openMINDS versions This version of fairgraph supports version 3 of the EBRAINS Knowledge Graph (KG), -and version 4 of the openMINDS metadata schemas. +and both version 4 and version 5 of the openMINDS metadata schemas. + +openMINDS v4 is the default: `fairgraph.openminds.core` and the other domain modules +contain the v4 classes, as before. The v5 classes live alongside them, and each version +can also be imported explicitly: + +```python +import fairgraph.openminds.core as omcore # v4 (default) +import fairgraph.openminds.v4.core as omcore4 # explicit v4 +import fairgraph.openminds.v5.core as omcore5 # explicit v5 +``` + +Since the two versions share the same node type URIs in the KG, the client needs to be told +which of them to deserialize responses into: + +```python +client = KGClient(host=host_serving_v5_metadata, openminds_version="v5") +``` + +Omitting `openminds_version` keeps the v4 behaviour. Note that the migration of the KG to +openMINDS v5 is still in progress: the production and pre-production deployments serve v4. ## Basic setup diff --git a/doc/contributing.rst b/doc/contributing.rst index 8a885d0c..148c14dd 100644 --- a/doc/contributing.rst +++ b/doc/contributing.rst @@ -103,12 +103,29 @@ outside the fairgraph directory tree:: $ git clone https://github.com/openMetadataInitiative/openMINDS.git /path/to/openMINDS +fairgraph provides classes for two schema versions, so both are generated together. Within the main fairgraph folder:: $ cd builder - $ python update_openminds.py /path/to/openMINDS/schemas/v4.0 - -This will over-write the contents of the :file:`fairgraph/openminds` directory. + $ python update_openminds.py /path/to/openMINDS/schemas/v4.0 \ + --generate-all --v5-root /path/to/openMINDS/schemas/v5.0 + +This will delete and re-create the :file:`fairgraph/openminds/v4` and +:file:`fairgraph/openminds/v5` directories. A single version can be regenerated on its own with +``--version v4`` (or ``v5``) and no ``--generate-all``, but note that the two versions must stay +consistent with each other, so regenerating both is usually what you want. +The hand-written :file:`fairgraph/openminds/__init__.py`, which makes the v4 classes available +under their legacy :mod:`fairgraph.openminds.` paths, is not generated and is left alone. + +Some methods are not derived from the schemas but are maintained by hand in +:file:`builder/additional_methods/.py.txt`, and merged into the generated class by the +builder. Edit those files rather than the generated ones, since regeneration will overwrite the +latter. Reverse properties (links pointing *into* a class) get their names from the +``reverse_name_map`` dictionary at the top of :file:`builder/update_openminds.py`; if a new +schema introduces a property that has no entry there, generation fails with a :exc:`KeyError` +naming the class, and an entry needs to be added. + +After regenerating, review the diff before committing. Running the test suite ---------------------- diff --git a/doc/index.rst b/doc/index.rst index 3d7de7e6..1d62ea5c 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -72,6 +72,10 @@ For example:: >>> from fairgraph.openminds.core import DatasetVersion +These submodules contain the openMINDS v4 classes, which is what the client uses by default. +Classes for openMINDS v5 are also available, as ``fairgraph.openminds.v5.core`` and so on; +see :doc:`modules`. + Using these classes, it is possible to list all metadata matching a particular criterion, e.g.:: >>> datasets = DatasetVersion.list(client, from_index=10, size=10) diff --git a/doc/knowledgegraph.rst b/doc/knowledgegraph.rst index 013ac8fd..c47a0842 100644 --- a/doc/knowledgegraph.rst +++ b/doc/knowledgegraph.rst @@ -47,7 +47,9 @@ object with name "single cell", and which is the :attr:`output` of a :class:`~fairgraph.openminds.ephys.RecordingActivity` node. The types (classes) and properties (attributes) of the Python objects are defined by the -openMINDS_ schemas. +openMINDS_ schemas. **fairgraph** provides classes for both version 4 and version 5 of these +schemas; v4 is used by default. See :doc:`modules` for the full list of metadata domains in +each version, and for how to choose between them. Alternatives diff --git a/doc/modules.rst b/doc/modules.rst index 97fb052b..f8f51a9b 100644 --- a/doc/modules.rst +++ b/doc/modules.rst @@ -9,16 +9,27 @@ for backwards compatibility:: import fairgraph.openminds.v4.core as omcore4 # explicit v4 import fairgraph.openminds.v5.core as omcore5 # explicit v5 -When connecting to a KG instance, tell the client which openMINDS version it should deserialize -responses into via the ``openminds_version`` argument. Omitting it preserves the legacy v4 -behaviour:: +The two versions are entirely separate sets of classes: a v4 :class:`Person` and a v5 +:class:`Person` are different Python classes, even though they share the same ``@type`` URI in +the Knowledge Graph. Since the URI alone cannot tell them apart, the client has to be told which +version to deserialize responses into, via the ``openminds_version`` argument. Omitting it keeps +the v4 behaviour:: from fairgraph import KGClient import fairgraph.openminds.v5.core as omcore - client = KGClient(host="core.kg-migrated.ebrains.eu", openminds_version="v5") + client = KGClient(host=host_serving_v5_metadata, openminds_version="v5") people = omcore.Person.list(client) +Take care to import the classes you use from the same version the client was created with: +passing a v4 class to a v5 client (or vice versa) will query for the wrong properties. + +.. note:: The migration of the EBRAINS Knowledge Graph to openMINDS v5 is still in progress. + The production and pre-production deployments serve openMINDS v4, which is what you + should use against them. v5 metadata is so far only available from a development + deployment with restricted access; if you need to work against it, contact EBRAINS + Support. + openMINDS v4 ------------ diff --git a/doc/modules/openminds_computation.rst b/doc/modules/openminds_computation.rst index 971931f8..77d30521 100644 --- a/doc/modules/openminds_computation.rst +++ b/doc/modules/openminds_computation.rst @@ -20,6 +20,14 @@ Provenance of computational workflows in neuroscience, including simulations, da :members: :show-inheritance: +.. autoclass:: fairgraph.openminds.computation.DataCopy + :members: + :show-inheritance: + +.. autoclass:: fairgraph.openminds.computation.GenericComputation + :members: + :show-inheritance: + .. autoclass:: fairgraph.openminds.computation.Simulation :members: :show-inheritance: diff --git a/doc/modules/openminds_controlledterms.rst b/doc/modules/openminds_controlledterms.rst index c78ace9e..4a0be907 100644 --- a/doc/modules/openminds_controlledterms.rst +++ b/doc/modules/openminds_controlledterms.rst @@ -17,6 +17,7 @@ Consistent definition of neuroscience terms. * :class:`~AtlasType` * :class:`~AuditoryStimulusType` * :class:`~BiologicalOrder` +* :class:`~BiologicalProcess` * :class:`~BiologicalSex` * :class:`~BreedingType` * :class:`~CellCultureType` @@ -46,10 +47,13 @@ Consistent definition of neuroscience terms. * :class:`~Laterality` * :class:`~LearningResourceType` * :class:`~MeasuredQuantity` +* :class:`~MeasuredSignalType` * :class:`~MetaDataModelType` * :class:`~ModelAbstractionLevel` * :class:`~ModelScope` * :class:`~MolecularEntity` +* :class:`~MRIPulseSequence` +* :class:`~MRIWeighting` * :class:`~OlfactoryStimulusType` * :class:`~OperatingDevice` * :class:`~OperatingSystem` @@ -138,6 +142,11 @@ Consistent definition of neuroscience terms. .. autoclass:: BiologicalOrder +---- + +.. autoclass:: BiologicalProcess + + ---- .. autoclass:: BiologicalSex @@ -283,6 +292,11 @@ Consistent definition of neuroscience terms. .. autoclass:: MeasuredQuantity +---- + +.. autoclass:: MeasuredSignalType + + ---- .. autoclass:: MetaDataModelType @@ -303,6 +317,16 @@ Consistent definition of neuroscience terms. .. autoclass:: MolecularEntity +---- + +.. autoclass:: MRIPulseSequence + + +---- + +.. autoclass:: MRIWeighting + + ---- .. autoclass:: OlfactoryStimulusType diff --git a/doc/modules/openminds_core.rst b/doc/modules/openminds_core.rst index b089045e..5a4a1165 100644 --- a/doc/modules/openminds_core.rst +++ b/doc/modules/openminds_core.rst @@ -102,6 +102,9 @@ Identifiers .. autoclass:: HANDLE :members: +.. autoclass:: IdentifiersDotOrgID + :members: + .. autoclass:: ISBN :members: diff --git a/doc/modules/openminds_sands.rst b/doc/modules/openminds_sands.rst index 4089d331..118a7c33 100644 --- a/doc/modules/openminds_sands.rst +++ b/doc/modules/openminds_sands.rst @@ -21,6 +21,9 @@ Brain Atlases .. autoclass:: CommonCoordinateSpace +.. autoclass:: CommonCoordinateSpaceVersion + + .. autoclass:: ParcellationEntity @@ -73,3 +76,9 @@ Miscellaneous .. autoclass:: QuantitativeRelationAssessment + + +.. autoclass:: SingleColor + + +.. autoclass:: ViewerSpecification diff --git a/doc/queries.rst b/doc/queries.rst index ce19984d..5f6fafb2 100644 --- a/doc/queries.rst +++ b/doc/queries.rst @@ -51,7 +51,9 @@ Listing the available metadata types Each type of metadata node in the Knowledge Graph is represented by a Python class. These classes are organized into modules according to the openMINDS_ schemas. -For a full list of modules, see :doc:`modules`. +The examples below use the openMINDS v4 classes, which are the ones you get by default; +equivalent v5 classes are available in ``fairgraph.openminds.v5``. +For a full list of modules in each version, see :doc:`modules`. To get a list of classes in a given module, import the module and then run :func:`list_kg_classes()`, e.g.:: diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 58a976d6..3e49898d 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -3,6 +3,55 @@ Release notes ============= +Version 0.15.0 +============== + +**fairgraph now supports openMINDS v5 alongside v4.** +Both sets of classes are available at the same time, and v4 remains the default, so existing +code continues to work unchanged:: + + import fairgraph.openminds.core as omcore # v4 (default) + import fairgraph.openminds.v4.core as omcore4 # explicit v4 + import fairgraph.openminds.v5.core as omcore5 # explicit v5 + +v5 covers the same metadata domains as v4, plus a new **neuroimaging** domain +(:doc:`modules/openminds_v5_neuroimaging`) for MRI acquisitions and the devices used to make +them. A number of classes have been renamed — for example ``BrainAtlas`` is now +``AnatomicalAtlas``, and ``CommonCoordinateSpace`` is now ``CommonCoordinateFramework`` — and +others have been added. See :doc:`modules` for the full list. + +A v4 class and its v5 counterpart share the same node type URI in the Knowledge Graph, so a +response cannot be assigned to a version by inspecting it. The client therefore has to be told +which version to deserialize into:: + + from fairgraph import KGClient + import fairgraph.openminds.v5.core as omcore + + client = KGClient(host=host_serving_v5_metadata, openminds_version="v5") + people = omcore.Person.list(client) + +``openminds_version`` accepts ``"v4"`` (the default) or ``"v5"``; anything else raises +:exc:`ValueError`. Use classes from the same version as the client you pass them to. + +.. note:: The migration of the EBRAINS Knowledge Graph to openMINDS v5 is still under way. + The production and pre-production deployments serve v4; v5 metadata is so far only + available from a development deployment with restricted access, whose contents are + incomplete and liable to change. The v5 support in this release has therefore not yet + been exercised against a fully populated KG. + +**The openMINDS v3 transitional machinery has been removed.** +The KG has been serving v4 metadata for some time, and the code that translated between the v3 +and v4 namespaces is no longer needed. The following have been removed: + +- ``KGClient.migrated``, the feature-detection probe that decided at run time whether the KG + a client was connected to had been migrated to v4; +- the :mod:`fairgraph.utility` functions ``adapt_namespaces_3to4``, ``adapt_type_4to3``, + ``adapt_namespaces_4to3``, ``adapt_namespaces_for_query`` and ``types_match``. + +Code that called these directly will need updating; code that simply used the client is +unaffected. + + Version 0.14.0 ============== From f2591762061c752eb011f5f9d43b5f6f53330cfa Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Sat, 22 Aug 2026 19:03:10 +0200 Subject: [PATCH 7/7] Flag openMINDS v5 support as experimental --- README.md | 11 +++++++++-- doc/index.rst | 4 ++-- doc/modules.rst | 11 +++++++++++ doc/release_notes.rst | 19 +++++++++++++------ 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 86f71fdb..4abeba84 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,15 @@ which of them to deserialize responses into: client = KGClient(host=host_serving_v5_metadata, openminds_version="v5") ``` -Omitting `openminds_version` keeps the v4 behaviour. Note that the migration of the KG to -openMINDS v5 is still in progress: the production and pre-production deployments serve v4. +Omitting `openminds_version` keeps the v4 behaviour. + +> [!IMPORTANT] +> **openMINDS v5 support is experimental.** The migration of the KG to openMINDS v5 is still in +> progress, and the production and pre-production deployments serve v4, so the v5 classes have +> not yet been exercised against a fully populated Knowledge Graph. Until that changes, v5 +> support may be altered in backwards-incompatible ways in any release, without the deprecation +> period that applies to the rest of the API. openMINDS v4 support is unaffected and remains the +> default. Reports of problems with v5 are very welcome. ## Basic setup diff --git a/doc/index.rst b/doc/index.rst index 1d62ea5c..cf94b269 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -73,8 +73,8 @@ For example:: >>> from fairgraph.openminds.core import DatasetVersion These submodules contain the openMINDS v4 classes, which is what the client uses by default. -Classes for openMINDS v5 are also available, as ``fairgraph.openminds.v5.core`` and so on; -see :doc:`modules`. +Classes for openMINDS v5 are also available, as ``fairgraph.openminds.v5.core`` and so on, but +v5 support is **experimental** for now; see :doc:`modules`. Using these classes, it is possible to list all metadata matching a particular criterion, e.g.:: diff --git a/doc/modules.rst b/doc/modules.rst index f8f51a9b..468570ce 100644 --- a/doc/modules.rst +++ b/doc/modules.rst @@ -77,6 +77,17 @@ openMINDS v4 openMINDS v5 ------------ +.. warning:: **openMINDS v5 support is experimental.** + + The v5 classes have not yet been exercised against a fully populated Knowledge + Graph (see the note above), so problems may remain that only real data will reveal. + Until the KG migration completes, v5 support may be changed in + backwards-incompatible ways in any release, without the deprecation period that + applies to the rest of the API. + + openMINDS v4 support is unaffected and remains the default. If you use v5 and hit a + problem, please `report it `__. + .. toctree:: :hidden: diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3e49898d..df12b8cf 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -6,7 +6,7 @@ Release notes Version 0.15.0 ============== -**fairgraph now supports openMINDS v5 alongside v4.** +**fairgraph now supports openMINDS v5 alongside v4, on an experimental basis.** Both sets of classes are available at the same time, and v4 remains the default, so existing code continues to work unchanged:: @@ -33,11 +33,18 @@ which version to deserialize into:: ``openminds_version`` accepts ``"v4"`` (the default) or ``"v5"``; anything else raises :exc:`ValueError`. Use classes from the same version as the client you pass them to. -.. note:: The migration of the EBRAINS Knowledge Graph to openMINDS v5 is still under way. - The production and pre-production deployments serve v4; v5 metadata is so far only - available from a development deployment with restricted access, whose contents are - incomplete and liable to change. The v5 support in this release has therefore not yet - been exercised against a fully populated KG. +.. warning:: **v5 support is experimental in this release.** + + The migration of the EBRAINS Knowledge Graph to openMINDS v5 is still under way. + The production and pre-production deployments serve v4; v5 metadata is so far only + available from a development deployment with restricted access, whose contents are + incomplete and liable to change. The v5 support in this release has therefore not + yet been exercised against a fully populated KG. + + Until that changes, the v5 classes and the ``openminds_version`` argument may be + altered in backwards-incompatible ways in any release, without the deprecation + period that applies to the rest of the API. **openMINDS v4 support is unaffected** + and continues to follow the normal compatibility rules. **The openMINDS v3 transitional machinery has been removed.** The KG has been serving v4 metadata for some time, and the code that translated between the v3