fairgraph 0.13.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. fairgraph/__init__.py +61 -0
  2. fairgraph/base.py +104 -0
  3. fairgraph/caching.py +52 -0
  4. fairgraph/client.py +867 -0
  5. fairgraph/collection.py +104 -0
  6. fairgraph/embedded.py +122 -0
  7. fairgraph/errors.py +47 -0
  8. fairgraph/fields.py +11 -0
  9. fairgraph/kgobject.py +1087 -0
  10. fairgraph/kgproxy.py +178 -0
  11. fairgraph/kgquery.py +151 -0
  12. fairgraph/node.py +488 -0
  13. fairgraph/openminds/__init__.py +1 -0
  14. fairgraph/openminds/chemicals/__init__.py +40 -0
  15. fairgraph/openminds/chemicals/amount_of_chemical.py +23 -0
  16. fairgraph/openminds/chemicals/chemical_mixture.py +72 -0
  17. fairgraph/openminds/chemicals/chemical_substance.py +67 -0
  18. fairgraph/openminds/chemicals/product_source.py +57 -0
  19. fairgraph/openminds/computation/__init__.py +53 -0
  20. fairgraph/openminds/computation/data_analysis.py +104 -0
  21. fairgraph/openminds/computation/data_copy.py +104 -0
  22. fairgraph/openminds/computation/environment.py +66 -0
  23. fairgraph/openminds/computation/generic_computation.py +104 -0
  24. fairgraph/openminds/computation/hardware_system.py +53 -0
  25. fairgraph/openminds/computation/launch_configuration.py +68 -0
  26. fairgraph/openminds/computation/local_file.py +83 -0
  27. fairgraph/openminds/computation/model_validation.py +107 -0
  28. fairgraph/openminds/computation/optimization.py +104 -0
  29. fairgraph/openminds/computation/simulation.py +104 -0
  30. fairgraph/openminds/computation/software_agent.py +81 -0
  31. fairgraph/openminds/computation/validation_test.py +105 -0
  32. fairgraph/openminds/computation/validation_test_version.py +180 -0
  33. fairgraph/openminds/computation/visualization.py +104 -0
  34. fairgraph/openminds/computation/workflow_execution.py +44 -0
  35. fairgraph/openminds/computation/workflow_recipe.py +95 -0
  36. fairgraph/openminds/computation/workflow_recipe_version.py +185 -0
  37. fairgraph/openminds/controlled_terms/__init__.py +116 -0
  38. fairgraph/openminds/controlled_terms/action_status_type.py +97 -0
  39. fairgraph/openminds/controlled_terms/age_category.py +89 -0
  40. fairgraph/openminds/controlled_terms/analysis_technique.py +108 -0
  41. fairgraph/openminds/controlled_terms/anatomical_axes_orientation.py +89 -0
  42. fairgraph/openminds/controlled_terms/anatomical_identification_type.py +89 -0
  43. fairgraph/openminds/controlled_terms/anatomical_plane.py +89 -0
  44. fairgraph/openminds/controlled_terms/annotation_criteria_type.py +89 -0
  45. fairgraph/openminds/controlled_terms/annotation_type.py +89 -0
  46. fairgraph/openminds/controlled_terms/atlas_type.py +88 -0
  47. fairgraph/openminds/controlled_terms/auditory_stimulus_type.py +127 -0
  48. fairgraph/openminds/controlled_terms/biological_order.py +117 -0
  49. fairgraph/openminds/controlled_terms/biological_process.py +79 -0
  50. fairgraph/openminds/controlled_terms/biological_sex.py +132 -0
  51. fairgraph/openminds/controlled_terms/breeding_type.py +127 -0
  52. fairgraph/openminds/controlled_terms/cell_culture_type.py +117 -0
  53. fairgraph/openminds/controlled_terms/cell_type.py +151 -0
  54. fairgraph/openminds/controlled_terms/chemical_mixture_type.py +89 -0
  55. fairgraph/openminds/controlled_terms/colormap.py +79 -0
  56. fairgraph/openminds/controlled_terms/contribution_type.py +79 -0
  57. fairgraph/openminds/controlled_terms/cranial_window_construction_type.py +89 -0
  58. fairgraph/openminds/controlled_terms/cranial_window_reinforcement_type.py +89 -0
  59. fairgraph/openminds/controlled_terms/criteria_quality_type.py +89 -0
  60. fairgraph/openminds/controlled_terms/data_type.py +89 -0
  61. fairgraph/openminds/controlled_terms/device_type.py +94 -0
  62. fairgraph/openminds/controlled_terms/difference_measure.py +89 -0
  63. fairgraph/openminds/controlled_terms/disease.py +142 -0
  64. fairgraph/openminds/controlled_terms/disease_model.py +142 -0
  65. fairgraph/openminds/controlled_terms/educational_level.py +79 -0
  66. fairgraph/openminds/controlled_terms/electrical_stimulus_type.py +137 -0
  67. fairgraph/openminds/controlled_terms/ethics_assessment.py +79 -0
  68. fairgraph/openminds/controlled_terms/experimental_approach.py +79 -0
  69. fairgraph/openminds/controlled_terms/file_bundle_grouping.py +99 -0
  70. fairgraph/openminds/controlled_terms/file_repository_type.py +89 -0
  71. fairgraph/openminds/controlled_terms/file_usage_role.py +89 -0
  72. fairgraph/openminds/controlled_terms/genetic_strain_type.py +127 -0
  73. fairgraph/openminds/controlled_terms/gustatory_stimulus_type.py +127 -0
  74. fairgraph/openminds/controlled_terms/handedness.py +127 -0
  75. fairgraph/openminds/controlled_terms/language.py +88 -0
  76. fairgraph/openminds/controlled_terms/laterality.py +94 -0
  77. fairgraph/openminds/controlled_terms/learning_resource_type.py +88 -0
  78. fairgraph/openminds/controlled_terms/measured_quantity.py +89 -0
  79. fairgraph/openminds/controlled_terms/measured_signal_type.py +79 -0
  80. fairgraph/openminds/controlled_terms/meta_data_model_type.py +88 -0
  81. fairgraph/openminds/controlled_terms/model_abstraction_level.py +89 -0
  82. fairgraph/openminds/controlled_terms/model_scope.py +89 -0
  83. fairgraph/openminds/controlled_terms/molecular_entity.py +142 -0
  84. fairgraph/openminds/controlled_terms/mri_pulse_sequence.py +98 -0
  85. fairgraph/openminds/controlled_terms/mri_weighting.py +98 -0
  86. fairgraph/openminds/controlled_terms/olfactory_stimulus_type.py +127 -0
  87. fairgraph/openminds/controlled_terms/operating_device.py +79 -0
  88. fairgraph/openminds/controlled_terms/operating_system.py +88 -0
  89. fairgraph/openminds/controlled_terms/optical_stimulus_type.py +127 -0
  90. fairgraph/openminds/controlled_terms/organ.py +161 -0
  91. fairgraph/openminds/controlled_terms/organism_substance.py +151 -0
  92. fairgraph/openminds/controlled_terms/organism_system.py +117 -0
  93. fairgraph/openminds/controlled_terms/patch_clamp_variation.py +89 -0
  94. fairgraph/openminds/controlled_terms/preparation_type.py +98 -0
  95. fairgraph/openminds/controlled_terms/product_accessibility.py +79 -0
  96. fairgraph/openminds/controlled_terms/programming_language.py +88 -0
  97. fairgraph/openminds/controlled_terms/qualitative_overlap.py +79 -0
  98. fairgraph/openminds/controlled_terms/semantic_data_type.py +79 -0
  99. fairgraph/openminds/controlled_terms/service.py +89 -0
  100. fairgraph/openminds/controlled_terms/setup_type.py +89 -0
  101. fairgraph/openminds/controlled_terms/software_application_category.py +79 -0
  102. fairgraph/openminds/controlled_terms/software_feature.py +79 -0
  103. fairgraph/openminds/controlled_terms/species.py +143 -0
  104. fairgraph/openminds/controlled_terms/stimulation_approach.py +98 -0
  105. fairgraph/openminds/controlled_terms/stimulation_technique.py +98 -0
  106. fairgraph/openminds/controlled_terms/subcellular_entity.py +143 -0
  107. fairgraph/openminds/controlled_terms/subject_attribute.py +89 -0
  108. fairgraph/openminds/controlled_terms/tactile_stimulus_type.py +127 -0
  109. fairgraph/openminds/controlled_terms/technique.py +108 -0
  110. fairgraph/openminds/controlled_terms/term_suggestion.py +121 -0
  111. fairgraph/openminds/controlled_terms/terminology.py +89 -0
  112. fairgraph/openminds/controlled_terms/tissue_sample_attribute.py +89 -0
  113. fairgraph/openminds/controlled_terms/tissue_sample_type.py +127 -0
  114. fairgraph/openminds/controlled_terms/type_of_uncertainty.py +89 -0
  115. fairgraph/openminds/controlled_terms/uberon_parcellation.py +153 -0
  116. fairgraph/openminds/controlled_terms/unit_of_measurement.py +108 -0
  117. fairgraph/openminds/controlled_terms/visual_stimulus_type.py +127 -0
  118. fairgraph/openminds/controlledterms.py +6 -0
  119. fairgraph/openminds/core/__init__.py +107 -0
  120. fairgraph/openminds/core/actors/__init__.py +7 -0
  121. fairgraph/openminds/core/actors/account_information.py +44 -0
  122. fairgraph/openminds/core/actors/affiliation.py +30 -0
  123. fairgraph/openminds/core/actors/consortium.py +175 -0
  124. fairgraph/openminds/core/actors/contact_information.py +43 -0
  125. fairgraph/openminds/core/actors/contribution.py +23 -0
  126. fairgraph/openminds/core/actors/organization.py +199 -0
  127. fairgraph/openminds/core/actors/person.py +236 -0
  128. fairgraph/openminds/core/data/__init__.py +13 -0
  129. fairgraph/openminds/core/data/content_type.py +107 -0
  130. fairgraph/openminds/core/data/content_type_pattern.py +53 -0
  131. fairgraph/openminds/core/data/copyright.py +23 -0
  132. fairgraph/openminds/core/data/file.py +275 -0
  133. fairgraph/openminds/core/data/file_archive.py +71 -0
  134. fairgraph/openminds/core/data/file_bundle.py +150 -0
  135. fairgraph/openminds/core/data/file_path_pattern.py +23 -0
  136. fairgraph/openminds/core/data/file_repository.py +99 -0
  137. fairgraph/openminds/core/data/file_repository_structure.py +51 -0
  138. fairgraph/openminds/core/data/hash.py +23 -0
  139. fairgraph/openminds/core/data/license.py +77 -0
  140. fairgraph/openminds/core/data/measurement.py +45 -0
  141. fairgraph/openminds/core/data/service_link.py +49 -0
  142. fairgraph/openminds/core/digital_identifier/__init__.py +11 -0
  143. fairgraph/openminds/core/digital_identifier/doi.py +98 -0
  144. fairgraph/openminds/core/digital_identifier/gridid.py +41 -0
  145. fairgraph/openminds/core/digital_identifier/handle.py +52 -0
  146. fairgraph/openminds/core/digital_identifier/identifiers_dot_org_id.py +41 -0
  147. fairgraph/openminds/core/digital_identifier/isbn.py +88 -0
  148. fairgraph/openminds/core/digital_identifier/issn.py +63 -0
  149. fairgraph/openminds/core/digital_identifier/orcid.py +41 -0
  150. fairgraph/openminds/core/digital_identifier/rorid.py +41 -0
  151. fairgraph/openminds/core/digital_identifier/rrid.py +55 -0
  152. fairgraph/openminds/core/digital_identifier/stock_number.py +23 -0
  153. fairgraph/openminds/core/digital_identifier/swhid.py +48 -0
  154. fairgraph/openminds/core/miscellaneous/__init__.py +7 -0
  155. fairgraph/openminds/core/miscellaneous/comment.py +47 -0
  156. fairgraph/openminds/core/miscellaneous/funding.py +70 -0
  157. fairgraph/openminds/core/miscellaneous/quantitative_value.py +43 -0
  158. fairgraph/openminds/core/miscellaneous/quantitative_value_array.py +49 -0
  159. fairgraph/openminds/core/miscellaneous/quantitative_value_range.py +43 -0
  160. fairgraph/openminds/core/miscellaneous/research_product_group.py +26 -0
  161. fairgraph/openminds/core/miscellaneous/web_resource.py +104 -0
  162. fairgraph/openminds/core/products/__init__.py +12 -0
  163. fairgraph/openminds/core/products/dataset.py +95 -0
  164. fairgraph/openminds/core/products/dataset_version.py +240 -0
  165. fairgraph/openminds/core/products/meta_data_model.py +95 -0
  166. fairgraph/openminds/core/products/meta_data_model_version.py +168 -0
  167. fairgraph/openminds/core/products/model.py +103 -0
  168. fairgraph/openminds/core/products/model_version.py +235 -0
  169. fairgraph/openminds/core/products/project.py +56 -0
  170. fairgraph/openminds/core/products/setup.py +69 -0
  171. fairgraph/openminds/core/products/software.py +95 -0
  172. fairgraph/openminds/core/products/software_version.py +226 -0
  173. fairgraph/openminds/core/products/web_service.py +103 -0
  174. fairgraph/openminds/core/products/web_service_version.py +182 -0
  175. fairgraph/openminds/core/research/__init__.py +17 -0
  176. fairgraph/openminds/core/research/behavioral_protocol.py +69 -0
  177. fairgraph/openminds/core/research/configuration.py +67 -0
  178. fairgraph/openminds/core/research/custom_property_set.py +27 -0
  179. fairgraph/openminds/core/research/numerical_property.py +23 -0
  180. fairgraph/openminds/core/research/property_value_list.py +71 -0
  181. fairgraph/openminds/core/research/protocol.py +67 -0
  182. fairgraph/openminds/core/research/protocol_execution.py +76 -0
  183. fairgraph/openminds/core/research/strain.py +90 -0
  184. fairgraph/openminds/core/research/string_property.py +23 -0
  185. fairgraph/openminds/core/research/subject.py +79 -0
  186. fairgraph/openminds/core/research/subject_group.py +91 -0
  187. fairgraph/openminds/core/research/subject_group_state.py +113 -0
  188. fairgraph/openminds/core/research/subject_state.py +138 -0
  189. fairgraph/openminds/core/research/tissue_sample.py +87 -0
  190. fairgraph/openminds/core/research/tissue_sample_collection.py +99 -0
  191. fairgraph/openminds/core/research/tissue_sample_collection_state.py +109 -0
  192. fairgraph/openminds/core/research/tissue_sample_state.py +127 -0
  193. fairgraph/openminds/ephys/__init__.py +39 -0
  194. fairgraph/openminds/ephys/activity/__init__.py +3 -0
  195. fairgraph/openminds/ephys/activity/cell_patching.py +73 -0
  196. fairgraph/openminds/ephys/activity/electrode_placement.py +67 -0
  197. fairgraph/openminds/ephys/activity/recording_activity.py +67 -0
  198. fairgraph/openminds/ephys/device/__init__.py +6 -0
  199. fairgraph/openminds/ephys/device/electrode.py +81 -0
  200. fairgraph/openminds/ephys/device/electrode_array.py +85 -0
  201. fairgraph/openminds/ephys/device/electrode_array_usage.py +105 -0
  202. fairgraph/openminds/ephys/device/electrode_usage.py +101 -0
  203. fairgraph/openminds/ephys/device/pipette.py +81 -0
  204. fairgraph/openminds/ephys/device/pipette_usage.py +123 -0
  205. fairgraph/openminds/ephys/entity/__init__.py +2 -0
  206. fairgraph/openminds/ephys/entity/channel.py +23 -0
  207. fairgraph/openminds/ephys/entity/recording.py +63 -0
  208. fairgraph/openminds/publications/__init__.py +47 -0
  209. fairgraph/openminds/publications/book.py +106 -0
  210. fairgraph/openminds/publications/chapter.py +100 -0
  211. fairgraph/openminds/publications/learning_resource.py +90 -0
  212. fairgraph/openminds/publications/live_paper.py +95 -0
  213. fairgraph/openminds/publications/live_paper_resource_item.py +58 -0
  214. fairgraph/openminds/publications/live_paper_section.py +57 -0
  215. fairgraph/openminds/publications/live_paper_version.py +177 -0
  216. fairgraph/openminds/publications/periodical.py +53 -0
  217. fairgraph/openminds/publications/publication_issue.py +44 -0
  218. fairgraph/openminds/publications/publication_volume.py +44 -0
  219. fairgraph/openminds/publications/scholarly_article.py +146 -0
  220. fairgraph/openminds/sands/__init__.py +57 -0
  221. fairgraph/openminds/sands/atlas/__init__.py +9 -0
  222. fairgraph/openminds/sands/atlas/atlas_annotation.py +52 -0
  223. fairgraph/openminds/sands/atlas/brain_atlas.py +113 -0
  224. fairgraph/openminds/sands/atlas/brain_atlas_version.py +213 -0
  225. fairgraph/openminds/sands/atlas/common_coordinate_space.py +121 -0
  226. fairgraph/openminds/sands/atlas/common_coordinate_space_version.py +243 -0
  227. fairgraph/openminds/sands/atlas/parcellation_entity.py +133 -0
  228. fairgraph/openminds/sands/atlas/parcellation_entity_version.py +162 -0
  229. fairgraph/openminds/sands/atlas/parcellation_terminology.py +38 -0
  230. fairgraph/openminds/sands/atlas/parcellation_terminology_version.py +38 -0
  231. fairgraph/openminds/sands/mathematical_shapes/__init__.py +3 -0
  232. fairgraph/openminds/sands/mathematical_shapes/circle.py +23 -0
  233. fairgraph/openminds/sands/mathematical_shapes/ellipse.py +27 -0
  234. fairgraph/openminds/sands/mathematical_shapes/rectangle.py +23 -0
  235. fairgraph/openminds/sands/miscellaneous/__init__.py +6 -0
  236. fairgraph/openminds/sands/miscellaneous/anatomical_target_position.py +40 -0
  237. fairgraph/openminds/sands/miscellaneous/coordinate_point.py +23 -0
  238. fairgraph/openminds/sands/miscellaneous/qualitative_relation_assessment.py +34 -0
  239. fairgraph/openminds/sands/miscellaneous/quantitative_relation_assessment.py +38 -0
  240. fairgraph/openminds/sands/miscellaneous/single_color.py +24 -0
  241. fairgraph/openminds/sands/miscellaneous/viewer_specification.py +40 -0
  242. fairgraph/openminds/sands/non_atlas/__init__.py +3 -0
  243. fairgraph/openminds/sands/non_atlas/custom_anatomical_entity.py +110 -0
  244. fairgraph/openminds/sands/non_atlas/custom_annotation.py +54 -0
  245. fairgraph/openminds/sands/non_atlas/custom_coordinate_space.py +67 -0
  246. fairgraph/openminds/specimen_prep/__init__.py +38 -0
  247. fairgraph/openminds/specimen_prep/activity/__init__.py +3 -0
  248. fairgraph/openminds/specimen_prep/activity/cranial_window_preparation.py +69 -0
  249. fairgraph/openminds/specimen_prep/activity/tissue_culture_preparation.py +67 -0
  250. fairgraph/openminds/specimen_prep/activity/tissue_sample_slicing.py +69 -0
  251. fairgraph/openminds/specimen_prep/device/__init__.py +2 -0
  252. fairgraph/openminds/specimen_prep/device/slicing_device.py +73 -0
  253. fairgraph/openminds/specimen_prep/device/slicing_device_usage.py +117 -0
  254. fairgraph/openminds/specimenprep.py +4 -0
  255. fairgraph/openminds/stimulation/__init__.py +38 -0
  256. fairgraph/openminds/stimulation/activity/__init__.py +1 -0
  257. fairgraph/openminds/stimulation/activity/stimulation_activity.py +67 -0
  258. fairgraph/openminds/stimulation/stimulus/__init__.py +1 -0
  259. fairgraph/openminds/stimulation/stimulus/ephys_stimulus.py +63 -0
  260. fairgraph/queries.py +499 -0
  261. fairgraph/registry.py +123 -0
  262. fairgraph/utility.py +607 -0
  263. fairgraph-0.13.0.dist-info/METADATA +222 -0
  264. fairgraph-0.13.0.dist-info/RECORD +267 -0
  265. fairgraph-0.13.0.dist-info/WHEEL +5 -0
  266. fairgraph-0.13.0.dist-info/licenses/LICENSE.txt +177 -0
  267. fairgraph-0.13.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,53 @@
1
+ """
2
+ <description not available>
3
+ """
4
+
5
+ # this file was auto-generated
6
+
7
+ from openminds.properties import Property
8
+ from openminds.v4.publications import Periodical as OMPeriodical
9
+ from fairgraph import KGObject
10
+
11
+
12
+ class Periodical(KGObject, OMPeriodical):
13
+ """
14
+ <description not available>
15
+ """
16
+
17
+ type_ = "https://openminds.om-i.org/types/Periodical"
18
+ default_space = "livepapers"
19
+ # forward properties are defined in the parent class (in openMINDS-Python)
20
+ reverse_properties = [
21
+ Property(
22
+ "has_parts",
23
+ "openminds.v4.publications.PublicationVolume",
24
+ "isPartOf",
25
+ reverse="is_part_of",
26
+ multiple=True,
27
+ description="reverse of 'is_part_of'",
28
+ ),
29
+ ]
30
+ existence_query_properties = ("abbreviation",)
31
+
32
+ def __init__(
33
+ self,
34
+ name=None,
35
+ abbreviation=None,
36
+ digital_identifier=None,
37
+ has_parts=None,
38
+ id=None,
39
+ data=None,
40
+ space=None,
41
+ release_status=None,
42
+ ):
43
+ return KGObject.__init__(
44
+ self,
45
+ id=id,
46
+ space=space,
47
+ release_status=release_status,
48
+ data=data,
49
+ name=name,
50
+ abbreviation=abbreviation,
51
+ digital_identifier=digital_identifier,
52
+ has_parts=has_parts,
53
+ )
@@ -0,0 +1,44 @@
1
+ """
2
+ <description not available>
3
+ """
4
+
5
+ # this file was auto-generated
6
+
7
+ from openminds.properties import Property
8
+ from openminds.v4.publications import PublicationIssue as OMPublicationIssue
9
+ from fairgraph import KGObject
10
+
11
+
12
+ class PublicationIssue(KGObject, OMPublicationIssue):
13
+ """
14
+ <description not available>
15
+ """
16
+
17
+ type_ = "https://openminds.om-i.org/types/PublicationIssue"
18
+ default_space = "livepapers"
19
+ # forward properties are defined in the parent class (in openMINDS-Python)
20
+ reverse_properties = [
21
+ Property(
22
+ "has_parts",
23
+ "openminds.v4.publications.ScholarlyArticle",
24
+ "isPartOf",
25
+ reverse="is_part_of",
26
+ multiple=True,
27
+ description="reverse of 'is_part_of'",
28
+ ),
29
+ ]
30
+ existence_query_properties = ("is_part_of", "issue_number")
31
+
32
+ def __init__(
33
+ self, has_parts=None, is_part_of=None, issue_number=None, id=None, data=None, space=None, release_status=None
34
+ ):
35
+ return KGObject.__init__(
36
+ self,
37
+ id=id,
38
+ space=space,
39
+ release_status=release_status,
40
+ data=data,
41
+ has_parts=has_parts,
42
+ is_part_of=is_part_of,
43
+ issue_number=issue_number,
44
+ )
@@ -0,0 +1,44 @@
1
+ """
2
+ <description not available>
3
+ """
4
+
5
+ # this file was auto-generated
6
+
7
+ from openminds.properties import Property
8
+ from openminds.v4.publications import PublicationVolume as OMPublicationVolume
9
+ from fairgraph import KGObject
10
+
11
+
12
+ class PublicationVolume(KGObject, OMPublicationVolume):
13
+ """
14
+ <description not available>
15
+ """
16
+
17
+ type_ = "https://openminds.om-i.org/types/PublicationVolume"
18
+ default_space = "livepapers"
19
+ # forward properties are defined in the parent class (in openMINDS-Python)
20
+ reverse_properties = [
21
+ Property(
22
+ "has_parts",
23
+ ["openminds.v4.publications.PublicationIssue", "openminds.v4.publications.ScholarlyArticle"],
24
+ "isPartOf",
25
+ reverse="is_part_of",
26
+ multiple=True,
27
+ description="reverse of 'is_part_of'",
28
+ ),
29
+ ]
30
+ existence_query_properties = ("is_part_of", "volume_number")
31
+
32
+ def __init__(
33
+ self, has_parts=None, is_part_of=None, volume_number=None, id=None, data=None, space=None, release_status=None
34
+ ):
35
+ return KGObject.__init__(
36
+ self,
37
+ id=id,
38
+ space=space,
39
+ release_status=release_status,
40
+ data=data,
41
+ has_parts=has_parts,
42
+ is_part_of=is_part_of,
43
+ volume_number=volume_number,
44
+ )
@@ -0,0 +1,146 @@
1
+ """
2
+ <description not available>
3
+ """
4
+
5
+ # this file was auto-generated
6
+
7
+ from openminds.properties import Property
8
+ from openminds.v4.publications import ScholarlyArticle as OMScholarlyArticle
9
+ from fairgraph import KGObject
10
+
11
+ from fairgraph.utility import as_list
12
+ from .publication_issue import PublicationIssue
13
+ from .periodical import Periodical
14
+ from datetime import date
15
+ from openminds import IRI
16
+
17
+
18
+ class ScholarlyArticle(KGObject, OMScholarlyArticle):
19
+ """
20
+ <description not available>
21
+ """
22
+
23
+ type_ = "https://openminds.om-i.org/types/ScholarlyArticle"
24
+ default_space = "livepapers"
25
+ # forward properties are defined in the parent class (in openMINDS-Python)
26
+ reverse_properties = [
27
+ Property(
28
+ "related_to",
29
+ [
30
+ "openminds.v4.computation.ValidationTestVersion",
31
+ "openminds.v4.computation.WorkflowRecipeVersion",
32
+ "openminds.v4.core.DatasetVersion",
33
+ "openminds.v4.core.MetaDataModelVersion",
34
+ "openminds.v4.core.ModelVersion",
35
+ "openminds.v4.core.SoftwareVersion",
36
+ "openminds.v4.core.WebServiceVersion",
37
+ "openminds.v4.publications.LivePaperVersion",
38
+ "openminds.v4.sands.BrainAtlasVersion",
39
+ "openminds.v4.sands.CommonCoordinateSpaceVersion",
40
+ ],
41
+ "relatedPublication",
42
+ reverse="related_publications",
43
+ multiple=True,
44
+ description="reverse of 'related_publications'",
45
+ ),
46
+ ]
47
+ existence_query_properties = ("name",)
48
+
49
+ def __init__(
50
+ self,
51
+ name=None,
52
+ abstract=None,
53
+ authors=None,
54
+ cited_publications=None,
55
+ copyright=None,
56
+ creation_date=None,
57
+ custodians=None,
58
+ digital_identifier=None,
59
+ editors=None,
60
+ funding=None,
61
+ iri=None,
62
+ is_part_of=None,
63
+ keywords=None,
64
+ license=None,
65
+ modification_date=None,
66
+ pagination=None,
67
+ publication_date=None,
68
+ publisher=None,
69
+ related_to=None,
70
+ version_identifier=None,
71
+ id=None,
72
+ data=None,
73
+ space=None,
74
+ release_status=None,
75
+ ):
76
+ return KGObject.__init__(
77
+ self,
78
+ id=id,
79
+ space=space,
80
+ release_status=release_status,
81
+ data=data,
82
+ name=name,
83
+ abstract=abstract,
84
+ authors=authors,
85
+ cited_publications=cited_publications,
86
+ copyright=copyright,
87
+ creation_date=creation_date,
88
+ custodians=custodians,
89
+ digital_identifier=digital_identifier,
90
+ editors=editors,
91
+ funding=funding,
92
+ iri=iri,
93
+ is_part_of=is_part_of,
94
+ keywords=keywords,
95
+ license=license,
96
+ modification_date=modification_date,
97
+ pagination=pagination,
98
+ publication_date=publication_date,
99
+ publisher=publisher,
100
+ related_to=related_to,
101
+ version_identifier=version_identifier,
102
+ )
103
+
104
+ def get_journal(self, client, with_volume=False, with_issue=False):
105
+ journal = volume = issue = None
106
+ if self.is_part_of:
107
+ issue_or_volume = self.is_part_of.resolve(
108
+ client, release_status=self.release_status, follow_links={"is_part_of": {}}
109
+ )
110
+ if isinstance(issue_or_volume, PublicationIssue):
111
+ volume = issue_or_volume.is_part_of
112
+ issue = issue_or_volume
113
+ else:
114
+ volume = issue_or_volume
115
+ issue = None
116
+ journal = volume.is_part_of
117
+ assert isinstance(journal, Periodical)
118
+ retval = [journal]
119
+ if with_volume:
120
+ retval.append(volume)
121
+ if with_issue:
122
+ retval.append(issue)
123
+ if not with_volume and not with_issue:
124
+ return journal
125
+ else:
126
+ return tuple(retval)
127
+
128
+ def get_citation_string(self, client):
129
+ # Eyal, G., Verhoog, M. B., Testa-Silva, G., Deitcher, Y., Lodder, '
130
+ # - 'J. C., Benavides-Piccione, R., ... & Segev, I. (2016). Unique '
131
+ # - 'membrane properties and enhanced signal processing in human '
132
+ # - 'neocortical neurons. Elife, 5, e16553.
133
+ self.resolve(client, follow_links={"is_part_of": {}, "authors": {}})
134
+ authors = as_list(self.authors)
135
+ if len(authors) == 1:
136
+ author_str = authors[0].full_name
137
+ elif len(authors) > 1:
138
+ author_str = ", ".join(au.full_name for au in authors[:-1])
139
+ author_str += " & " + self.authors[-1].full_name
140
+ journal, volume, issue = self.get_journal(client, with_volume=True, with_issue=True)
141
+ title = self.name
142
+ if title and title[-1] != ".":
143
+ title += "."
144
+ journal_name = journal.name if journal else ""
145
+ volume_number = f"{volume.volume_number}: " if (volume and volume.volume_number != "placeholder") else ""
146
+ return f"{author_str} ({self.publication_date.year}). {title} {journal_name}, {volume_number}{self.pagination or ''}."
@@ -0,0 +1,57 @@
1
+ import sys
2
+ import inspect
3
+ from fairgraph.kgobject import KGObject
4
+ from fairgraph.embedded import EmbeddedMetadata
5
+
6
+ from .mathematical_shapes import Ellipse, Rectangle, Circle
7
+ from .non_atlas import CustomCoordinateSpace, CustomAnnotation, CustomAnatomicalEntity
8
+ from .miscellaneous import (
9
+ AnatomicalTargetPosition,
10
+ ViewerSpecification,
11
+ QualitativeRelationAssessment,
12
+ CoordinatePoint,
13
+ QuantitativeRelationAssessment,
14
+ SingleColor,
15
+ )
16
+ from .atlas import (
17
+ ParcellationEntity,
18
+ CommonCoordinateSpace,
19
+ BrainAtlas,
20
+ ParcellationTerminologyVersion,
21
+ ParcellationTerminology,
22
+ CommonCoordinateSpaceVersion,
23
+ AtlasAnnotation,
24
+ ParcellationEntityVersion,
25
+ BrainAtlasVersion,
26
+ )
27
+
28
+
29
+ def list_kg_classes():
30
+ """List all KG classes defined in this module"""
31
+ return [
32
+ obj
33
+ for name, obj in inspect.getmembers(sys.modules[__name__])
34
+ if inspect.isclass(obj) and issubclass(obj, KGObject) and obj.__module__.startswith(__name__)
35
+ ]
36
+
37
+
38
+ def list_embedded_metadata_classes():
39
+ """List all embedded metadata classes defined in this module"""
40
+ return [
41
+ obj
42
+ for name, obj in inspect.getmembers(sys.modules[__name__])
43
+ if inspect.isclass(obj) and issubclass(obj, EmbeddedMetadata) and obj.__module__.startswith(__name__)
44
+ ]
45
+
46
+
47
+ def set_error_handling(value):
48
+ """
49
+ Control validation for all classes in this module.
50
+
51
+ Args:
52
+ value (str): action to follow when there is a validation failure.
53
+ (e.g. if a required property is not provided).
54
+ Possible values: "error", "warning", "log", None
55
+ """
56
+ for cls in list_kg_classes() + list_embedded_metadata_classes():
57
+ cls.set_error_handling(value)
@@ -0,0 +1,9 @@
1
+ from .atlas_annotation import AtlasAnnotation
2
+ from .brain_atlas import BrainAtlas
3
+ from .brain_atlas_version import BrainAtlasVersion
4
+ from .common_coordinate_space import CommonCoordinateSpace
5
+ from .common_coordinate_space_version import CommonCoordinateSpaceVersion
6
+ from .parcellation_entity import ParcellationEntity
7
+ from .parcellation_entity_version import ParcellationEntityVersion
8
+ from .parcellation_terminology import ParcellationTerminology
9
+ from .parcellation_terminology_version import ParcellationTerminologyVersion
@@ -0,0 +1,52 @@
1
+ """
2
+ <description not available>
3
+ """
4
+
5
+ # this file was auto-generated
6
+
7
+ from openminds.properties import Property
8
+ from openminds.v4.sands import AtlasAnnotation as OMAtlasAnnotation
9
+ from fairgraph import EmbeddedMetadata
10
+
11
+
12
+ class AtlasAnnotation(EmbeddedMetadata, OMAtlasAnnotation):
13
+ """
14
+ <description not available>
15
+ """
16
+
17
+ type_ = "https://openminds.om-i.org/types/AtlasAnnotation"
18
+ # forward properties are defined in the parent class (in openMINDS-Python)
19
+ reverse_properties = []
20
+ existence_query_properties = ("criteria_quality_type", "criteria_type", "type")
21
+
22
+ def __init__(
23
+ self,
24
+ anchor_points=None,
25
+ criteria=None,
26
+ criteria_quality_type=None,
27
+ criteria_type=None,
28
+ inspired_by=None,
29
+ internal_identifier=None,
30
+ lateralities=None,
31
+ preferred_visualization=None,
32
+ specification=None,
33
+ type=None,
34
+ id=None,
35
+ data=None,
36
+ space=None,
37
+ release_status=None,
38
+ ):
39
+ return EmbeddedMetadata.__init__(
40
+ self,
41
+ data=data,
42
+ anchor_points=anchor_points,
43
+ criteria=criteria,
44
+ criteria_quality_type=criteria_quality_type,
45
+ criteria_type=criteria_type,
46
+ inspired_by=inspired_by,
47
+ internal_identifier=internal_identifier,
48
+ lateralities=lateralities,
49
+ preferred_visualization=preferred_visualization,
50
+ specification=specification,
51
+ type=type,
52
+ )
@@ -0,0 +1,113 @@
1
+ """
2
+ <description not available>
3
+ """
4
+
5
+ # this file was auto-generated
6
+
7
+ from openminds.properties import Property
8
+ from openminds.v4.sands import BrainAtlas as OMBrainAtlas
9
+ from fairgraph import KGObject
10
+
11
+
12
+ from openminds import IRI
13
+
14
+
15
+ class BrainAtlas(KGObject, OMBrainAtlas):
16
+ """
17
+ <description not available>
18
+ """
19
+
20
+ type_ = "https://openminds.om-i.org/types/BrainAtlas"
21
+ default_space = "atlas"
22
+ # forward properties are defined in the parent class (in openMINDS-Python)
23
+ reverse_properties = [
24
+ Property(
25
+ "comments",
26
+ "openminds.v4.core.Comment",
27
+ "about",
28
+ reverse="about",
29
+ multiple=True,
30
+ description="reverse of 'about'",
31
+ ),
32
+ Property(
33
+ "is_input_to",
34
+ "openminds.v4.core.DatasetVersion",
35
+ "inputData",
36
+ reverse="input_data",
37
+ multiple=True,
38
+ description="reverse of 'input_data'",
39
+ ),
40
+ Property(
41
+ "is_part_of",
42
+ ["openminds.v4.core.Project", "openminds.v4.core.ResearchProductGroup"],
43
+ "hasPart",
44
+ reverse="has_parts",
45
+ multiple=True,
46
+ description="reverse of 'has_parts'",
47
+ ),
48
+ Property(
49
+ "learning_resources",
50
+ "openminds.v4.publications.LearningResource",
51
+ "about",
52
+ reverse="about",
53
+ multiple=True,
54
+ description="reverse of 'about'",
55
+ ),
56
+ ]
57
+ aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"}
58
+ existence_query_properties = ("digital_identifier",)
59
+
60
+ def __init__(
61
+ self,
62
+ name=None,
63
+ alias=None,
64
+ abbreviation=None,
65
+ authors=None,
66
+ comments=None,
67
+ custodians=None,
68
+ description=None,
69
+ digital_identifier=None,
70
+ full_name=None,
71
+ has_terminology=None,
72
+ has_versions=None,
73
+ homepage=None,
74
+ how_to_cite=None,
75
+ is_input_to=None,
76
+ is_part_of=None,
77
+ learning_resources=None,
78
+ ontology_identifier=None,
79
+ short_name=None,
80
+ used_species=None,
81
+ versions=None,
82
+ id=None,
83
+ data=None,
84
+ space=None,
85
+ release_status=None,
86
+ ):
87
+ return KGObject.__init__(
88
+ self,
89
+ id=id,
90
+ space=space,
91
+ release_status=release_status,
92
+ data=data,
93
+ name=name,
94
+ alias=alias,
95
+ abbreviation=abbreviation,
96
+ authors=authors,
97
+ comments=comments,
98
+ custodians=custodians,
99
+ description=description,
100
+ digital_identifier=digital_identifier,
101
+ full_name=full_name,
102
+ has_terminology=has_terminology,
103
+ has_versions=has_versions,
104
+ homepage=homepage,
105
+ how_to_cite=how_to_cite,
106
+ is_input_to=is_input_to,
107
+ is_part_of=is_part_of,
108
+ learning_resources=learning_resources,
109
+ ontology_identifier=ontology_identifier,
110
+ short_name=short_name,
111
+ used_species=used_species,
112
+ versions=versions,
113
+ )