diff --git a/README.md b/README.md index 1ac508ba..4abeba84 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,34 @@ 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. + +> [!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/builder/update_openminds.py b/builder/update_openminds.py index 690c8b14..b5436dca 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,41 @@ "SlicingDeviceUsage": "usage", "PipetteUsage": "usage", "ElectrodeUsage": "usage", + "StaticMRIAcquisition": "usedIn", + "DynamicMRIAcquisition": "usedIn", + "MRICoilUsage": "usage", + "MRIScannerUsage": "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 +144,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 +172,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 +231,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 +258,10 @@ "studiedSpecimen": "hasStudyResultsIn", # "isPartOfStudy" "studiedState": "isStateOf", "studyTarget": "studiedIn", + "targetAnatomy": "isTargetOf", "targetIdentificationType": "isTypeOf", "technique": "usedIn", + "template": "isTemplateOf", "tissueBathSolution": "usedIn", "type": "isTypeOf", "typeOfUncertainty": "value", @@ -209,8 +270,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 +332,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 +661,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 +704,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 +736,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 +747,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 +761,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 +825,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 +872,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 +932,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 +1012,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 +1025,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 +1058,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 +1081,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 +1089,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 +1105,45 @@ 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") + sorted_modules = sorted(openminds_modules) + with open(version_init_path, "w") as fp: + fp.write(f"from . import ({', '.join(sorted_modules)})\n\n\n") + fp.write("def set_error_handling(value):\n") + fp.write( + ' """Set error handling for all openMINDS ' + f'{openminds_version} classes, across every submodule."""\n' + ) + fp.write(f" for module in ({', '.join(sorted_modules)}):\n") + fp.write(" module.set_error_handling(value)\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 +1151,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,15 +1160,6 @@ def main(openminds_root, ignore=[]): ] ) - init_file_path = os.path.join("..", "fairgraph", "openminds", "__init__.py") - sorted_modules = sorted(openminds_modules) - with open(init_file_path, "w") as fp: - fp.write(f"from . import ({', '.join(sorted_modules)})\n\n\n") - fp.write("def set_error_handling(value):\n") - fp.write(' """Set error handling for all openMINDS classes, across every submodule."""\n') - fp.write(f" for module in ({', '.join(sorted_modules)}):\n") - fp.write(" module.set_error_handling(value)\n") - # Format with Black subprocess.call([sys.executable, "-m", "black", "--quiet", target_path]) @@ -960,7 +1169,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/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..cf94b269 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, 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.:: >>> 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 bd9cabf0..468570ce 100644 --- a/doc/modules.rst +++ b/doc/modules.rst @@ -2,9 +2,36 @@ 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 + +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=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 +------------ .. toctree:: :hidden: @@ -19,8 +46,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 +72,65 @@ openMINDS :doc:`modules/openminds_publications` covers scientific publications, particularly interactive publications such as live papers. + + +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: + + 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_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/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/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..df12b8cf 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -3,6 +3,62 @@ Release notes ============= +Version 0.15.0 +============== + +**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:: + + 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. + +.. 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 +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 ============== diff --git a/fairgraph/__init__.py b/fairgraph/__init__.py index 1fd04148..3d489c68 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""" diff --git a/fairgraph/client.py b/fairgraph/client.py index d60f8bbe..3a62f153 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: @@ -732,7 +742,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/fairgraph/openminds/__init__.py b/fairgraph/openminds/__init__.py index de6ca124..77d8bda3 100644 --- a/fairgraph/openminds/__init__.py +++ b/fairgraph/openminds/__init__.py @@ -1,17 +1,52 @@ -from . import chemicals, computation, controlled_terms, core, ephys, publications, sands, specimen_prep, stimulation +import sys + +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 def set_error_handling(value): - """Set error handling for all openMINDS classes, across every submodule.""" - for module in ( - chemicals, - computation, - controlled_terms, - core, - ephys, - publications, - sands, - specimen_prep, - stimulation, - ): - module.set_error_handling(value) + """Set error handling for all openMINDS classes, in both v4 and v5.""" + for version_module in (v4, v5): + version_module.set_error_handling(value) + + +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/fairgraph/openminds/v4/__init__.py b/fairgraph/openminds/v4/__init__.py new file mode 100644 index 00000000..468c5b3e --- /dev/null +++ b/fairgraph/openminds/v4/__init__.py @@ -0,0 +1,17 @@ +from . import chemicals, computation, controlled_terms, core, ephys, publications, sands, specimen_prep, stimulation + + +def set_error_handling(value): + """Set error handling for all openMINDS v4 classes, across every submodule.""" + for module in ( + chemicals, + computation, + controlled_terms, + core, + ephys, + publications, + sands, + specimen_prep, + stimulation, + ): + module.set_error_handling(value) 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 ffb8d28c..15658696 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 a542b394..c3015c8a 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 42f0065e..e5f798a0 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..1ca20195 --- /dev/null +++ b/fairgraph/openminds/v5/__init__.py @@ -0,0 +1,29 @@ +from . import ( + chemicals, + computation, + controlled_terms, + core, + ephys, + neuroimaging, + publications, + sands, + specimen_prep, + stimulation, +) + + +def set_error_handling(value): + """Set error handling for all openMINDS v5 classes, across every submodule.""" + for module in ( + chemicals, + computation, + controlled_terms, + core, + ephys, + neuroimaging, + publications, + sands, + specimen_prep, + stimulation, + ): + module.set_error_handling(value) diff --git a/fairgraph/openminds/v5/chemicals/__init__.py b/fairgraph/openminds/v5/chemicals/__init__.py new file mode 100644 index 00000000..4c2ad790 --- /dev/null +++ b/fairgraph/openminds/v5/chemicals/__init__.py @@ -0,0 +1,33 @@ +import sys +from fairgraph.introspection 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..622dc808 --- /dev/null +++ b/fairgraph/openminds/v5/computation/__init__.py @@ -0,0 +1,47 @@ +import sys +from fairgraph.introspection 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..7a1206e3 --- /dev/null +++ b/fairgraph/openminds/v5/controlled_terms/__init__.py @@ -0,0 +1,141 @@ +import sys +from fairgraph.introspection 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..f992ea88 --- /dev/null +++ b/fairgraph/openminds/v5/core/__init__.py @@ -0,0 +1,117 @@ +import sys +from fairgraph.introspection 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..089f94fa --- /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/buckets" + ): + 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..b50421fd --- /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/buckets" + ): + 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..7e554ac9 --- /dev/null +++ b/fairgraph/openminds/v5/ephys/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.introspection 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..4f3def2a --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.introspection 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..ac8cae27 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/device/mri_scanner.py @@ -0,0 +1,71 @@ +""" + +""" + +# 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'", + ), + Property( + "usage", + "openminds.v5.neuroimaging.MRIScannerUsage", + "device", + reverse="device", + multiple=True, + description="reverse of 'device'", + ), + ] + 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, + 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, + magnetic_field_strength=magnetic_field_strength, + serial_number=serial_number, + type=type, + usage=usage, + ) 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..aca9b9e3 --- /dev/null +++ b/fairgraph/openminds/v5/neuroimaging/device/mri_scanner_usage.py @@ -0,0 +1,158 @@ +""" + +""" + +# 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, + device=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, + device=device, + 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..865c0220 --- /dev/null +++ b/fairgraph/openminds/v5/publications/__init__.py @@ -0,0 +1,40 @@ +import sys +from fairgraph.introspection 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..b8a697f5 --- /dev/null +++ b/fairgraph/openminds/v5/publications/scholarly_article.py @@ -0,0 +1,155 @@ +""" + +""" + +# 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 + if not isinstance(journal, Periodical): + journal = journal.resolve(client, release_status=self.release_status) + 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 "" + year = self.publication_date.year if self.publication_date else "unpublished?" + return f"{author_str} ({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..a99c839c --- /dev/null +++ b/fairgraph/openminds/v5/sands/__init__.py @@ -0,0 +1,74 @@ +import sys +from fairgraph.introspection 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..7fa1b126 --- /dev/null +++ b/fairgraph/openminds/v5/specimen_prep/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.introspection 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..d3c338fc --- /dev/null +++ b/fairgraph/openminds/v5/stimulation/__init__.py @@ -0,0 +1,31 @@ +import sys +from fairgraph.introspection 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..d0cbfa10 --- /dev/null +++ b/test/test_openminds_versions.py @@ -0,0 +1,209 @@ +""" +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(): + """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_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 + 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 + + +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 04552191..8158bcb9 100644 --- a/test/utils.py +++ b/test/utils.py @@ -4,6 +4,8 @@ from typing import Optional from requests.exceptions import RequestException, SSLError + +from fairgraph.base import OPENMINDS_VERSION from fairgraph.client import KGClient from fairgraph.errors import AuthenticationError, AuthorizationError @@ -64,7 +66,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 = {}