diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d5c875cb..3b142f71 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,12 +8,12 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install dependencies diff --git a/builder/README.md b/builder/README.md index 30916bdf..eeadae7e 100644 --- a/builder/README.md +++ b/builder/README.md @@ -3,10 +3,10 @@ To update the `fairgraph.openminds` module, run: ``` -python update_openminds.py /path/to/openMINDS +python update_openminds.py /path/to/openMINDS/schemas/latest ``` -Where the various submodules have already been cloned and the desired version branches checked out. +Where /path/to/openMINDS is a clone of the main branch of https://github.com/openMetadataInitiative/openMINDS.git Before committing the resulting generated files, check that any changed introduced seem correct. Currently a few changes are applied by hand on top of the generated files, be sure not to overwrite these. diff --git a/builder/fairgraph_module_template.py.txt b/builder/fairgraph_module_template.py.txt index 0187d8b2..7b7e9335 100644 --- a/builder/fairgraph_module_template.py.txt +++ b/builder/fairgraph_module_template.py.txt @@ -4,28 +4,22 @@ # this file was auto-generated -from fairgraph import {{ base_class }}, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.{{ openminds_version }}.{{ module_name }} import {{ class_name }} as OM{{ class_name }} +from fairgraph import {{ base_class }} {{preamble}} -class {{ class_name }}({{ base_class }}): +class {{ class_name }}({{base_class}}, OM{{ class_name }}): """ {{ docstring }} """ + type_ = "{{ openminds_type }}" {%- if default_space %} default_space = "{{ default_space }}" {%- endif %} - type_ = "{{ openminds_type }}" - properties = [ - {% for prop in properties -%} - Property("{{prop.name}}", {{prop.type_str}}, "{{prop.iri}}", - {%- if prop.allow_multiple %}multiple={{prop.allow_multiple}},{% endif -%} - {%- if prop.required %}required={{prop.required}},{% endif -%} - doc="{{prop.doc}}"), - {% endfor %} - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ {% for prop in reverse_properties -%} Property( @@ -42,7 +36,7 @@ class {{ class_name }}({{ base_class }}): {% endif -%} {%- if prop.allow_multiple %}multiple={{prop.allow_multiple}},{% endif -%} {%- if prop.required %}, required={{prop.required}},{% endif -%} - doc="{{prop.doc}}"), + description="{{prop.doc}}"), {% endfor %} ] {%- if aliases %} @@ -53,5 +47,5 @@ class {{ class_name }}({{ base_class }}): {%- endif %} def __init__(self {%- for arg in constructor_arguments -%}, {{arg}}=None{%- endfor -%}, id=None, data=None, space=None, scope=None): - return super().__init__({{ standard_init_properties }}data=data {%- for arg in constructor_arguments -%}, {{arg}}={{arg}}{%- endfor -%}) + return {{ base_class }}.__init__(self, {{ standard_init_properties }}data=data {%- for arg in constructor_arguments -%}, {{arg}}={{arg}}{%- endfor -%}) {{ additional_methods }} diff --git a/builder/update_openminds.py b/builder/update_openminds.py index 8dd573aa..192dc44f 100644 --- a/builder/update_openminds.py +++ b/builder/update_openminds.py @@ -11,6 +11,7 @@ from jinja2 import Environment, select_autoescape, FileSystemLoader +OPENMINDS_VERSION = "latest" name_map = { "scope": "model_scope", # this is because 'scope' is already a keyword @@ -275,7 +276,7 @@ def invert_dict(D): DEFAULT_SPACES = { - "chemicals": {"default": "dataset"}, + "chemicals": {"default": "in-depth"}, "core": invert_dict( { "common": [ @@ -387,7 +388,6 @@ def invert_dict(D): ), "publications": {"default": "livepapers"}, "ephys": {"default": "in-depth"}, - "chemicals": {"default": "in-depth"}, "specimen_prep": {"default": "in-depth"}, "stimulation": {"default": "in-depth"}, } @@ -489,7 +489,7 @@ def generate_class_name(iri, module_map=None): assert isinstance(iri, str) class_name = iri.split("/")[-1] module_name = generate_python_name(module_map[iri]) - return f"openminds.{module_name}.{class_name}" + return f"openminds.{OPENMINDS_VERSION}.{module_name}.{class_name}" def get_controlled_terms_table(type_): @@ -586,17 +586,6 @@ def get_controlled_terms_table(type_): } -def get_type_from_schema(schema_payload, override=True): - if override: # temporarily use the old namespaces, until the KG is updated - cls_name = schema_payload["_type"].split("/")[-1] - module_name = schema_payload['_module'] - if module_name == "SANDS": - module_name = "sands" - return f"https://openminds.ebrains.eu/{module_name}/{cls_name}" - else: - return schema_payload["_type"] - - class FairgraphClassBuilder: """docstring""" @@ -631,7 +620,6 @@ def get_type(prop): "email": "str", # todo: add an Email class for validation? "ECMA262": "str", # ... } - #breakpoint() if "_linkedTypes" in prop: types = [] for item in prop["_linkedTypes"]: @@ -697,7 +685,7 @@ def get_type(prop): { "name": python_name, "type_str": get_type(prop), # compress using JSON-LD context - "iri": f"vocab:{prop['name']}", + "iri": f"{prop['name']}", "allow_multiple": allow_multiple, "required": iri in self._schema_payload.get("required", []), "doc": generate_doc(prop, class_name), @@ -732,7 +720,7 @@ def get_type(prop): # todo: we should fix this at some point, using just the first forward_link_name causes things to break # making this a dictionary keyed by class names should work? _forward_link_name_python = generate_python_name(forward_link_name) - iri = f"^vocab:{forward_iri}" + iri = forward_iri doc = f"reverse of '{_forward_link_name_python}'" types_str = sorted(types_str) if len(types_str) == 1: @@ -749,7 +737,7 @@ def get_type(prop): forward_iri = linked_from[reverse_link_name][0] forward_link_name = linked_from[reverse_link_name][1] _forward_link_name_python = [generate_python_name(name) for name in forward_link_name] - iri = [f"^vocab:{part}" for part in forward_iri] + iri = [part for part in forward_iri] doc = "reverse of " + ", ".join(name for name in _forward_link_name_python) reverse_name_python = generate_python_name(reverse_link_name) if reverse_name_python in forward_property_names: @@ -777,12 +765,14 @@ 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, "docstring": self._schema_payload.get("description", ""), "base_class": base_class, "preamble": preamble.get(class_name, ""), # default value, may be updated below + "module_name": module_name, "class_name": class_name, "default_space": default_space, - "openminds_type": get_type_from_schema(self._schema_payload, override=True), + "openminds_type": self._schema_payload["_type"], "properties": sorted(properties, key=lambda p: p["name"]), "reverse_properties": sorted(reverse_properties, key=lambda p: p["name"]), "additional_methods": "", @@ -799,7 +789,7 @@ def get_type(prop): "date": "from datetime import date", "datetime": "from datetime import datetime", "time": "from datetime import time", - "IRI": "from fairgraph.base import IRI", + "IRI": "from openminds import IRI", "[datetime, time]": "from datetime import datetime, time", "Real": "from numbers import Real" } @@ -849,7 +839,6 @@ def get_edges(self): reverse_link_name, ) # linked from (cls, prop name, prop name plural, reverse name) # if self._schema_payload["_type"].endswith("File"): - # breakpoint() return embedded, linked def get_module_map(self): diff --git a/fairgraph/__init__.py b/fairgraph/__init__.py index c4a82616..8c809144 100644 --- a/fairgraph/__init__.py +++ b/fairgraph/__init__.py @@ -19,14 +19,24 @@ limitations under the License. """ +from openminds import IRI from .client import KGClient from .kgobject import KGObject from .embedded import EmbeddedMetadata from .kgproxy import KGProxy from .kgquery import KGQuery -from .base import IRI +from . import client, errors, openminds, utility __version__ = "0.12.2" -# from . import ( -# base, client, errors, utility, openminds) +utility.initialise_instances([ + openminds.sands.BrainAtlas, + openminds.sands.BrainAtlasVersion, + openminds.sands.CommonCoordinateSpace, + openminds.sands.CommonCoordinateSpaceVersion, + openminds.core.ContentType, + openminds.core.License, + openminds.sands.ParcellationEntity, + openminds.sands.ParcellationEntityVersion] + + openminds.controlled_terms.list_kg_classes() +) diff --git a/fairgraph/base.py b/fairgraph/base.py index 4e254b04..0559fb64 100644 --- a/fairgraph/base.py +++ b/fairgraph/base.py @@ -19,42 +19,22 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Optional, Dict, List, Union, Any -from typing_extensions import TypeAlias -from copy import copy +from typing import TYPE_CHECKING, Optional, Dict, List, Any from enum import Enum import logging from warnings import warn -from .registry import Registry -from .queries import QueryProperty -from .errors import ResolutionFailure, AuthorizationError, CannotBuildExistenceQuery -from .utility import ( - as_list, # temporary for backwards compatibility (a lot of code imports it from here) - expand_uri, - normalize_data, - invert_dict, - types_match -) +from .errors import AuthorizationError if TYPE_CHECKING: from .client import KGClient - from .properties import Property - from .utility import ActivityLog + +OPENMINDS_VERSION = "latest" logger = logging.getLogger("fairgraph") JSONdict = Dict[str, Any] # see https://github.com/python/typing/issues/182 for some possible improvements -default_context = { - "v3": { - "vocab": "https://openminds.ebrains.eu/vocab/", - }, - "v4": { - "vocab": "https://openminds.om-i.org/props/" - } -} - class ErrorHandling(str, Enum): error = "error" @@ -83,427 +63,6 @@ def resolve( pass -class ContainsMetadata(Resolvable, metaclass=Registry): # KGObject and EmbeddedMetadata - properties: List[Property] - reverse_properties: List[Property] - context: Dict[str, str] = default_context["v3"] - type_: str - scope: Optional[str] - space: Union[str, None] - default_space: Union[str, None] - remote_data: Optional[JSONdict] - aliases: Dict[str, str] = {} - - def __init__(self, data: Optional[Dict] = None, **properties): - properties_copy = copy(properties) - for prop in self.__class__.all_properties: - try: - val = properties[prop.name] - except KeyError: - if prop.required: - msg = "Property '{}' is required.".format(prop.name) - ErrorHandling.handle_violation(prop.error_handling, msg) - val = None - else: - properties_copy.pop(prop.name) - if val is None: - val = prop.default - if callable(val): - val = val() - elif isinstance(val, (list, tuple)) and len(val) == 0: # empty list - val = None - setattr(self, prop.name, val) - for name_, alias_ in self.aliases.items(): - # the trailing underscores are because 'name' and 'alias' can be keys in 'properties' - if name_ in properties_copy: - val = properties_copy.pop(name_) - if val is not None: - if properties.get(alias_, None): - raise ValueError(f"'{name_}' is an alias for '{alias_}', you cannot specify both") - setattr(self, alias_, val) - if len(properties_copy) > 0: - if len(properties_copy) == 1: - raise NameError(f'{self.__class__.__name__} does not have a property named "{list(properties_copy)[0]}".') - else: - raise NameError( - f"""{self.__class__.__name__} does not have properties named "{'", "'.join(properties_copy)}".""" - ) - - # we store the original remote data in `_raw_remote_data` - # and a normalized version in `remote_data` - self._raw_remote_data = data # for debugging - self.remote_data = {} - if data: - self.remote_data = self.to_jsonld(include_empty_properties=True, follow_links=False) - - def __getattribute__(self, name): - try: - return object.__getattribute__(self, name) - except AttributeError: - if name in self.aliases: - return object.__getattribute__(self, self.aliases[name]) - else: - raise - - def __setattr__(self, name, value): - try: - prop = self._property_lookup[name] - except KeyError: - if name in self.aliases: - setattr(self, self.aliases[name], value) - else: - super().__setattr__(name, value) - else: - prop.check_value(value) - super().__setattr__(name, value) - - @classmethod - def get_property(cls, name): - return cls._property_lookup[name] - - def to_jsonld( - self, - normalized: bool = True, - follow_links: bool = False, - include_empty_properties: bool = False, - include_reverse_properties: bool = False, - ): - """ - Return a JSON-LD representation of this metadata object - - Args: - normalized (bool): Whether to expand all URIs. Defaults to True. - follow_links (bool, optional): Whether to represent linked objects just by their "@id" - or to include their full metadata. Defaults to False. - include_empty_properties (bool, optional): Whether to include empty properties (with value "null"). - Defaults to False. - - """ - if self.properties: - data: JSONdict = {"@type": [self.type_]} - if hasattr(self, "id") and self.id: - data["@id"] = self.id - for prop in self.__class__.all_properties: - if prop.intrinsic or include_reverse_properties: - expanded_path = prop.expanded_path - value = getattr(self, prop.name) - if include_empty_properties or prop.required or value is not None: - serialized = prop.serialize(value, follow_links=follow_links) - if expanded_path in data: - if isinstance(data[expanded_path], list): - data[expanded_path].append(serialized) - else: - data[expanded_path] = [data[expanded_path], serialized] - else: - data[expanded_path] = serialized - if normalized: - return normalize_data(data, self.context) - else: - return data - else: - raise NotImplementedError("to be implemented by child classes") - - @classmethod - def from_jsonld(cls, data: JSONdict, client: KGClient, scope: Optional[str] = None): - """ - Create an instance of the class from a JSON-LD document. - """ - if scope: - return cls.from_kg_instance(data, client, scope) - else: - return cls.from_kg_instance(data, client) - - @classmethod - def from_kg_instance(cls, data: JSONdict, client: KGClient, scope: Optional[str] = None) -> ContainsMetadata: - pass - - def save( - self, - client: KGClient, - space: Optional[str] = None, - recursive: bool = True, - activity_log: Optional[ActivityLog] = None, - replace: bool = False, - ignore_auth_errors: bool = False, - ignore_duplicates: bool = False - ): - pass - - @classmethod - def set_error_handling( - cls, value: Union[ErrorHandling, None], property_names: Optional[Union[str, List[str]]] = None - ): - """ - Control validation for this class. - - 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 - property_names (str or list of str, optional): If not provided, the error handling - mode will be applied to all properties. If a property name or list of names is given, - the mode will be applied only to those properties. - """ - if value is None: - value = ErrorHandling.none - else: - value = ErrorHandling(value) - if property_names: - for property_name in as_list(property_names): - try: - prop = cls._property_lookup[property_name] - except KeyError: - raise ValueError("No such property: {}".format(property_name)) - else: - prop.error_handling = value - else: - for prop in cls.all_properties: - prop.error_handling = value - - @classmethod - def normalize_filter(cls, filter_dict: Dict[str, Any]) -> Dict[str, Any]: - """ - Normalize a dict containing filter key:value pairs so that it can be used - in a call to the KG query API. - - Example: - >>> import fairgraph.openminds.core as omcore - >>> person = omcore.Person.from_uuid("045f846f-f010-4db8-97b9-b95b20970bf2", kg_client) - >>> filter_dict = {"custodians": person, "name": "Virtual"} - >>> omcore.Dataset.normalize_filter(filter_dict) - {'name': 'Virtual', - 'custodians': 'https://kg.ebrains.eu/api/instances/045f846f-f010-4db8-97b9-b95b20970bf2'} - """ - normalized = {} - filter_dict_copy = filter_dict.copy() - - # handle aliases - for name_, alias_ in cls.aliases.items(): - if name_ in filter_dict_copy: - filter_dict_copy[alias_] = filter_dict_copy.pop(name_) - - for prop in cls.all_properties: - if prop.name in filter_dict_copy: - value = filter_dict_copy[prop.name] - if isinstance(value, dict): - normalized[prop.name] = {} - for child_cls in prop.types: - normalized[prop.name].update(child_cls.normalize_filter(value)) - else: - normalized[prop.name] = prop.get_filter_value(value) - return normalized - - @classmethod - def generate_query_properties(cls, follow_links: Optional[Dict[str, Any]] = None): - """ - Generate a list of QueryProperty instances for this class - for use in constructing a KG query definition. - - Args: - follow_links (dict): The links in the graph to follow when constructing the query. Defaults to None. - """ - if issubclass(cls, RepresentsSingleObject): # KGObject - properties = [ - QueryProperty("https://core.kg.ebrains.eu/vocab/meta/space", name="query:space"), - QueryProperty("@type"), - ] - else: # EmbeddedMetadata - properties = [ - QueryProperty("@type"), - ] - reverse_aliases = invert_dict(cls.aliases) - for prop in cls.all_properties: - if prop.is_link and follow_links: - if prop.name in follow_links: - properties.extend(prop.get_query_properties(follow_links[prop.name])) - elif reverse_aliases.get(prop.name, None) in follow_links: - properties.extend(prop.get_query_properties(follow_links[reverse_aliases[prop.name]])) - else: - properties.extend(prop.get_query_properties()) - else: - properties.extend(prop.get_query_properties()) - return properties - - @classmethod - def generate_query_filter_properties( - cls, - filters: Optional[Dict[str, Any]] = None, - ): - """ - - Args: - filters (dict, optional): A dict containing search parameters for the query. - """ - if filters is None: - filters = {} - properties = [] - for prop in cls.all_properties: - if prop.name in filters: - properties.append(prop.get_query_filter_property(filters[prop.name])) - return properties - - @classmethod - def _deserialize_data(cls, data: JSONdict, client: KGClient, include_id: bool = False): - # check types match - if cls.type_ not in data["@type"]: - if types_match(cls.type_, data["@type"][0]): - cls.type_ = data["@type"][0] - else: - raise TypeError("type mismatch {} - {}".format(cls.type_, data["@type"])) - - # normalize data by expanding keys - context = copy(cls.context) - if "om-i.org" in cls.type_: - context["vocab"] = default_context["v4"]["vocab"] - else: - context["vocab"] = default_context["v3"]["vocab"] - - D = {"@type": data["@type"]} - if include_id: - D["@id"] = data["@id"] - for key, value in data.items(): - if "__" in key: - key, type_filter = key.split("__") - normalised_key = expand_uri(key, context) - value = [item for item in as_list(value) if item["@type"][0].endswith(type_filter)] - if normalised_key in D: - D[normalised_key].extend(value) - else: - D[normalised_key] = value - elif key.startswith("Q"): # for 'Q' properties in data from queries - D[key] = value - elif key[0] != "@": - normalised_key = expand_uri(key, context) - D[normalised_key] = value - - def _get_type_from_data(data_item): - type_ = data_item.get("@type", None) - if type_: - return type_[0] - else: - return None - - deserialized_data = {} - for prop in cls.all_properties: - expanded_path = expand_uri(prop.path, context) - data_item = D.get(expanded_path) - if data_item is not None and prop.reverse: - # for reverse properties, more than one property can have the same path - # so we extract only those sub-items whose types match - try: - data_item = [ - part for part in as_list(data_item) - if _get_type_from_data(part) in [t.type_ for t in prop.types] - ] - except AttributeError: - # problem when a forward and reverse path both given the same expanded path - # e.g. for Configuration - data_item = None - # sometimes queries put single items in a list, this removes the enclosing list - if (not prop.multiple) and isinstance(data_item, (list, tuple)) and len(data_item) == 1: - data_item = data_item[0] - deserialized_data[prop.name] = prop.deserialize(data_item, client, belongs_to=data.get("@id", None)) - return deserialized_data - - def resolve( - self, - client: KGClient, - scope: Optional[str] = None, - use_cache: bool = True, - follow_links: Optional[Dict[str, Any]] = None, - ): - """ - Resolve properties that are represented by KGProxy objects. - - Args: - client: KGClient object that handles the communication with the KG. - scope (str): The scope of instances to include in the response. - Valid values are 'released', 'in progress', 'any'. - use_cache (bool): whether to use cached data if they exist. Defaults to True. - follow_links (dict): The links in the graph to follow. Defaults to None. - - Note: a real (non-proxy) object resolves to itself. - """ - use_scope = scope or self.scope or "released" - if follow_links: - reverse_aliases = invert_dict(self.__class__.aliases) - for prop in self.__class__.all_properties: - if prop.is_link: - follow_name = None - if prop.name in follow_links: - follow_name = prop.name - elif reverse_aliases.get(prop.name, None) in follow_links: - follow_name = reverse_aliases[prop.name] - - if follow_name: - if issubclass(prop.types[0], ContainsMetadata): - values = getattr(self, prop.name) - resolved_values: List[Any] = [] - for value in as_list(values): - if isinstance(value, Resolvable): - if isinstance(value, ContainsMetadata) and isinstance(value, RepresentsSingleObject): - # i.e. isinstance(value, KGObject) - already resolved - resolved_values.append(value) - else: - try: - resolved_value = value.resolve( - client, - scope=use_scope, - use_cache=use_cache, - follow_links=follow_links[follow_name], - ) - except ResolutionFailure as err: - warn(str(err)) - resolved_values.append(value) - else: - resolved_values.append(resolved_value) - if isinstance(values, RepresentsSingleObject): - assert len(resolved_values) == 1 - setattr(self, prop.name, resolved_values[0]) - elif values is None: - assert len(resolved_values) == 0 - setattr(self, prop.name, None) - else: - setattr(self, prop.name, resolved_values) - return self - - def _build_existence_query(self) -> Union[None, Dict[str, Any]]: - """ - Generate a KG query definition (as a JSON-LD document) that can be used to - check whether a locally-defined object (with no ID) already exists in the KG. - """ - if self.existence_query_properties is None: - return None - - query_properties = [] - for property_name in self.existence_query_properties: - for property in self.__class__.all_properties: - if property.name == property_name: - query_properties.append(property) - break - if len(query_properties) < 1: - raise CannotBuildExistenceQuery("Empty existence query for class {}".format(self.__class__.__name__)) - query = {} - for property in query_properties: - query_property_name = property.name - value = getattr(self, property.name) - if isinstance(value, ContainsMetadata): - if hasattr(value, "id") and value.id: - query[query_property_name] = value.id - else: - sub_query = value._build_existence_query() - query.update({f"{query_property_name}__{key}": val for key, val in sub_query.items()}) - elif isinstance(value, (list, tuple)): - raise CannotBuildExistenceQuery("not implemented yet") - elif value is None: - raise CannotBuildExistenceQuery(f"Required value for '{query_property_name}' is missing") - else: - query_val = property.serialize(value, follow_links=False) - if query_val is None: - raise CannotBuildExistenceQuery(f"Required value for '{query_property_name}' is missing") - query[query_property_name] = query_val - return query - class RepresentsSingleObject(Resolvable): # KGObject, KGProxy id: Optional[str] remote_data: Optional[JSONdict] @@ -543,26 +102,3 @@ def unrelease(self, client: KGClient, with_children: bool = False): class SupportsQuerying: # KGObject, KGQuery pass - - -class IRI: - def __init__(self, value: Union[str, IRI]): - if isinstance(value, IRI): - iri = value.value - else: - iri = value - if not iri.startswith("http"): - raise ValueError(f"Invalid IRI: '{iri}'") - self.value: str = iri - - def __eq__(self, other): - return self.__class__ == other.__class__ and self.value == other.value - - def __repr__(self): - return f"IRI({self.value})" - - def __str__(self): - return self.value - - def to_jsonld(self): - return self.value diff --git a/fairgraph/client.py b/fairgraph/client.py index 05803ffa..971a903c 100644 --- a/fairgraph/client.py +++ b/fairgraph/client.py @@ -19,6 +19,7 @@ # limitations under the License. from __future__ import annotations +from copy import deepcopy import os import logging from typing import Any, Dict, Iterable, List, Optional, Union, TYPE_CHECKING @@ -33,9 +34,11 @@ except ImportError: have_kg_core = False +from openminds.registry import lookup_type + from .errors import AuthenticationError, AuthorizationError, ResourceExistsError -from .registry import lookup_type -from .queries import migrate_query +from .utility import adapt_namespaces_for_query, adapt_namespaces_3to4, adapt_namespaces_4to3, adapt_type_4to3 +from .base import OPENMINDS_VERSION if TYPE_CHECKING: from .kgobject import KGObject @@ -133,7 +136,7 @@ def __init__( self.cache: Dict[str, JsonLdDocument] = {} self._query_cache: Dict[str, str] = {} self.accepted_terms_of_use = False - self.migrated = None + self._migrated = None @property def _kg_admin_client(self): @@ -182,8 +185,25 @@ def _check_response( else: raise Exception(f"Error: {response.error} {error_context}") else: + if self.migrated is False: + adapt_namespaces_3to4(response.data) return response + @property + def migrated(self): + # This is a temporary work-around for use during the transitional period + # from openMINDS v3 to v4 (change of namespace) + if self._migrated is None: + self._migrated = True # to stop the call to _check_response() in instance_from_full_uri from recurring + + # This is the released controlled term for "left handedness", which should be accessible to everyone + result = self.instance_from_full_uri("https://kg.ebrains.eu/api/instances/92631f2e-fc6e-4122-8015-a0731c67f66c", scope="released") + if "om-i.org" in result["@type"]: + self._migrated = True + else: + self._migrated = False + return self._migrated + def query( self, query: Dict[str, Any], @@ -215,19 +235,6 @@ def query( along with metadata about the query results such as total number of instances, and pagination information. """ - # the following section is a temporary work-around for use during the transitional period - # from openMINDS v3 to v4 (change of namespace) - if self.migrated is None: - # this is the released controlled term for "left handedness", which should be accessible to everyone - result = self.instance_from_full_uri("https://kg.ebrains.eu/api/instances/92631f2e-fc6e-4122-8015-a0731c67f66c", scope="released") - if "om-i.org" in result["@type"]: - self.migrated = True - else: - self.migrated = False - - if self.migrated: - query = migrate_query(query) - query_id = query.get("@id", None) if use_stored_query: @@ -247,6 +254,8 @@ def _query(scope, from_index, size): ) else: + if self.migrated is False: + query = adapt_namespaces_for_query(query) def _query(scope, from_index, size): response = self._kg_client.queries.test_query( @@ -281,9 +290,9 @@ def _query(scope, from_index, size): response.data = list(instances.values())[from_index : from_index + size] response.size = len(response.data) response.total = len(instances) - return response else: - return _query(scope, from_index, size) + response = _query(scope, from_index, size) + return response def list( self, @@ -310,6 +319,9 @@ def list( along with metadata about the query results such as total number of instances, and pagination information. """ + if self.migrated is False: + target_type = adapt_type_4to3(target_type) + def _list(scope, from_index, size): response = self._kg_client.instances.list( stage=STAGE_MAP[scope], @@ -365,20 +377,43 @@ def instance_from_full_uri( logger.debug("Retrieving instance {} from cache".format(uri)) data = self.cache[uri] else: - def _get_instance(scope): - response = self._kg_client.instances.get_by_id( - stage=STAGE_MAP[scope], - instance_id=self.uuid_from_uri(uri), - extended_response_configuration=default_response_configuration, - ) error_context = f"_get_instance(scope={scope} uri={uri})" - response = self._check_response(response, error_context=error_context, ignore_not_found=True) - if response.error: - assert response.error.code == 404 # all other errors should have been trapped by the check - data = None + # Normal KG URIs start with https://kg.ebrains.eu/api/instances/ with a UUID + # but for openMINDS controlled terms we may have the openMINDS URI + # of the form https://openminds.ebrains.eu/instances/ageCategory/juvenile (v3) + # or https://openminds.om-i.org/instances/ageCategory/juvenile (v4) + # We use different query methods for these different cases. + kg_namespace = self._kg_client.instances._kg_config.id_namespace + if uri.startswith(kg_namespace): + response = self._kg_client.instances.get_by_id( + stage=STAGE_MAP[scope], + instance_id=self.uuid_from_uri(uri), + extended_response_configuration=default_response_configuration, + ) + response = self._check_response(response, error_context=error_context, ignore_not_found=True) + if response.error: + assert response.error.code == 404 # all other errors should have been trapped by the check + data = None + else: + data = response.data + elif uri.startswith("https://openminds.om-i.org/instances") or uri.startswith("https://openminds.ebrains.eu/instances"): + if self.migrated and uri.startswith("https://openminds.ebrains.eu"): + payload = [uri.replace("ebrains.eu", "om-i.org")] + elif uri.startswith("https://openminds.om-i.org"): + payload = [uri.replace("om-i.org", "ebrains.eu")] + else: + payload = [uri] + response = self._kg_client.instances.get_by_identifiers( + stage=STAGE_MAP[scope], + payload=payload, + extended_response_configuration=default_response_configuration, + ) + # todo: handle errors + data = response.data[payload[0]].data else: - data = response.data + raise Exception(f"This client cannot retrieve instances from {uri}") + # in some circumstances, the KG returns "minimal" metadata, # e.g. with just the id and fullName properties # this means the user does not have full access, so we count this as no data @@ -413,6 +448,9 @@ def create_new_instance( """ if "'@id': None" in str(data): raise ValueError("payload contains undefined ids") + if self.migrated is False: + data = deepcopy(data) + adapt_namespaces_4to3(data) if instance_id: response = self._kg_client.instances.create_new_with_id( space=space, @@ -437,6 +475,9 @@ def update_instance(self, instance_id: str, data: JsonLdDocument) -> JsonLdDocum instance_id (UUID): the instance's persistent identifier. data (dict): a JSON-LD document that modifies some or all of the data of the existing instance. """ + if self.migrated is False: + data = deepcopy(data) + adapt_namespaces_4to3(data) response = self._kg_client.instances.contribute_to_partial_replacement( instance_id=instance_id, payload=data, @@ -453,6 +494,9 @@ def replace_instance(self, instance_id: str, data: JsonLdDocument) -> JsonLdDocu instance_id (UUID): the instance's persistent identifier. data (dict): a JSON-LD document that will replace the existing instance. """ + if self.migrated is False: + data = deepcopy(data) + adapt_namespaces_4to3(data) response = self._kg_client.instances.contribute_to_full_replacement( instance_id=instance_id, payload=data, @@ -638,11 +682,15 @@ def configure_space(self, space_name: Optional[str] = None, types: Optional[List result = self._kg_admin_client.create_space_definition(space=space_name) if result: # error err_msg = f"Unable to configure KG space for space '{space_name}': {result}" - if not space_name.startswith("collab="): + if not space_name.startswith("collab-"): err_msg += f". If you are trying to configure a collab space, ensure the space name starts with 'collab-'" raise Exception(err_msg) for cls in types: - result = self._kg_admin_client.assign_type_to_space(space=space_name, target_type=cls.type_) + if self.migrated: + target_type = cls.type_ + else: + target_type = adapt_type_4to3(cls.type_) + result = self._kg_admin_client.assign_type_to_space(space=space_name, target_type=target_type) if result: # error raise Exception(f"Unable to assign {cls.__name__} to space {space_name}: {result}") return space_name @@ -665,13 +713,20 @@ def space_info(self, space_name: str, scope: str = "released", ignore_errors: bo The return format is a dictionary whose keys are classes and the values are the number of instances of each class in the given spaces. """ + # todo: if not self.migrated, adapt type before lookup result = self._kg_client.types.list(space=space_name, stage=STAGE_MAP[scope]) if result.error: raise Exception(result.error) response = {} for item in result.data: + if self.migrated: + type_iri = item.identifier + else: + type_ = {"@type": item.identifier} + adapt_namespaces_3to4(type_) + type_iri = type_["@type"] try: - cls = lookup_type(item.identifier) + cls = lookup_type(type_iri, OPENMINDS_VERSION) except KeyError as err: ignore_list = [ "https://core.kg.ebrains.eu/vocab/type/Bookmark", @@ -702,12 +757,12 @@ def clean_space(self, space_name): for cls, count in space_info.items(): if count > 0 and hasattr(cls, "list"): # exclude embedded metadata instances print(f"Deleting {cls.__name__} instances", end="") - instances = cls.list(self, scope="in progress", space=space_name) - assert len(instances) <= count - for instance in instances: - assert instance.space == space_name + response = self.list(cls.type_, scope="in progress", space=space_name) + assert response.size <= count + for instance in response.data: + assert instance["https://core.kg.ebrains.eu/vocab/meta/space"] == space_name print(".", end="") - instance.delete(self, ignore_not_found=False) + self.delete_instance(self.uuid_from_uri(instance["@id"]), ignore_not_found=False) print() else: print(f"The space '{space_name}' is already clean") diff --git a/fairgraph/embedded.py b/fairgraph/embedded.py index a0725524..abe61d33 100644 --- a/fairgraph/embedded.py +++ b/fairgraph/embedded.py @@ -24,7 +24,8 @@ from warnings import warn from .utility import as_list, ActivityLog -from .base import Resolvable, ContainsMetadata, JSONdict +from .base import Resolvable, JSONdict +from .node import ContainsMetadata if TYPE_CHECKING: from .client import KGClient @@ -42,8 +43,6 @@ class EmbeddedMetadata(ContainsMetadata, Resolvable): properties: the metadata properties (property names and values) """ - properties = [] - def __init__(self, data: Optional[JSONdict] = None, **properties): super().__init__(data=data, **properties) @@ -61,21 +60,21 @@ def __repr__(self): template_parts = ( "{}={{self.{}!r}}".format(prop.name, prop.name) for prop in self.properties - if getattr(self, prop.name) is not None + if getattr(self, prop.name, None) is not None ) template = "{self.__class__.__name__}(" + ", ".join(template_parts) + ")" return template.format(self=self) def __eq__(self, other): - return isinstance(other, self.__class__) and self.to_jsonld() == other.to_jsonld() + return isinstance(other, self.__class__) and self.to_jsonld(embed_linked_nodes=False) == other.to_jsonld(embed_linked_nodes=False) @classmethod - def from_kg_instance(cls, data: JSONdict, client: KGClient) -> Union[None, EmbeddedMetadata]: + def from_jsonld(cls, data: JSONdict) -> Union[None, EmbeddedMetadata]: """Create an instance of the class from a JSON-LD document.""" if "@id" in data: warn("Expected embedded metadata, but received @id") return None - deserialized_data = cls._deserialize_data(data, client) + deserialized_data = cls._deserialize_data(data) return cls(data=data, **deserialized_data) def save( @@ -91,7 +90,6 @@ def save( Save to the KG any sub-components of the metadata object that are KGObjects. """ for prop in self.properties: - assert prop.intrinsic # embedded metadata should not contain any reverse properties values = getattr(self, prop.name) for value in as_list(values): if isinstance(value, ContainsMetadata): diff --git a/fairgraph/kgobject.py b/fairgraph/kgobject.py index 550ff9ea..e4c9a47a 100644 --- a/fairgraph/kgobject.py +++ b/fairgraph/kgobject.py @@ -33,12 +33,16 @@ have_tabulate = True except ImportError: have_tabulate = False -from .utility import expand_uri, as_list, expand_filter, ActivityLog -from .registry import lookup_type + +from openminds.registry import lookup_type +from openminds import IRI + +from .utility import expand_uri, as_list, expand_filter, ActivityLog, normalize_data from .queries import Query, QueryProperty from .errors import AuthorizationError, ResourceExistsError, CannotBuildExistenceQuery from .caching import object_cache, save_cache, generate_cache_key -from .base import RepresentsSingleObject, ContainsMetadata, SupportsQuerying, IRI, JSONdict +from .base import RepresentsSingleObject, SupportsQuerying, JSONdict, OPENMINDS_VERSION +from .node import ContainsMetadata from .kgproxy import KGProxy from .kgquery import KGQuery @@ -57,7 +61,6 @@ class KGObject(ContainsMetadata, RepresentsSingleObject, SupportsQuerying): Should not be instantiated directly, intended to be subclassed. """ - properties: List[Property] = [] existence_query_properties: Tuple[str, ...] = ("name",) # Note that this default value of existence_query_properties should in # many cases be over-ridden. @@ -88,7 +91,7 @@ def __repr__(self): template_parts = ( "{}={{self.{}!r}}".format(prop.name, prop.name) for prop in self.__class__.all_properties - if getattr(self, prop.name) is not None + if getattr(self, prop.name, None) is not None ) template = "{self.__class__.__name__}(" + ", ".join(template_parts) + ", space={self.space}, id={self.id})" return template.format(self=self) @@ -103,9 +106,9 @@ def space(self) -> Union[str, None]: return self._space @classmethod - def from_kg_instance(cls, data: JSONdict, client: KGClient, scope: Optional[str] = None): + def from_jsonld(cls, data: JSONdict, scope: Optional[str] = None) -> KGObject: """Create an instance of the class from a JSON-LD document.""" - deserialized_data = cls._deserialize_data(data, client, include_id=True) + deserialized_data = cls._deserialize_data(data, include_id=True) return cls(id=data["@id"], data=data, scope=scope, **deserialized_data) # @classmethod @@ -135,6 +138,7 @@ def from_uri( use_cache: bool = True, scope: str = "released", follow_links: Optional[Dict[str, Any]] = None, + with_reverse_properties: Optional[bool] = False, ): """ Retrieve an instance from the Knowledge Graph based on its URI. @@ -146,14 +150,19 @@ def from_uri( Defaults to "released". use_cache (bool): Whether to use cached data if they exist. Defaults to True. follow_links (dict): The links in the graph to follow. Defaults to None. - + with_reverse_properties (bool): Whether to include reverse properties. Defaults to False. """ if follow_links: - query = cls.generate_query(space=None, client=client, filters=None, follow_links=follow_links) + query = cls.generate_query( + space=None, + client=client, + filters=None, + follow_links=follow_links, + with_reverse_properties=with_reverse_properties, + ) results = client.query(query, instance_id=client.uuid_from_uri(uri), size=1, scope=scope).data if results: data = results[0] - data["@context"] = cls.context else: data = None else: @@ -161,7 +170,7 @@ def from_uri( if data is None: return None else: - return cls.from_kg_instance(data, client, scope=scope) + return cls.from_jsonld(data, scope=scope) @classmethod def from_uuid( @@ -171,6 +180,7 @@ def from_uuid( use_cache: bool = True, scope: str = "released", follow_links: Optional[Dict[str, Any]] = None, + with_reverse_properties: Optional[bool] = False, ): """ Retrieve an instance from the Knowledge Graph based on its UUID. @@ -182,6 +192,7 @@ def from_uuid( Defaults to "released". use_cache (bool): Whether to use cached data if they exist. Defaults to True. follow_links (dict): The links in the graph to follow. Defaults to None. + with_reverse_properties (bool): Whether to include reverse properties. Defaults to False. """ logger.info("Attempting to retrieve {} with uuid {}".format(cls.__name__, uuid)) @@ -192,7 +203,14 @@ def from_uuid( except ValueError as err: raise ValueError("{} - {}".format(err, uuid)) uri = cls.uri_from_uuid(uuid, client) - return cls.from_uri(uri, client, use_cache=use_cache, scope=scope, follow_links=follow_links) + return cls.from_uri( + uri, + client, + use_cache=use_cache, + scope=scope, + follow_links=follow_links, + with_reverse_properties=with_reverse_properties, + ) @classmethod def from_id( @@ -202,6 +220,7 @@ def from_id( use_cache: bool = True, scope: str = "released", follow_links: Optional[Dict[str, Any]] = None, + with_reverse_properties: Optional[bool] = False, ): """ Retrieve an instance from the Knowledge Graph based on either its URI or UUID. @@ -213,6 +232,7 @@ def from_id( Defaults to "released". use_cache (bool): Whether to use cached data if they exist. Defaults to True. follow_links (dict): The links in the graph to follow. Defaults to None. + with_reverse_properties (bool): Whether to include reverse properties. Defaults to False. Returns: Either a KGObject of the correct type, or None. @@ -221,9 +241,17 @@ def from_id( """ if hasattr(cls, "type_") and cls.type_: if id.startswith("http"): - return cls.from_uri(id, client, use_cache=use_cache, scope=scope, follow_links=follow_links) + fn = cls.from_uri else: - return cls.from_uuid(id, client, use_cache=use_cache, scope=scope, follow_links=follow_links) + fn = cls.from_uuid + return fn( + id, + client, + use_cache=use_cache, + scope=scope, + follow_links=follow_links, + with_reverse_properties=with_reverse_properties, + ) else: # if we don't know the type if id.startswith("http"): @@ -233,8 +261,12 @@ def from_id( if follow_links is not None: raise NotImplementedError data = client.instance_from_full_uri(uri, use_cache=use_cache, scope=scope) - cls_from_data = lookup_type(data["@type"][0]) - return cls_from_data.from_kg_instance(data, client, scope=scope) + type_ = data["@type"] + if isinstance(type_, list): + assert len(type_) == 1 + type_ = type_[0] + cls_from_data = lookup_type(type_, OPENMINDS_VERSION) + return cls_from_data.from_jsonld(data, scope=scope) @classmethod def from_alias( @@ -312,6 +344,7 @@ def list( scope: str = "released", space: Optional[str] = None, follow_links: Optional[Dict[str, Any]] = None, + with_reverse_properties: Optional[bool] = False, **filters, ) -> List[KGObject]: """ @@ -325,6 +358,7 @@ def list( scope (str, optional): The scope to use for the query. Can be 'released', 'in progress', or 'all'. Default is 'released'. space (str, optional): The KG space to be queried. If not specified, results from all accessible spaces will be included. follow_links (dict): The links in the graph to follow. Defaults to None. + with_reverse_properties (bool): Whether to include reverse properties. Defaults to False. filters: Optional keyword arguments representing filters to apply to the query. Returns: @@ -355,15 +389,19 @@ def list( api = "core" if api == "query": - query = cls.generate_query(space=space, client=client, filters=filters, follow_links=follow_links) + query = cls.generate_query( + space=space, + client=client, + filters=filters, + follow_links=follow_links, + with_reverse_properties=with_reverse_properties, + ) instances = client.query( query=query, from_index=from_index, size=size, scope=scope, ).data - for instance in instances: - instance["@context"] = cls.context elif api == "core": if filters: raise ValueError("Cannot use filters with api='core'") @@ -372,8 +410,7 @@ def list( instances = client.list(cls.type_, space=space, from_index=from_index, size=size, scope=scope).data else: raise ValueError("'api' must be either 'query', 'core', or 'auto'") - - return [cls.from_kg_instance(instance, client, scope=scope) for instance in instances] + return [cls.from_jsonld(data=instance, scope=scope) for instance in instances] @classmethod def count( @@ -424,18 +461,19 @@ def count( response = client.list(cls.type_, space=space, scope=scope, from_index=0, size=1) return response.total - def _update_empty_properties(self, data: JSONdict, client: KGClient): + def _update_empty_properties(self, data: JSONdict): """Replace any empty properties (value None) with the supplied data""" cls = self.__class__ - deserialized_data = cls._deserialize_data(data, client, include_id=True) + deserialized_data = cls._deserialize_data(data, include_id=True) for prop in cls.all_properties: current_value = getattr(self, prop.name, None) if current_value is None: value = deserialized_data[prop.name] - setattr(self, prop.name, value) + if value is not None: + setattr(self, prop.name, value) assert self.remote_data is not None for key, value in data.items(): - if not key.startswith("Q"): + if not (key.startswith("Q") or key == "@context"): expanded_path = expand_uri(key, cls.context) assert isinstance(expanded_path, str) self.remote_data[expanded_path] = data[key] @@ -449,7 +487,6 @@ def __ne__(self, other): if self.id and other.id and self.id != other.id: return True for prop in self.properties: - assert prop.intrinsic val_self = getattr(self, prop.name) val_other = getattr(other, prop.name) if val_self != val_other: @@ -467,7 +504,6 @@ def diff(self, other): if self.id != other.id: differences["id"] = (self.id, other.id) for prop in self.properties: - assert prop.intrinsic val_self = getattr(self, prop.name) val_other = getattr(other, prop.name) if val_self != val_other: @@ -492,7 +528,7 @@ def exists( self._raw_remote_data = data obj_exists = bool(data) if obj_exists: - self._update_empty_properties(data, client) # also updates `remote_data` + self._update_empty_properties(data) # also updates `remote_data` return obj_exists else: try: @@ -539,7 +575,7 @@ def exists( self.id = instance["@id"] assert isinstance(self.id, str) save_cache[self.__class__][query_cache_key] = self.id - self._update_empty_properties(instance, client) # also updates `remote_data` + self._update_empty_properties(instance) # also updates `remote_data` return bool(instances) def modified_data(self) -> JSONdict: @@ -547,14 +583,30 @@ def modified_data(self) -> JSONdict: Return a dict containing the properties that have been modified locally from the values originally obtained from the Knowledge Graph. """ - current_data = self.to_jsonld(include_empty_properties=True, follow_links=False) + + def values_are_equal(local, remote): + if type(local) != type(remote): + return False + if isinstance(local, list): + if len(local) != len(remote): + return False + return all(values_are_equal(a, b) for a, b in zip(local, remote)) + elif isinstance(local, dict): + return all(values_are_equal(local[key], remote.get(key, None)) for key in local.keys() if not (local[key] is None and key not in remote)) + else: + return local == remote + + current_data = normalize_data( + self.to_jsonld(include_empty_properties=True, embed_linked_nodes=False), + self.context + ) modified_data = {} for key, current_value in current_data.items(): if not key.startswith("@"): assert key.startswith("http") # keys should all be expanded by this point assert self.remote_data is not None remote_value = self.remote_data.get(key, None) - if current_value != remote_value: + if not values_are_equal(current_value, remote_value): modified_data[key] = current_value return modified_data @@ -588,7 +640,6 @@ def save( """ if recursive: for prop in self.properties: - assert prop.intrinsic # we do not save reverse properties, those objects must be saved separately # this could be revisited, but we'll have to be careful about loops # if saving recursively @@ -635,7 +686,7 @@ def save( activity_log.update(item=self, delta=None, space=space, entry_type="no-op") else: # update - local_data = self.to_jsonld() + local_data = normalize_data(self.to_jsonld(embed_linked_nodes=False), self.context) if replace: logger.info(f" - replacing - {self.__class__.__name__}(id={self.id})") if activity_log: @@ -657,9 +708,9 @@ def save( f" - updating - {self.__class__.__name__}(id={self.id}) - properties changed: {modified_data.keys()}" ) skip_update = False - if "vocab:storageSize" in modified_data: + if "storageSize" in modified_data: warn("Removing storage size from update because this prop is currently locked by the KG") - modified_data.pop("vocab:storageSize") + modified_data.pop("storageSize") skip_update = len(modified_data) == 0 if skip_update: @@ -667,6 +718,9 @@ def save( activity_log.update(item=self, delta=None, space=space, entry_type="no-op") else: try: + # Note: if modified_data includes embedded objects + # then _all_ fields of the embedded objects must be provided, + # not only those that have changed. client.update_instance(self.uuid, modified_data) except AuthorizationError as err: if ignore_auth_errors: @@ -688,7 +742,7 @@ def save( activity_log.update(item=self, delta=None, space=space, entry_type="no-op") else: # create new - local_data = self.to_jsonld() + local_data = normalize_data(self.to_jsonld(embed_linked_nodes=False), self.context) logger.info(" - creating instance with data {}".format(local_data)) try: instance_data = client.create_new_instance( @@ -714,7 +768,7 @@ def save( activity_log.update(item=self, delta=instance_data, space=self.space, entry_type="create") # not handled yet: save existing object to new space - requires changing uuid if self.id: - logger.debug("Updating cache for object {}. Current state: {}".format(self.id, self.to_jsonld())) + logger.debug("Updating cache for object {}. Current state: {}".format(self.id, self.to_jsonld(embed_linked_nodes=False))) object_cache[self.id] = self else: logger.warning("Object has no id - see log for the underlying error") @@ -807,6 +861,7 @@ def generate_query( space: Union[str, None], filters: Optional[Dict[str, Any]] = None, follow_links: Optional[Dict[str, Any]] = None, + with_reverse_properties: Optional[bool] = False, label: Optional[str] = None, ) -> Union[Dict[str, Any], None]: """ @@ -817,6 +872,7 @@ def generate_query( space (str, optional): if provided, restrict the query to metadata stored in the given KG space. filters (dict): A dictonary defining search parameters for the query. follow_links (dict): The links in the graph to follow. Defaults to None. + with_reverse_properties (dict): Whether to include reverse properties. Default False. label (str, optional): a label for the query Returns: @@ -837,13 +893,13 @@ def generate_query( node_type=cls.type_, label=label, space=real_space, - properties=cls.generate_query_properties(follow_links), + properties=cls.generate_query_properties(follow_links, with_reverse_properties), ) # second pass, we add filters query.properties.extend(cls.generate_query_filter_properties(normalized_filters)) # third pass, we add sorting, which can only happen at the top level for prop in query.properties: - if prop.name in ("vocab:name", "vocab:fullName", "vocab:lookupLabel"): + if prop.name in ("name", "fullName", "lookupLabel"): prop.sorted = True # implementation note: the three-pass approach generates queries that are sometimes more verbose # than necessary, but it makes the logic easier to understand. @@ -892,7 +948,6 @@ def children( self.resolve(client, follow_links=follow_links) all_children = [] for prop in self.properties: - assert prop.intrinsic if prop.is_link: children = as_list(getattr(self, prop.name)) all_children.extend(children) diff --git a/fairgraph/kgproxy.py b/fairgraph/kgproxy.py index 09bcfeb9..d7a711bd 100644 --- a/fairgraph/kgproxy.py +++ b/fairgraph/kgproxy.py @@ -22,7 +22,9 @@ import logging from typing import List, Optional, Tuple, Union, Dict, Any, TYPE_CHECKING -from .registry import lookup +from openminds.base import Link +from openminds.registry import lookup + from .errors import ResolutionFailure from .caching import object_cache from .base import RepresentsSingleObject @@ -35,13 +37,13 @@ logger = logging.getLogger("fairgraph") -class KGProxy(RepresentsSingleObject): +class KGProxy(RepresentsSingleObject, Link): """ - Representation of an KGObject whose type and identifier are known but whose + Representation of an KGObject whose identifier, and possibly type, are known but whose other metadata have not been retrieved from the KG. Args: - cls (str, KGObject): the type of the associated KG object, defined by a KGObject subclass + cls (str, KGObject, List[KGObject]): the possible types of the associated KG object, defined by a KGObject subclass or by the name of the subclass. uri (URI): The global identifier of the KG object. preferred_scope (str, optional): The preferred scope used to resolve the proxy. @@ -59,20 +61,28 @@ class KGProxy(RepresentsSingleObject): # todo: rename uri to id, for consistency? - def __init__(self, cls: Union[str, KGObject], uri: str, preferred_scope: str = "released"): - self.cls: KGObject - if isinstance(cls, str): - resolved_cls = lookup(cls) + def __init__( + self, + classes: Union[str, KGObject, List[KGObject], Tuple[KGObject]], + uri: str, + preferred_scope: str = "released" + ): + self.classes: List[KGObject] # todo: make this a set? + if isinstance(classes, str): + resolved_cls = lookup(classes) if TYPE_CHECKING: assert isinstance(resolved_cls, KGObject) - self.cls = resolved_cls + self.classes = [resolved_cls] + elif isinstance(classes, (list, tuple)): + self.classes = list(classes) else: - self.cls = cls + self.classes = [classes] if TYPE_CHECKING: - assert isinstance(self.cls, KGObject) + assert all(isinstance(cls, KGObject) for cls in self.classes) self.id = uri self.preferred_scope = preferred_scope self.remote_data = None + Link.__init__(self, self.id, allowed_types=self.classes) @property def type(self) -> List[str]: @@ -80,21 +90,24 @@ def type(self) -> List[str]: Provide the global identifiers of the object type (as a list of URIs). """ try: - return self.cls.type_ + return [cls.type_ for cls in self.classes] except AttributeError as err: - raise AttributeError(f"{err} self.cls={self.cls}") + raise AttributeError(f"{err} self.classes={self.classes}") @property - def classes(self) -> Union[Tuple[KGObject], List[KGObject]]: + def cls(self): """ - Provide the metadata class associated with this object in a list. - - This is provided for consistency with the KGQuery interface. + For backwards compatibility """ - if isinstance(self.cls, (list, tuple)): - return self.cls + if len(self.classes) == 1: + return self.classes[0] else: - return [self.cls] + raise AttributeError("This KGProxy has multiple possible types, use the 'classes' attribute instead") + + def to_jsonld(self, **kwargs): + return { + "@id": self.id + } def resolve( self, @@ -120,19 +133,17 @@ def resolve( obj = object_cache[self.id] else: scope = scope or self.preferred_scope - if len(self.classes) > 1: - obj = None - for cls in self.classes: - try: - obj = cls.from_uri(self.id, client, scope=scope) - except TypeError: - pass - else: - break - else: - obj = self.cls.from_uri(self.id, client, scope=scope) + obj = None + for cls in self.classes: + # this is inefficient, we should just get the data from the id, then get the correct type from the data + try: + obj = cls.from_uri(self.id, client, scope=scope) + except TypeError: + pass + else: + break if obj is None: - raise ResolutionFailure(f"Cannot resolve proxy object of type {self.cls} with id {self.uuid}") + raise ResolutionFailure(f"Cannot resolve proxy object of type {self.classes} with id {self.uuid}") object_cache[self.id] = obj if follow_links: return obj.resolve(client, scope=scope, use_cache=use_cache, follow_links=follow_links) diff --git a/fairgraph/kgquery.py b/fairgraph/kgquery.py index 1d28ab3d..4be12e4c 100644 --- a/fairgraph/kgquery.py +++ b/fairgraph/kgquery.py @@ -22,10 +22,11 @@ import logging from typing import Dict, List, Optional, Union, Any, TYPE_CHECKING +from openminds.registry import lookup + from .utility import as_list, expand_filter -from .registry import lookup from .caching import object_cache -from .base import Resolvable, SupportsQuerying, ContainsMetadata +from .base import Resolvable, SupportsQuerying if TYPE_CHECKING: from .client import KGClient @@ -87,6 +88,7 @@ def resolve( scope: Optional[str] = None, use_cache: bool = True, follow_links: Optional[Dict[str, Any]] = None, + with_reverse_properties: Optional[bool] = False, ): """ Retrieve the full metadata for the KGObject(s) represented by this query object. @@ -100,6 +102,7 @@ def resolve( If not provided, the "preferred_scope" provided when creating the proxy object will be used. use_cache (bool): Whether to use cached data if they exist. Defaults to True. follow_links (dict): The links in the graph to follow. Defaults to None. + with_reverse_properties (dict): Whether to include reverse properties. Defaults to False. Returns: a KGObject instance, of the appropriate subclass. @@ -109,14 +112,20 @@ def resolve( for cls in self.classes: if hasattr(cls, "generate_query"): # if cls is EmbeddedMetadata we cannot query it - query = cls.generate_query(client=client, filters=self.filter, space=space, follow_links=follow_links) + query = cls.generate_query( + client=client, + filters=self.filter, + space=space, + follow_links=follow_links, + with_reverse_properties=with_reverse_properties, + ) instances = client.query( query=query, size=size, from_index=from_index, scope=scope, ).data - objects.extend(cls.from_kg_instance(instance_data, client) for instance_data in instances) + objects.extend(cls.from_jsonld(instance_data, client) for instance_data in instances) for obj in objects: object_cache[obj.id] = obj diff --git a/fairgraph/node.py b/fairgraph/node.py new file mode 100644 index 00000000..0ec5f62d --- /dev/null +++ b/fairgraph/node.py @@ -0,0 +1,501 @@ +from __future__ import annotations +from typing import TYPE_CHECKING, Optional, Dict, List, Union, Any +from copy import copy +from itertools import chain +import logging +from warnings import warn + +from openminds.base import value_to_jsonld, Link +from openminds.properties import Property + +from .registry import Node +from .base import Resolvable, ErrorHandling, RepresentsSingleObject +from .kgproxy import KGProxy +from .kgquery import KGQuery +from .queries import ( + QueryProperty, + get_query_properties, + get_query_filter_property, + get_filter_value +) +from .errors import ResolutionFailure, CannotBuildExistenceQuery +from .utility import ( + as_list, # temporary for backwards compatibility (a lot of code imports it from here) + expand_uri, + invert_dict, + normalize_data, + types_match +) + +if TYPE_CHECKING: + from .client import KGClient + from .utility import ActivityLog + +logger = logging.getLogger("fairgraph") + +JSONdict = Dict[str, Any] # see https://github.com/python/typing/issues/182 for some possible improvements + + +class ContainsMetadata(Resolvable, metaclass=Node): # KGObject and EmbeddedMetadata + properties: List[Property] + reverse_properties: List[Property] = [] + context: Dict[str, str] + type_: str + scope: Optional[str] + space: Union[str, None] + default_space: Union[str, None] + remote_data: Optional[JSONdict] + aliases: Dict[str, str] = {} + error_handling: ErrorHandling = ErrorHandling.log + + def __init__(self, data: Optional[Dict] = None, **properties): + properties_copy = copy(properties) + for prop in self.__class__.all_properties: + try: + val = properties[prop.name] + except KeyError: + if prop.required: + msg = "Property '{}' is required.".format(prop.name) + ErrorHandling.handle_violation(self.error_handling, msg) + val = None + else: + properties_copy.pop(prop.name) + if isinstance(val, (list, tuple)) and len(val) == 0: # empty list + val = None + setattr(self, prop.name, val) + for name_, alias_ in self.aliases.items(): + # the trailing underscores are because 'name' and 'alias' can be keys in 'properties' + if name_ in properties_copy: + val = properties_copy.pop(name_) + if val is not None: + if properties.get(alias_, None): + raise ValueError(f"'{name_}' is an alias for '{alias_}', you cannot specify both") + setattr(self, alias_, val) + if len(properties_copy) > 0: + if len(properties_copy) == 1: + raise NameError(f'{self.__class__.__name__} does not have a property named "{list(properties_copy)[0]}".') + else: + raise NameError( + f"""{self.__class__.__name__} does not have properties named "{'", "'.join(properties_copy)}".""" + ) + + # we store the original remote data in `_raw_remote_data` + # and a normalized version in `remote_data` + self._raw_remote_data = data # for debugging + self.remote_data = {} + if data: + self.remote_data = normalize_data( + self.to_jsonld(include_empty_properties=True, embed_linked_nodes=False), + self.context + ) + + def __getattribute__(self, name): + try: + return object.__getattribute__(self, name) + except AttributeError: + if name in self.aliases: + return object.__getattribute__(self, self.aliases[name]) + else: + raise + + def __setattr__(self, name, value): + try: + prop = self._property_lookup[name] + except KeyError: + if name in self.aliases: + setattr(self, self.aliases[name], value) + else: + super().__setattr__(name, value) + else: + if not isinstance(value, KGQuery): + failures = prop.validate(value) + if failures: + errmsg = str(failures) # todo: create a nicer error message + ErrorHandling.handle_violation(self.error_handling, errmsg) + super().__setattr__(name, value) + + @classmethod + def get_property(cls, name): + return cls._property_lookup[name] + + @classmethod + def from_jsonld(cls, data: JSONdict, scope: Optional[str] = None) -> ContainsMetadata: + """ + Create an instance of the class from a JSON-LD document. + """ + raise NotImplementedError("This should be implemented by subclasses") + + def save( + self, + client: KGClient, + space: Optional[str] = None, + recursive: bool = True, + activity_log: Optional[ActivityLog] = None, + replace: bool = False, + ignore_auth_errors: bool = False, + ignore_duplicates: bool = False + ): + raise NotImplementedError("This should be implemented by subclasses") + + @classmethod + def set_error_handling( + cls, value: Union[ErrorHandling, None] + ): + """ + Control validation for this class. + + 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 + """ + if value is None: + value = ErrorHandling.none + else: + value = ErrorHandling(value) + cls.error_handling = value + # set the same action for all embedded types + for prop in cls.properties: + for type_ in prop.types: + if issubclass(type_, ContainsMetadata) and not issubclass(type_, RepresentsSingleObject): + # i.e., is EmbeddedMetadata + type_.set_error_handling(value) + + @classmethod + def normalize_filter(cls, filter_dict: Dict[str, Any], check_validity: bool = True) -> Dict[str, Any]: + """ + Normalize a dict containing filter key:value pairs so that it can be used + in a call to the KG query API. + + Example: + >>> import fairgraph.openminds.core as omcore + >>> person = omcore.Person.from_uuid("045f846f-f010-4db8-97b9-b95b20970bf2", kg_client) + >>> filter_dict = {"custodians": person, "name": "Virtual"} + >>> omcore.Dataset.normalize_filter(filter_dict) + {'name': 'Virtual', + 'custodians': 'https://kg.ebrains.eu/api/instances/045f846f-f010-4db8-97b9-b95b20970bf2'} + """ + normalized = {} + filter_dict_copy = filter_dict.copy() + + # handle aliases + for name_, alias_ in cls.aliases.items(): + if name_ in filter_dict_copy: + filter_dict_copy[alias_] = filter_dict_copy.pop(name_) + + def _check_validity(filters, property_names): + invalid_filters = set(filters).difference(property_names) + if invalid_filters: + if len(invalid_filters) == 1: + msg = f"Invalid filter: " + else: + msg = f"Invalid filters: " + raise ValueError(msg + ", ".join(sorted(invalid_filters))) + + if check_validity: + _check_validity(filter_dict_copy, cls.all_property_names) + + for prop in cls.all_properties: + if prop.name in filter_dict_copy: + value = filter_dict_copy[prop.name] + if isinstance(value, dict): + _check_validity( + value, + set( + chain( + *( + child_cls.property_names + list(child_cls.aliases.keys()) + for child_cls in prop.types + ) + ) + ), + ) + normalized[prop.name] = {} + for child_cls in prop.types: + normalized[prop.name].update(child_cls.normalize_filter(value, check_validity=False)) + else: + normalized[prop.name] = get_filter_value(prop, value) + + return normalized + + @classmethod + def generate_query_properties( + cls, follow_links: Optional[Dict[str, Any]] = None, with_reverse_properties: Optional[bool] = False + ): + """ + Generate a list of QueryProperty instances for this class + for use in constructing a KG query definition. + + Args: + follow_links (dict): The links in the graph to follow when constructing the query. + Defaults to None. + with_reverse_properties (bool): Whether to include reverse properties. + Defaults to False.` + """ + if issubclass(cls, RepresentsSingleObject): # KGObject + query_properties = [ + QueryProperty("https://core.kg.ebrains.eu/vocab/meta/space", name="query:space"), + QueryProperty("@type"), + ] + else: # EmbeddedMetadata + query_properties = [QueryProperty("@type")] + reverse_aliases = invert_dict(cls.aliases) + + if with_reverse_properties: + included_properties = cls.all_properties + else: + included_properties = cls.properties[:] # need to make a copy because we may be appending to it + if follow_links: + for prop_name in follow_links: + try: + prop = cls.get_property(prop_name) + # where a property can be of multiple types, + # not all types may be relevant to follow_links + except KeyError: + pass + else: + if prop.reverse: + included_properties.append(prop) + + for prop in included_properties: + if prop.is_link and follow_links: + if prop.name in follow_links: + query_properties.extend( + get_query_properties(prop, cls.context, follow_links[prop.name], with_reverse_properties) + ) + elif reverse_aliases.get(prop.name, None) in follow_links: + query_properties.extend( + get_query_properties( + prop, cls.context, follow_links[reverse_aliases[prop.name]], with_reverse_properties + ) + ) + else: + query_properties.extend( + get_query_properties(prop, cls.context, with_reverse_properties=with_reverse_properties) + ) + else: + query_properties.extend( + get_query_properties(prop, cls.context, with_reverse_properties=with_reverse_properties) + ) + return query_properties + + @classmethod + def generate_query_filter_properties( + cls, + filters: Optional[Dict[str, Any]] = None, + ): + """ + + Args: + filters (dict, optional): A dict containing search parameters for the query. + """ + if filters is None: + filters = {} + properties = [] + for prop in cls.all_properties: + if prop.name in filters: + properties.append(get_query_filter_property(prop, cls.context, filters[prop.name])) + return properties + + @classmethod + def _deserialize_data(cls, data: JSONdict, include_id: bool = False): + + def _get_type_from_data(data_item): + # KG returns a list of types, openMINDS expects only a single string + if isinstance(data_item, dict) and "@type" in data_item: + if isinstance(data_item["@type"], (list, tuple)): + assert len(data_item["@type"]) == 1 + return data_item["@type"][0] + else: + return data_item["@type"] + else: + return None + + def _normalize_type(data_item): + # replace @type as list with @type as string + if isinstance(data_item, (list, tuple)): + data_item = [_normalize_type(part) for part in data_item] + else: + type_from_data_item = _get_type_from_data(data_item) + if type_from_data_item: + data_item = data_item.copy() + data_item["@type"] = type_from_data_item + return data_item + + type_from_data = _get_type_from_data(data) + # check types match + if not types_match(cls.type_, type_from_data): + raise TypeError("type mismatch {} - {}".format(cls.type_, type_from_data)) + + # normalize data by expanding keys + D = {"@type": type_from_data} + if include_id: + D["@id"] = data["@id"] + for key, value in data.items(): + if "__" in key: + key, type_filter = key.split("__") + normalised_key = expand_uri(key, cls.context) + value = [item for item in as_list(value) if _get_type_from_data(item).endswith(type_filter)] + if normalised_key in D: + if isinstance(D[normalised_key], list): + D[normalised_key].extend(value) + else: + D[normalised_key] = [D[normalised_key]] + value + else: + D[normalised_key] = value + elif key.startswith("Q"): # for 'Q' properties in data from queries + D[key] = value + elif key[0] != "@": + normalised_key = expand_uri(key, cls.context) + D[normalised_key] = value + + deserialized_data = {} + for prop in cls.all_properties: + expanded_path = expand_uri(prop.path, cls.context) + data_item = _normalize_type(D.get(expanded_path)) + + if data_item is not None and prop.reverse: + # for reverse properties, more than one property can have the same path + # so we extract only those sub-items whose types match + try: + data_item = [ + part for part in as_list(data_item) + if _get_type_from_data(part) in [t.type_ for t in prop.types] + ] + except AttributeError: + # problem when a forward and reverse path both given the same expanded path + # e.g. for Configuration + data_item = None + + # sometimes queries put single items in a list, this removes the enclosing list + if (not prop.multiple) and isinstance(data_item, (list, tuple)) and len(data_item) == 1: + data_item = data_item[0] + + # deal with property names that conflict with kwargs in fairgraph + prop_name = prop.name + if prop_name == "scope": + prop_name = "model_scope" + + if data_item is None: + if prop.reverse and "@id" in data: + if isinstance(prop.reverse, list): + # todo: handle all possible reverses + # for now, we just take the first + deserialized_data[prop_name] = KGQuery(prop.types, {prop.reverse[0]: data["@id"]}) + else: + deserialized_data[prop_name] = KGQuery(prop.types, {prop.reverse: data["@id"]}) + else: + deserialized_data[prop_name] = None + else: + try: + value = prop.deserialize(data_item) + except ValueError as err: + ErrorHandling.handle_violation(cls.error_handling, str(err)) + else: + if isinstance(value, Link) and value.allowed_types is not None: + value = KGProxy(value.allowed_types, value.identifier) + elif isinstance(value, list) and len(value) > 0 and isinstance(value[0], Link): + # here we assume that if the first item is a Link, they all are + value = [KGProxy(item.allowed_types, item.identifier) for item in value] + deserialized_data[prop_name] = value + + return deserialized_data + + def resolve( + self, + client: KGClient, + scope: Optional[str] = None, + use_cache: bool = True, + follow_links: Optional[Dict[str, Any]] = None, + ): + """ + Resolve properties that are represented by KGProxy objects. + + Args: + client: KGClient object that handles the communication with the KG. + scope (str): The scope of instances to include in the response. + Valid values are 'released', 'in progress', 'any'. + use_cache (bool): whether to use cached data if they exist. Defaults to True. + follow_links (dict): The links in the graph to follow. Defaults to None. + + Note: a real (non-proxy) object resolves to itself. + """ + use_scope = scope or self.scope or "released" + if follow_links: + reverse_aliases = invert_dict(self.__class__.aliases) + for prop in self.__class__.all_properties: + if prop.is_link: + follow_name = None + if prop.name in follow_links: + follow_name = prop.name + elif reverse_aliases.get(prop.name, None) in follow_links: + follow_name = reverse_aliases[prop.name] + + if follow_name: + if issubclass(prop.types[0], ContainsMetadata): + values = getattr(self, prop.name) + resolved_values: List[Any] = [] + for value in as_list(values): + if isinstance(value, Resolvable): + if isinstance(value, ContainsMetadata) and isinstance(value, RepresentsSingleObject): + # i.e. isinstance(value, KGObject) - already resolved + resolved_values.append(value) + else: + try: + resolved_value = value.resolve( + client, + scope=use_scope, + use_cache=use_cache, + follow_links=follow_links[follow_name], + ) + except ResolutionFailure as err: + warn(str(err)) + resolved_values.append(value) + else: + resolved_values.append(resolved_value) + if isinstance(values, RepresentsSingleObject): + assert len(resolved_values) == 1 + setattr(self, prop.name, resolved_values[0]) + elif values is None: + assert len(resolved_values) == 0 + setattr(self, prop.name, None) + else: + setattr(self, prop.name, resolved_values) + return self + + def _build_existence_query(self) -> Union[None, Dict[str, Any]]: + """ + Generate a KG query definition (as a JSON-LD document) that can be used to + check whether a locally-defined object (with no ID) already exists in the KG. + """ + if self.existence_query_properties is None: + return None + + query_properties = [] + for property_name in self.existence_query_properties: + for property in self.__class__.all_properties: + if property.name == property_name: + query_properties.append(property) + break + if len(query_properties) < 1: + raise CannotBuildExistenceQuery("Empty existence query for class {}".format(self.__class__.__name__)) + query = {} + for property in query_properties: + query_property_name = property.name + value = getattr(self, property.name) + if isinstance(value, ContainsMetadata): + if hasattr(value, "id") and value.id: + query[query_property_name] = value.id + else: + sub_query = value._build_existence_query() + query.update({f"{query_property_name}__{key}": val for key, val in sub_query.items()}) + elif isinstance(value, (list, tuple)): + raise CannotBuildExistenceQuery("not implemented yet") + elif value is None: + raise CannotBuildExistenceQuery(f"Required value for '{query_property_name}' is missing") + else: + query_val = value_to_jsonld(value, include_empty_properties=False, embed_linked_nodes=False) + if query_val is None: + raise CannotBuildExistenceQuery(f"Required value for '{query_property_name}' is missing") + query[query_property_name] = query_val + return query diff --git a/fairgraph/openminds/chemicals/amount_of_chemical.py b/fairgraph/openminds/chemicals/amount_of_chemical.py index fe1db33a..40d34019 100644 --- a/fairgraph/openminds/chemicals/amount_of_chemical.py +++ b/fairgraph/openminds/chemicals/amount_of_chemical.py @@ -4,31 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.chemicals import AmountOfChemical as OMAmountOfChemical +from fairgraph import EmbeddedMetadata -class AmountOfChemical(EmbeddedMetadata): +class AmountOfChemical(EmbeddedMetadata, OMAmountOfChemical): """ Structured information about the amount of a given chemical that was used. """ - type_ = "https://openminds.ebrains.eu/chemicals/AmountOfChemical" - properties = [ - Property("amount", "openminds.core.QuantitativeValue", "vocab:amount", doc="no description available"), - Property( - "chemical_product", - [ - "openminds.chemicals.ChemicalMixture", - "openminds.chemicals.ChemicalSubstance", - "openminds.controlled_terms.MolecularEntity", - ], - "vocab:chemicalProduct", - required=True, - doc="no description available", - ), - ] + type_ = "https://openminds.om-i.org/types/AmountOfChemical" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, amount=None, chemical_product=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, amount=amount, chemical_product=chemical_product) + return EmbeddedMetadata.__init__(self, data=data, amount=amount, chemical_product=chemical_product) diff --git a/fairgraph/openminds/chemicals/chemical_mixture.py b/fairgraph/openminds/chemicals/chemical_mixture.py index 7af22ca5..e8f60976 100644 --- a/fairgraph/openminds/chemicals/chemical_mixture.py +++ b/fairgraph/openminds/chemicals/chemical_mixture.py @@ -4,73 +4,44 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.chemicals import ChemicalMixture as OMChemicalMixture +from fairgraph import KGObject -class ChemicalMixture(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" - type_ = "https://openminds.ebrains.eu/chemicals/ChemicalMixture" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "has_parts", - "openminds.chemicals.AmountOfChemical", - "vocab:hasPart", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - doc="Word or phrase that constitutes the distinctive designation of the chemical mixture.", - ), - Property( - "product_source", - "openminds.chemicals.ProductSource", - "vocab:productSource", - doc="no description available", - ), - Property( - "type", - "openminds.controlled_terms.ChemicalMixtureType", - "vocab:type", - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "composes", - ["openminds.ephys.Electrode", "openminds.ephys.ElectrodeArray", "openminds.ephys.Pipette"], - ["^vocab:insulatorMaterial", "^vocab:material"], + [ + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + ], + ["insulatorMaterial", "material"], reverse=["insulator_material", "material"], multiple=True, - doc="reverse of insulator_material, material", + description="reverse of insulator_material, material", ), Property( "used_in", [ - "openminds.ephys.CellPatching", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.PipetteUsage", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", ], - ["^vocab:cultureMedium", "^vocab:pipetteSolution", "^vocab:tissueBathSolution"], + ["cultureMedium", "pipetteSolution", "tissueBathSolution"], reverse=["culture_medium", "pipette_solution", "tissue_bath_solution"], multiple=True, - doc="reverse of culture_medium, pipette_solution, tissue_bath_solution", + description="reverse of culture_medium, pipette_solution, tissue_bath_solution", ), ] existence_query_properties = ("has_parts", "type") @@ -89,7 +60,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/chemicals/chemical_substance.py b/fairgraph/openminds/chemicals/chemical_substance.py index 68882461..0d6d0161 100644 --- a/fairgraph/openminds/chemicals/chemical_substance.py +++ b/fairgraph/openminds/chemicals/chemical_substance.py @@ -4,61 +4,39 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.chemicals import ChemicalSubstance as OMChemicalSubstance +from fairgraph import KGObject -class ChemicalSubstance(KGObject): +class ChemicalSubstance(KGObject, OMChemicalSubstance): """ Structured information about a chemical substance. """ + type_ = "https://openminds.om-i.org/types/ChemicalSubstance" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/chemicals/ChemicalSubstance" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "molecular_entity", - "openminds.controlled_terms.MolecularEntity", - "vocab:molecularEntity", - required=True, - doc="no description available", - ), - Property( - "product_source", - "openminds.chemicals.ProductSource", - "vocab:productSource", - doc="no description available", - ), - Property( - "purity", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:purity", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "composes", - ["openminds.ephys.Electrode", "openminds.ephys.ElectrodeArray", "openminds.ephys.Pipette"], - ["^vocab:insulatorMaterial", "^vocab:material"], + [ + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + ], + ["insulatorMaterial", "material"], reverse=["insulator_material", "material"], multiple=True, - doc="reverse of insulator_material, material", + description="reverse of insulator_material, material", ), Property( "labels", - "openminds.ephys.PipetteUsage", - "^vocab:labelingCompound", + "openminds.latest.ephys.PipetteUsage", + "labelingCompound", reverse="labeling_compound", multiple=True, - doc="reverse of 'labeling_compound'", + description="reverse of 'labeling_compound'", ), ] existence_query_properties = ("lookup_label",) @@ -77,7 +55,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/chemicals/product_source.py b/fairgraph/openminds/chemicals/product_source.py index 74f728a6..d10e141e 100644 --- a/fairgraph/openminds/chemicals/product_source.py +++ b/fairgraph/openminds/chemicals/product_source.py @@ -4,48 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.chemicals import ProductSource as OMProductSource +from fairgraph import KGObject -class ProductSource(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" - type_ = "https://openminds.ebrains.eu/chemicals/ProductSource" - properties = [ - Property( - "digital_identifier", - "openminds.core.RRID", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("identifier", str, "vocab:identifier", doc="Term or code used to identify the product source."), - Property("product_name", str, "vocab:productName", required=True, doc="no description available"), - Property( - "provider", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:provider", - required=True, - doc="no description available", - ), - Property( - "purity", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:purity", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_source_of", - ["openminds.chemicals.ChemicalMixture", "openminds.chemicals.ChemicalSubstance"], - "^vocab:productSource", + ["openminds.latest.chemicals.ChemicalMixture", "openminds.latest.chemicals.ChemicalSubstance"], + "productSource", reverse="product_source", multiple=True, - doc="reverse of 'product_source'", + description="reverse of 'product_source'", ), ] existence_query_properties = ("product_name", "provider") @@ -63,7 +42,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/data_analysis.py b/fairgraph/openminds/computation/data_analysis.py index 2e3f21ae..a936edff 100644 --- a/fairgraph/openminds/computation/data_analysis.py +++ b/fairgraph/openminds/computation/data_analysis.py @@ -4,187 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import DataAnalysis as OMDataAnalysis +from fairgraph import KGObject from datetime import datetime, time -class DataAnalysis(KGObject): +class DataAnalysis(KGObject, OMDataAnalysis): """ Structured information on inspecting, cleansing, transforming, and modelling data. """ + type_ = "https://openminds.om-i.org/types/DataAnalysis" default_space = "computation" - type_ = "https://openminds.ebrains.eu/computation/DataAnalysis" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the data analysis.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "environment", - ["openminds.computation.Environment", "openminds.core.WebServiceVersion"], - "vocab:environment", - required=True, - doc="no description available", - ), - Property( - "inputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.SoftwareVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "launch_configuration", - "openminds.computation.LaunchConfiguration", - "vocab:launchConfiguration", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileArchive", - "openminds.core.FileBundle", - ], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "resource_usages", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:resourceUsage", - multiple=True, - doc="no description available", - ), - Property("start_time", [datetime, time], "vocab:startTime", required=True, doc="no description available"), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - Property( - "status", "openminds.controlled_terms.ActionStatusType", "vocab:status", doc="no description available" - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property("tags", str, "vocab:tag", multiple=True, doc="no description available"), - Property( - "techniques", - "openminds.controlled_terms.AnalysisTechnique", - "vocab:technique", - multiple=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "was_informed_by", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:wasInformedBy", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "informed", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:wasInformedBy", + "wasInformedBy", reverse="was_informed_by", multiple=True, - doc="reverse of 'was_informed_by'", + description="reverse of 'was_informed_by'", ), Property( "is_part_of", - "openminds.computation.WorkflowExecution", - "^vocab:stage", + "openminds.latest.computation.WorkflowExecution", + "stage", reverse="stages", multiple=True, - doc="reverse of 'stages'", + description="reverse of 'stages'", ), ] existence_query_properties = ("lookup_label",) @@ -216,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/data_copy.py b/fairgraph/openminds/computation/data_copy.py index 3a049b44..65c86639 100644 --- a/fairgraph/openminds/computation/data_copy.py +++ b/fairgraph/openminds/computation/data_copy.py @@ -4,183 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import DataCopy as OMDataCopy +from fairgraph import KGObject from datetime import datetime, time -class DataCopy(KGObject): +class DataCopy(KGObject, OMDataCopy): """ """ + type_ = "https://openminds.om-i.org/types/DataCopy" default_space = "computation" - type_ = "https://openminds.ebrains.eu/computation/DataCopy" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the data copy.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "environment", - ["openminds.computation.Environment", "openminds.core.WebServiceVersion"], - "vocab:environment", - required=True, - doc="no description available", - ), - Property( - "inputs", - [ - "openminds.computation.LocalFile", - "openminds.computation.ValidationTestVersion", - "openminds.core.DatasetVersion", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "launch_configuration", - "openminds.computation.LaunchConfiguration", - "vocab:launchConfiguration", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - ["openminds.computation.LocalFile", "openminds.core.File", "openminds.core.FileBundle"], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "resource_usages", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:resourceUsage", - multiple=True, - doc="no description available", - ), - Property("start_time", [datetime, time], "vocab:startTime", required=True, doc="no description available"), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - Property( - "status", "openminds.controlled_terms.ActionStatusType", "vocab:status", doc="no description available" - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property("tags", str, "vocab:tag", multiple=True, doc="no description available"), - Property( - "techniques", - "openminds.controlled_terms.AnalysisTechnique", - "vocab:technique", - multiple=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "was_informed_by", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:wasInformedBy", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "informed", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:wasInformedBy", + "wasInformedBy", reverse="was_informed_by", multiple=True, - doc="reverse of 'was_informed_by'", + description="reverse of 'was_informed_by'", ), Property( "is_part_of", - "openminds.computation.WorkflowExecution", - "^vocab:stage", + "openminds.latest.computation.WorkflowExecution", + "stage", reverse="stages", multiple=True, - doc="reverse of 'stages'", + description="reverse of 'stages'", ), ] existence_query_properties = ("lookup_label",) @@ -212,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/environment.py b/fairgraph/openminds/computation/environment.py index 416b4a27..297cecf2 100644 --- a/fairgraph/openminds/computation/environment.py +++ b/fairgraph/openminds/computation/environment.py @@ -4,66 +4,36 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import Environment as OMEnvironment +from fairgraph import KGObject -class Environment(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" - type_ = "https://openminds.ebrains.eu/computation/Environment" - properties = [ - Property( - "configuration", "openminds.core.Configuration", "vocab:configuration", doc="no description available" - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the environment.", - ), - Property( - "hardware", - "openminds.computation.HardwareSystem", - "vocab:hardware", - required=True, - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the environment.", - ), - Property( - "software", - "openminds.core.SoftwareVersion", - "vocab:software", - multiple=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "used_for", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.SoftwareAgent", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.SoftwareAgent", + "openminds.latest.computation.Visualization", ], - "^vocab:environment", + "environment", reverse="environment", multiple=True, - doc="reverse of 'environment'", + description="reverse of 'environment'", ), ] existence_query_properties = ("hardware", "name") @@ -81,7 +51,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/generic_computation.py b/fairgraph/openminds/computation/generic_computation.py index 038d5419..c321cd2c 100644 --- a/fairgraph/openminds/computation/generic_computation.py +++ b/fairgraph/openminds/computation/generic_computation.py @@ -4,185 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import GenericComputation as OMGenericComputation +from fairgraph import KGObject from datetime import datetime, time -class GenericComputation(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/GenericComputation" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the generic computation.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "environment", - ["openminds.computation.Environment", "openminds.core.WebServiceVersion"], - "vocab:environment", - required=True, - doc="no description available", - ), - Property( - "inputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.SoftwareVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "launch_configuration", - "openminds.computation.LaunchConfiguration", - "vocab:launchConfiguration", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileArchive", - "openminds.core.FileBundle", - ], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "resource_usages", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:resourceUsage", - multiple=True, - doc="no description available", - ), - Property("start_time", [datetime, time], "vocab:startTime", required=True, doc="no description available"), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - Property( - "status", "openminds.controlled_terms.ActionStatusType", "vocab:status", doc="no description available" - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property("tags", str, "vocab:tag", multiple=True, doc="no description available"), - Property( - "techniques", - "openminds.controlled_terms.AnalysisTechnique", - "vocab:technique", - multiple=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "was_informed_by", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:wasInformedBy", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "informed", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:wasInformedBy", + "wasInformedBy", reverse="was_informed_by", multiple=True, - doc="reverse of 'was_informed_by'", + description="reverse of 'was_informed_by'", ), Property( "is_part_of", - "openminds.computation.WorkflowExecution", - "^vocab:stage", + "openminds.latest.computation.WorkflowExecution", + "stage", reverse="stages", multiple=True, - doc="reverse of 'stages'", + description="reverse of 'stages'", ), ] existence_query_properties = ("lookup_label",) @@ -214,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/hardware_system.py b/fairgraph/openminds/computation/hardware_system.py index 8c3f2cba..73a0799d 100644 --- a/fairgraph/openminds/computation/hardware_system.py +++ b/fairgraph/openminds/computation/hardware_system.py @@ -4,46 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import HardwareSystem as OMHardwareSystem +from fairgraph import KGObject -class HardwareSystem(KGObject): +class HardwareSystem(KGObject, OMHardwareSystem): """ Structured information about computing hardware. """ + type_ = "https://openminds.om-i.org/types/HardwareSystem" default_space = "computation" - type_ = "https://openminds.ebrains.eu/computation/HardwareSystem" - properties = [ - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the hardware system.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the hardware system.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - doc="Term or code used to identify the version of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "used_by", - "openminds.computation.Environment", - "^vocab:hardware", + "openminds.latest.computation.Environment", + "hardware", reverse="hardware", multiple=True, - doc="reverse of 'hardware'", + description="reverse of 'hardware'", ), ] existence_query_properties = ("name",) @@ -59,7 +40,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/launch_configuration.py b/fairgraph/openminds/computation/launch_configuration.py index c0f528ac..990e9991 100644 --- a/fairgraph/openminds/computation/launch_configuration.py +++ b/fairgraph/openminds/computation/launch_configuration.py @@ -4,55 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import LaunchConfiguration as OMLaunchConfiguration +from fairgraph import KGObject -class LaunchConfiguration(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" - type_ = "https://openminds.ebrains.eu/computation/LaunchConfiguration" - properties = [ - Property("arguments", str, "vocab:argument", multiple=True, doc="no description available"), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the launch configuration.", - ), - Property( - "environment_variables", - "openminds.core.PropertyValueList", - "vocab:environmentVariable", - doc="no description available", - ), - Property("executable", str, "vocab:executable", required=True, doc="no description available"), - Property( - "name", - str, - "vocab:name", - doc="Word or phrase that constitutes the distinctive designation of the launch configuration.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_launch_configuration_of", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:launchConfiguration", + "launchConfiguration", reverse="launch_configuration", multiple=True, - doc="reverse of 'launch_configuration'", + description="reverse of 'launch_configuration'", ), ] existence_query_properties = ("executable", "name") @@ -70,7 +50,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/local_file.py b/fairgraph/openminds/computation/local_file.py index c569983c..fd4c4001 100644 --- a/fairgraph/openminds/computation/local_file.py +++ b/fairgraph/openminds/computation/local_file.py @@ -4,84 +4,43 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import LocalFile as OMLocalFile +from fairgraph import KGObject -class LocalFile(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 = "computation" - type_ = "https://openminds.ebrains.eu/computation/LocalFile" - properties = [ - Property("content_description", str, "vocab:contentDescription", doc="no description available"), - Property("copy_of", "openminds.core.File", "vocab:copyOf", doc="no description available"), - Property( - "data_types", - "openminds.controlled_terms.DataType", - "vocab:dataType", - multiple=True, - doc="no description available", - ), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "hash", - "openminds.core.Hash", - "vocab:hash", - doc="Term used for the process of converting any data into a single value. Often also directly refers to the resulting single value.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the local file.", - ), - Property("path", str, "vocab:path", required=True, doc="no description available"), - Property( - "special_usage_role", - "openminds.controlled_terms.FileUsageRole", - "vocab:specialUsageRole", - doc="Particular function of something when it is used.", - ), - Property( - "storage_size", - "openminds.core.QuantitativeValue", - "vocab:storageSize", - doc="Quantitative value defining how much disk space is used by an object on a computer system.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_output_of", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:output", + "output", reverse="outputs", multiple=True, - doc="reverse of 'outputs'", + description="reverse of 'outputs'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), ] existence_query_properties = ("name", "path") @@ -104,7 +63,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/model_validation.py b/fairgraph/openminds/computation/model_validation.py index 9300c453..69b78647 100644 --- a/fairgraph/openminds/computation/model_validation.py +++ b/fairgraph/openminds/computation/model_validation.py @@ -4,184 +4,47 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import ModelValidation as OMModelValidation +from fairgraph import KGObject from datetime import datetime, time from numbers import Real -class ModelValidation(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/ModelValidation" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the model validation.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "environment", - ["openminds.computation.Environment", "openminds.core.WebServiceVersion"], - "vocab:environment", - required=True, - doc="no description available", - ), - Property( - "inputs", - [ - "openminds.computation.LocalFile", - "openminds.computation.ValidationTestVersion", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "launch_configuration", - "openminds.computation.LaunchConfiguration", - "vocab:launchConfiguration", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - ["openminds.computation.LocalFile", "openminds.core.File", "openminds.core.FileBundle"], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "resource_usages", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:resourceUsage", - multiple=True, - doc="no description available", - ), - Property("score", Real, "vocab:score", doc="no description available"), - Property("start_time", [datetime, time], "vocab:startTime", required=True, doc="no description available"), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - Property( - "status", "openminds.controlled_terms.ActionStatusType", "vocab:status", doc="no description available" - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property("tags", str, "vocab:tag", multiple=True, doc="no description available"), - Property( - "techniques", - "openminds.controlled_terms.AnalysisTechnique", - "vocab:technique", - multiple=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "was_informed_by", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:wasInformedBy", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "informed", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:wasInformedBy", + "wasInformedBy", reverse="was_informed_by", multiple=True, - doc="reverse of 'was_informed_by'", + description="reverse of 'was_informed_by'", ), Property( "is_part_of", - "openminds.computation.WorkflowExecution", - "^vocab:stage", + "openminds.latest.computation.WorkflowExecution", + "stage", reverse="stages", multiple=True, - doc="reverse of 'stages'", + description="reverse of 'stages'", ), ] existence_query_properties = ("lookup_label",) @@ -214,7 +77,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/optimization.py b/fairgraph/openminds/computation/optimization.py index 698f14a6..1c3420a2 100644 --- a/fairgraph/openminds/computation/optimization.py +++ b/fairgraph/openminds/computation/optimization.py @@ -4,186 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import Optimization as OMOptimization +from fairgraph import KGObject from datetime import datetime, time -class Optimization(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/Optimization" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the optimization.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "environment", - ["openminds.computation.Environment", "openminds.core.WebServiceVersion"], - "vocab:environment", - required=True, - doc="no description available", - ), - Property( - "inputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "launch_configuration", - "openminds.computation.LaunchConfiguration", - "vocab:launchConfiguration", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.ModelVersion", - ], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "resource_usages", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:resourceUsage", - multiple=True, - doc="no description available", - ), - Property("start_time", [datetime, time], "vocab:startTime", required=True, doc="no description available"), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - Property( - "status", "openminds.controlled_terms.ActionStatusType", "vocab:status", doc="no description available" - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property("tags", str, "vocab:tag", multiple=True, doc="no description available"), - Property( - "techniques", - "openminds.controlled_terms.AnalysisTechnique", - "vocab:technique", - multiple=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "was_informed_by", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:wasInformedBy", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "informed", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:wasInformedBy", + "wasInformedBy", reverse="was_informed_by", multiple=True, - doc="reverse of 'was_informed_by'", + description="reverse of 'was_informed_by'", ), Property( "is_part_of", - "openminds.computation.WorkflowExecution", - "^vocab:stage", + "openminds.latest.computation.WorkflowExecution", + "stage", reverse="stages", multiple=True, - doc="reverse of 'stages'", + description="reverse of 'stages'", ), ] existence_query_properties = ("lookup_label",) @@ -215,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/simulation.py b/fairgraph/openminds/computation/simulation.py index 564c820c..d3ecbfcd 100644 --- a/fairgraph/openminds/computation/simulation.py +++ b/fairgraph/openminds/computation/simulation.py @@ -4,186 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import Simulation as OMSimulation +from fairgraph import KGObject from datetime import datetime, time -class Simulation(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/Simulation" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the simulation.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "environment", - ["openminds.computation.Environment", "openminds.core.WebServiceVersion"], - "vocab:environment", - required=True, - doc="no description available", - ), - Property( - "inputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "launch_configuration", - "openminds.computation.LaunchConfiguration", - "vocab:launchConfiguration", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileArchive", - "openminds.core.FileBundle", - ], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "resource_usages", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:resourceUsage", - multiple=True, - doc="no description available", - ), - Property("start_time", [datetime, time], "vocab:startTime", required=True, doc="no description available"), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - Property( - "status", "openminds.controlled_terms.ActionStatusType", "vocab:status", doc="no description available" - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property("tags", str, "vocab:tag", multiple=True, doc="no description available"), - Property( - "techniques", - "openminds.controlled_terms.AnalysisTechnique", - "vocab:technique", - multiple=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "was_informed_by", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:wasInformedBy", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "informed", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:wasInformedBy", + "wasInformedBy", reverse="was_informed_by", multiple=True, - doc="reverse of 'was_informed_by'", + description="reverse of 'was_informed_by'", ), Property( "is_part_of", - "openminds.computation.WorkflowExecution", - "^vocab:stage", + "openminds.latest.computation.WorkflowExecution", + "stage", reverse="stages", multiple=True, - doc="reverse of 'stages'", + description="reverse of 'stages'", ), ] existence_query_properties = ("lookup_label",) @@ -215,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/software_agent.py b/fairgraph/openminds/computation/software_agent.py index f1dc559a..5aec43dc 100644 --- a/fairgraph/openminds/computation/software_agent.py +++ b/fairgraph/openminds/computation/software_agent.py @@ -4,70 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import SoftwareAgent as OMSoftwareAgent +from fairgraph import KGObject -class SoftwareAgent(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" - type_ = "https://openminds.ebrains.eu/computation/SoftwareAgent" - properties = [ - Property( - "environment", "openminds.computation.Environment", "vocab:environment", doc="no description available" - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the software agent.", - ), - Property( - "software", - "openminds.core.SoftwareVersion", - "vocab:software", - required=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "activities", [ - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:performedBy", + "performedBy", reverse="performed_by", multiple=True, - doc="reverse of 'performed_by'", + description="reverse of 'performed_by'", ), Property( "started", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - "openminds.computation.WorkflowExecution", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", + "openminds.latest.computation.WorkflowExecution", ], - "^vocab:startedBy", + "startedBy", reverse="started_by", multiple=True, - doc="reverse of 'started_by'", + description="reverse of 'started_by'", ), ] existence_query_properties = ("name", "software") @@ -84,7 +67,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/validation_test.py b/fairgraph/openminds/computation/validation_test.py index 784e9643..c7fceea3 100644 --- a/fairgraph/openminds/computation/validation_test.py +++ b/fairgraph/openminds/computation/validation_test.py @@ -4,153 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import ValidationTest as OMValidationTest +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ValidationTest(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/ValidationTest" - properties = [ - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the validation test.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - required=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", - str, - "vocab:fullName", - required=True, - doc="Whole, non-abbreviated name of the validation test.", - ), - Property( - "has_versions", - "openminds.computation.ValidationTestVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the validation test."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property("model_scope", "openminds.controlled_terms.ModelScope", "vocab:scope", doc="Extent of something."), - Property( - "reference_data_acquisitions", - "openminds.controlled_terms.Technique", - "vocab:referenceDataAcquisition", - multiple=True, - doc="no description available", - ), - Property( - "score_type", - "openminds.controlled_terms.DifferenceMeasure", - "vocab:scoreType", - doc="no description available", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the validation test.", - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -182,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/validation_test_version.py b/fairgraph/openminds/computation/validation_test_version.py index 9303dbb6..014216b1 100644 --- a/fairgraph/openminds/computation/validation_test_version.py +++ b/fairgraph/openminds/computation/validation_test_version.py @@ -4,333 +4,72 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import ValidationTestVersion as OMValidationTestVersion +from fairgraph import KGObject from fairgraph.errors import ResolutionFailure from .validation_test import ValidationTest from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class ValidationTestVersion(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/ValidationTestVersion" - properties = [ - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the validation test version.", - ), - Property( - "configuration", - [ - "openminds.core.Configuration", - "openminds.core.File", - "openminds.core.PropertyValueList", - "openminds.core.WebResource", - ], - "vocab:configuration", - doc="no description available", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the validation test version.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("entry_point", str, "vocab:entryPoint", doc="no description available"), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - required=True, - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property( - "full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the validation test version." - ), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the validation test version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "is_alternative_version_of", - "openminds.computation.ValidationTestVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.computation.ValidationTestVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the validation test version.", - ), - Property( - "licenses", - "openminds.core.License", - "vocab:license", - multiple=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "reference_data", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.FileBundle", "openminds.core.WebResource"], - "vocab:referenceData", - multiple=True, - doc="no description available", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the validation test version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_input_to", - ["openminds.computation.DataCopy", "openminds.computation.ModelValidation"], - "^vocab:input", + ["openminds.latest.computation.DataCopy", "openminds.latest.computation.ModelValidation"], + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_old_version_of", - "openminds.computation.ValidationTestVersion", - "^vocab:isNewVersionOf", + "openminds.latest.computation.ValidationTestVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.computation.ValidationTest", - "^vocab:hasVersion", + "openminds.latest.computation.ValidationTest", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -378,7 +117,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/visualization.py b/fairgraph/openminds/computation/visualization.py index 8762ac6d..145f068d 100644 --- a/fairgraph/openminds/computation/visualization.py +++ b/fairgraph/openminds/computation/visualization.py @@ -4,185 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import Visualization as OMVisualization +from fairgraph import KGObject from datetime import datetime, time -class Visualization(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/Visualization" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the visualization.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "environment", - ["openminds.computation.Environment", "openminds.core.WebServiceVersion"], - "vocab:environment", - required=True, - doc="no description available", - ), - Property( - "inputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.SoftwareVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "launch_configuration", - "openminds.computation.LaunchConfiguration", - "vocab:launchConfiguration", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - [ - "openminds.computation.LocalFile", - "openminds.core.File", - "openminds.core.FileArchive", - "openminds.core.FileBundle", - ], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "resource_usages", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:resourceUsage", - multiple=True, - doc="no description available", - ), - Property("start_time", [datetime, time], "vocab:startTime", required=True, doc="no description available"), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - Property( - "status", "openminds.controlled_terms.ActionStatusType", "vocab:status", doc="no description available" - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property("tags", str, "vocab:tag", multiple=True, doc="no description available"), - Property( - "techniques", - "openminds.controlled_terms.AnalysisTechnique", - "vocab:technique", - multiple=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "was_informed_by", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:wasInformedBy", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "informed", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:wasInformedBy", + "wasInformedBy", reverse="was_informed_by", multiple=True, - doc="reverse of 'was_informed_by'", + description="reverse of 'was_informed_by'", ), Property( "is_part_of", - "openminds.computation.WorkflowExecution", - "^vocab:stage", + "openminds.latest.computation.WorkflowExecution", + "stage", reverse="stages", multiple=True, - doc="reverse of 'stages'", + description="reverse of 'stages'", ), ] existence_query_properties = ("lookup_label",) @@ -214,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/workflow_execution.py b/fairgraph/openminds/computation/workflow_execution.py index 5bb24608..617b2140 100644 --- a/fairgraph/openminds/computation/workflow_execution.py +++ b/fairgraph/openminds/computation/workflow_execution.py @@ -4,57 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import WorkflowExecution as OMWorkflowExecution +from fairgraph import KGObject -class WorkflowExecution(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" - type_ = "https://openminds.ebrains.eu/computation/WorkflowExecution" - properties = [ - Property( - "configuration", - ["openminds.core.Configuration", "openminds.core.File"], - "vocab:configuration", - doc="no description available", - ), - Property( - "recipe", "openminds.computation.WorkflowRecipeVersion", "vocab:recipe", doc="no description available" - ), - Property( - "stages", - [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - ], - "vocab:stage", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "started_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:startedBy", - doc="no description available", - ), - ] + # 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, scope=None ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/workflow_recipe.py b/fairgraph/openminds/computation/workflow_recipe.py index e73a3a1d..2cb39253 100644 --- a/fairgraph/openminds/computation/workflow_recipe.py +++ b/fairgraph/openminds/computation/workflow_recipe.py @@ -4,103 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import WorkflowRecipe as OMWorkflowRecipe +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class WorkflowRecipe(KGObject): +class WorkflowRecipe(KGObject, OMWorkflowRecipe): """ Structured information about the description of a prospective workflow. """ + type_ = "https://openminds.om-i.org/types/WorkflowRecipe" default_space = "computation" - type_ = "https://openminds.ebrains.eu/computation/WorkflowRecipe" - properties = [ - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the workflow recipe.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - required=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", - str, - "vocab:fullName", - required=True, - doc="Whole, non-abbreviated name of the workflow recipe.", - ), - Property( - "has_versions", - "openminds.computation.WorkflowRecipeVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the workflow recipe."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the workflow recipe.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -128,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/computation/workflow_recipe_version.py b/fairgraph/openminds/computation/workflow_recipe_version.py index a40ca40f..76e7ed84 100644 --- a/fairgraph/openminds/computation/workflow_recipe_version.py +++ b/fairgraph/openminds/computation/workflow_recipe_version.py @@ -4,334 +4,80 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.computation import WorkflowRecipeVersion as OMWorkflowRecipeVersion +from fairgraph import KGObject from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class WorkflowRecipeVersion(KGObject): +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" - type_ = "https://openminds.ebrains.eu/computation/WorkflowRecipeVersion" - properties = [ - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the workflow recipe version.", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the workflow recipe version.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - required=True, - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property( - "full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the workflow recipe version." - ), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "has_parts", - [ - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.SoftwareVersion", - ], - "vocab:hasPart", - multiple=True, - doc="no description available", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the workflow recipe version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "is_alternative_version_of", - "openminds.computation.WorkflowRecipeVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.computation.WorkflowRecipeVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the workflow recipe version.", - ), - Property( - "licenses", - "openminds.core.License", - "vocab:license", - multiple=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the workflow recipe version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "defined", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - "openminds.computation.WorkflowExecution", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", + "openminds.latest.computation.WorkflowExecution", ], - "^vocab:recipe", + "recipe", reverse="recipe", multiple=True, - doc="reverse of 'recipe'", + description="reverse of 'recipe'", ), Property( "is_old_version_of", - "openminds.computation.WorkflowRecipeVersion", - "^vocab:isNewVersionOf", + "openminds.latest.computation.WorkflowRecipeVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.computation.WorkflowRecipe", - "^vocab:hasVersion", + "openminds.latest.computation.WorkflowRecipe", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -377,7 +123,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/__init__.py b/fairgraph/openminds/controlled_terms/__init__.py index 403a50b7..958b3cae 100644 --- a/fairgraph/openminds/controlled_terms/__init__.py +++ b/fairgraph/openminds/controlled_terms/__init__.py @@ -49,7 +49,7 @@ from .model_abstraction_level import ModelAbstractionLevel from .model_scope import ModelScope from .molecular_entity import MolecularEntity -from .mr_acquisition_type import MRAcquisitionType +from .mr_spatial_encoding import MRSpatialEncoding from .mri_pulse_sequence import MRIPulseSequence from .mri_weighting import MRIWeighting from .olfactory_stimulus_type import OlfactoryStimulusType diff --git a/fairgraph/openminds/controlled_terms/action_status_type.py b/fairgraph/openminds/controlled_terms/action_status_type.py index 3b96544e..10af58df 100644 --- a/fairgraph/openminds/controlled_terms/action_status_type.py +++ b/fairgraph/openminds/controlled_terms/action_status_type.py @@ -4,105 +4,61 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ActionStatusType as OMActionStatusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ActionStatusType(KGObject): +class ActionStatusType(KGObject, OMActionStatusType): """ Structured information about the status of an action. """ + type_ = "https://openminds.om-i.org/types/ActionStatusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ActionStatusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the action status type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the action status type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_status_of", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:status", + "status", reverse="status", multiple=True, - doc="reverse of 'status'", + description="reverse of 'status'", ), ] existence_query_properties = ("name",) @@ -123,7 +79,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/age_category.py b/fairgraph/openminds/controlled_terms/age_category.py index 982d872c..3cfc05fe 100644 --- a/fairgraph/openminds/controlled_terms/age_category.py +++ b/fairgraph/openminds/controlled_terms/age_category.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AgeCategory as OMAgeCategory +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AgeCategory(KGObject): +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" - type_ = "https://openminds.ebrains.eu/controlledTerms/AgeCategory" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the age category.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the age category.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_age_category_of", - ["openminds.core.SubjectGroupState", "openminds.core.SubjectState"], - "^vocab:ageCategory", + ["openminds.latest.core.SubjectGroupState", "openminds.latest.core.SubjectState"], + "ageCategory", reverse="age_categories", multiple=True, - doc="reverse of 'age_categories'", + description="reverse of 'age_categories'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/analysis_technique.py b/fairgraph/openminds/controlled_terms/analysis_technique.py index b13b1084..08ab551d 100644 --- a/fairgraph/openminds/controlled_terms/analysis_technique.py +++ b/fairgraph/openminds/controlled_terms/analysis_technique.py @@ -4,114 +4,70 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AnalysisTechnique as OMAnalysisTechnique +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AnalysisTechnique(KGObject): +class AnalysisTechnique(KGObject, OMAnalysisTechnique): """ """ + type_ = "https://openminds.om-i.org/types/AnalysisTechnique" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/AnalysisTechnique" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the analysis technique.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the analysis technique.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Protocol", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Protocol", ], - "^vocab:technique", + "technique", reverse="techniques", multiple=True, - doc="reverse of 'techniques'", + description="reverse of 'techniques'", ), ] existence_query_properties = ("name",) @@ -133,7 +89,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/anatomical_axes_orientation.py b/fairgraph/openminds/controlled_terms/anatomical_axes_orientation.py index d146f7ea..c2354c2d 100644 --- a/fairgraph/openminds/controlled_terms/anatomical_axes_orientation.py +++ b/fairgraph/openminds/controlled_terms/anatomical_axes_orientation.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AnatomicalAxesOrientation as OMAnatomicalAxesOrientation +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AnatomicalAxesOrientation(KGObject): +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" - type_ = "https://openminds.ebrains.eu/controlledTerms/AnatomicalAxesOrientation" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the anatomical axes orientation.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the anatomical axes orientation.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_orientation_of", - "openminds.sands.CustomCoordinateSpace", - "^vocab:anatomicalAxesOrientation", + "openminds.latest.sands.CustomCoordinateSpace", + "anatomicalAxesOrientation", reverse="anatomical_axes_orientation", multiple=True, - doc="reverse of 'anatomical_axes_orientation'", + description="reverse of 'anatomical_axes_orientation'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/anatomical_identification_type.py b/fairgraph/openminds/controlled_terms/anatomical_identification_type.py index 9d3f164e..8fcc906e 100644 --- a/fairgraph/openminds/controlled_terms/anatomical_identification_type.py +++ b/fairgraph/openminds/controlled_terms/anatomical_identification_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AnatomicalIdentificationType as OMAnatomicalIdentificationType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AnatomicalIdentificationType(KGObject): +class AnatomicalIdentificationType(KGObject, OMAnatomicalIdentificationType): """ """ + type_ = "https://openminds.om-i.org/types/AnatomicalIdentificationType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/AnatomicalIdentificationType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the anatomical identification type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the anatomical identification type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:targetIdentificationType", + "openminds.latest.sands.AnatomicalTargetPosition", + "targetIdentificationType", reverse="target_identification_type", multiple=True, - doc="reverse of 'target_identification_type'", + description="reverse of 'target_identification_type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/anatomical_plane.py b/fairgraph/openminds/controlled_terms/anatomical_plane.py index 6881cf3e..6851bdc9 100644 --- a/fairgraph/openminds/controlled_terms/anatomical_plane.py +++ b/fairgraph/openminds/controlled_terms/anatomical_plane.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AnatomicalPlane as OMAnatomicalPlane +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AnatomicalPlane(KGObject): +class AnatomicalPlane(KGObject, OMAnatomicalPlane): """ """ + type_ = "https://openminds.om-i.org/types/AnatomicalPlane" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/AnatomicalPlane" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the anatomical plane.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the anatomical plane.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_in", - "openminds.specimen_prep.SlicingDeviceUsage", - "^vocab:slicingPlane", + "openminds.latest.specimen_prep.SlicingDeviceUsage", + "slicingPlane", reverse="slicing_plane", multiple=True, - doc="reverse of 'slicing_plane'", + description="reverse of 'slicing_plane'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/annotation_criteria_type.py b/fairgraph/openminds/controlled_terms/annotation_criteria_type.py index e13f5648..378f7b53 100644 --- a/fairgraph/openminds/controlled_terms/annotation_criteria_type.py +++ b/fairgraph/openminds/controlled_terms/annotation_criteria_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AnnotationCriteriaType as OMAnnotationCriteriaType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AnnotationCriteriaType(KGObject): +class AnnotationCriteriaType(KGObject, OMAnnotationCriteriaType): """ """ + type_ = "https://openminds.om-i.org/types/AnnotationCriteriaType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/AnnotationCriteriaType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the annotation criteria type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the annotation criteria type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_by_annotation", - ["openminds.sands.AtlasAnnotation", "openminds.sands.CustomAnnotation"], - "^vocab:criteriaType", + ["openminds.latest.sands.AtlasAnnotation", "openminds.latest.sands.CustomAnnotation"], + "criteriaType", reverse="criteria_type", multiple=True, - doc="reverse of 'criteria_type'", + description="reverse of 'criteria_type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/annotation_type.py b/fairgraph/openminds/controlled_terms/annotation_type.py index e7d75766..812a06a4 100644 --- a/fairgraph/openminds/controlled_terms/annotation_type.py +++ b/fairgraph/openminds/controlled_terms/annotation_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AnnotationType as OMAnnotationType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AnnotationType(KGObject): +class AnnotationType(KGObject, OMAnnotationType): """ """ + type_ = "https://openminds.om-i.org/types/AnnotationType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/AnnotationType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the annotation type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the annotation type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - ["openminds.sands.AtlasAnnotation", "openminds.sands.CustomAnnotation"], - "^vocab:type", + ["openminds.latest.sands.AtlasAnnotation", "openminds.latest.sands.CustomAnnotation"], + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/atlas_type.py b/fairgraph/openminds/controlled_terms/atlas_type.py index 6dc99afc..fee26948 100644 --- a/fairgraph/openminds/controlled_terms/atlas_type.py +++ b/fairgraph/openminds/controlled_terms/atlas_type.py @@ -4,96 +4,52 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AtlasType as OMAtlasType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AtlasType(KGObject): +class AtlasType(KGObject, OMAtlasType): """ """ + type_ = "https://openminds.om-i.org/types/AtlasType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/AtlasType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the atlas type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the atlas type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.sands.BrainAtlasVersion", - "^vocab:type", + "openminds.latest.sands.BrainAtlasVersion", + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), ] existence_query_properties = ("name",) @@ -114,7 +70,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/auditory_stimulus_type.py b/fairgraph/openminds/controlled_terms/auditory_stimulus_type.py index 20aac91c..1101086e 100644 --- a/fairgraph/openminds/controlled_terms/auditory_stimulus_type.py +++ b/fairgraph/openminds/controlled_terms/auditory_stimulus_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import AuditoryStimulusType as OMAuditoryStimulusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class AuditoryStimulusType(KGObject): +class AuditoryStimulusType(KGObject, OMAuditoryStimulusType): """ """ + type_ = "https://openminds.om-i.org/types/AuditoryStimulusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/AuditoryStimulusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the auditory stimulus type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the auditory stimulus type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:stimulusType", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "stimulusType", reverse="stimulus_types", multiple=True, - doc="reverse of 'stimulus_types'", + description="reverse of 'stimulus_types'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/biological_order.py b/fairgraph/openminds/controlled_terms/biological_order.py index fae48c3a..43920ff6 100644 --- a/fairgraph/openminds/controlled_terms/biological_order.py +++ b/fairgraph/openminds/controlled_terms/biological_order.py @@ -4,123 +4,79 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import BiologicalOrder as OMBiologicalOrder +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class BiologicalOrder(KGObject): +class BiologicalOrder(KGObject, OMBiologicalOrder): """ """ + type_ = "https://openminds.om-i.org/types/BiologicalOrder" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/BiologicalOrder" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the biological order.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the biological order.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -142,7 +98,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/biological_process.py b/fairgraph/openminds/controlled_terms/biological_process.py index 59f0dea7..d3fdea70 100644 --- a/fairgraph/openminds/controlled_terms/biological_process.py +++ b/fairgraph/openminds/controlled_terms/biological_process.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import BiologicalProcess as OMBiologicalProcess +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class BiologicalProcess(KGObject): +class BiologicalProcess(KGObject, OMBiologicalProcess): """ """ + type_ = "https://openminds.om-i.org/types/BiologicalProcess" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/BiologicalProcess" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the biological process.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the biological process.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/biological_sex.py b/fairgraph/openminds/controlled_terms/biological_sex.py index 3732794f..f44cc1f3 100644 --- a/fairgraph/openminds/controlled_terms/biological_sex.py +++ b/fairgraph/openminds/controlled_terms/biological_sex.py @@ -4,136 +4,92 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import BiologicalSex as OMBiologicalSex +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class BiologicalSex(KGObject): +class BiologicalSex(KGObject, OMBiologicalSex): """ Structured information on the biological sex of a subject. """ + type_ = "https://openminds.om-i.org/types/BiologicalSex" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/BiologicalSex" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the biological sex.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the biological sex.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_biological_sex_of", [ - "openminds.core.Subject", - "openminds.core.SubjectGroup", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", + "openminds.latest.core.Subject", + "openminds.latest.core.SubjectGroup", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", ], - "^vocab:biologicalSex", + "biologicalSex", reverse="biological_sex", multiple=True, - doc="reverse of 'biological_sex'", + description="reverse of 'biological_sex'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -156,7 +112,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/breeding_type.py b/fairgraph/openminds/controlled_terms/breeding_type.py index 44b39c40..bf7e932b 100644 --- a/fairgraph/openminds/controlled_terms/breeding_type.py +++ b/fairgraph/openminds/controlled_terms/breeding_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import BreedingType as OMBreedingType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class BreedingType(KGObject): +class BreedingType(KGObject, OMBreedingType): """ """ + type_ = "https://openminds.om-i.org/types/BreedingType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/BreedingType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the breeding type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the breeding type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_breeding_type_of", - "openminds.core.Strain", - "^vocab:breedingType", + "openminds.latest.core.Strain", + "breedingType", reverse="breeding_type", multiple=True, - doc="reverse of 'breeding_type'", + description="reverse of 'breeding_type'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/cell_culture_type.py b/fairgraph/openminds/controlled_terms/cell_culture_type.py index dc8a83e4..b67b3372 100644 --- a/fairgraph/openminds/controlled_terms/cell_culture_type.py +++ b/fairgraph/openminds/controlled_terms/cell_culture_type.py @@ -4,123 +4,79 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import CellCultureType as OMCellCultureType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class CellCultureType(KGObject): +class CellCultureType(KGObject, OMCellCultureType): """ """ + type_ = "https://openminds.om-i.org/types/CellCultureType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/CellCultureType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the cell culture type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the cell culture type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -142,7 +98,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/cell_type.py b/fairgraph/openminds/controlled_terms/cell_type.py index a8d1f0a5..58173b54 100644 --- a/fairgraph/openminds/controlled_terms/cell_type.py +++ b/fairgraph/openminds/controlled_terms/cell_type.py @@ -4,147 +4,107 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import CellType as OMCellType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class CellType(KGObject): +class CellType(KGObject, OMCellType): """ """ + type_ = "https://openminds.om-i.org/types/CellType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/CellType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the cell type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the cell type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_location_of", - ["openminds.ephys.ElectrodeArrayUsage", "openminds.ephys.ElectrodeUsage", "openminds.ephys.PipetteUsage"], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes"], + [ + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], reverse=["anatomical_location", "anatomical_locations_of_electrodes"], multiple=True, - doc="reverse of anatomical_location, anatomical_locations_of_electrodes", + description="reverse of anatomical_location, anatomical_locations_of_electrodes", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "sample", - ["openminds.core.TissueSample", "openminds.core.TissueSampleCollection"], - "^vocab:origin", + ["openminds.latest.core.TissueSample", "openminds.latest.core.TissueSampleCollection"], + "origin", reverse="origin", multiple=True, - doc="reverse of 'origin'", + description="reverse of 'origin'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -169,7 +129,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/chemical_mixture_type.py b/fairgraph/openminds/controlled_terms/chemical_mixture_type.py index 0780ee8a..286df5cb 100644 --- a/fairgraph/openminds/controlled_terms/chemical_mixture_type.py +++ b/fairgraph/openminds/controlled_terms/chemical_mixture_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ChemicalMixtureType as OMChemicalMixtureType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ChemicalMixtureType(KGObject): +class ChemicalMixtureType(KGObject, OMChemicalMixtureType): """ """ + type_ = "https://openminds.om-i.org/types/ChemicalMixtureType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ChemicalMixtureType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the chemical mixture type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the chemical mixture type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.chemicals.ChemicalMixture", - "^vocab:type", + "openminds.latest.chemicals.ChemicalMixture", + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/colormap.py b/fairgraph/openminds/controlled_terms/colormap.py index 5dc6dc4d..3962225f 100644 --- a/fairgraph/openminds/controlled_terms/colormap.py +++ b/fairgraph/openminds/controlled_terms/colormap.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Colormap as OMColormap +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Colormap(KGObject): +class Colormap(KGObject, OMColormap): """ """ + type_ = "https://openminds.om-i.org/types/Colormap" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Colormap" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the colormap.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the colormap.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/contribution_type.py b/fairgraph/openminds/controlled_terms/contribution_type.py index 312c2e63..c8851727 100644 --- a/fairgraph/openminds/controlled_terms/contribution_type.py +++ b/fairgraph/openminds/controlled_terms/contribution_type.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ContributionType as OMContributionType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ContributionType(KGObject): +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" - type_ = "https://openminds.ebrains.eu/controlledTerms/ContributionType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the contribution type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the contribution type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/cranial_window_construction_type.py b/fairgraph/openminds/controlled_terms/cranial_window_construction_type.py index 83a98268..3fc80254 100644 --- a/fairgraph/openminds/controlled_terms/cranial_window_construction_type.py +++ b/fairgraph/openminds/controlled_terms/cranial_window_construction_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import CranialWindowConstructionType as OMCranialWindowConstructionType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class CranialWindowConstructionType(KGObject): +class CranialWindowConstructionType(KGObject, OMCranialWindowConstructionType): """ """ + type_ = "https://openminds.om-i.org/types/CranialWindowConstructionType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/CranialWindowConstructionType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the cranial window construction type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the cranial window construction type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_for", - "openminds.specimen_prep.CranialWindowPreparation", - "^vocab:constructionType", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "constructionType", reverse="construction_type", multiple=True, - doc="reverse of 'construction_type'", + description="reverse of 'construction_type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/cranial_window_reinforcement_type.py b/fairgraph/openminds/controlled_terms/cranial_window_reinforcement_type.py index b6fd9b2d..0f12b5de 100644 --- a/fairgraph/openminds/controlled_terms/cranial_window_reinforcement_type.py +++ b/fairgraph/openminds/controlled_terms/cranial_window_reinforcement_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import CranialWindowReinforcementType as OMCranialWindowReinforcementType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class CranialWindowReinforcementType(KGObject): +class CranialWindowReinforcementType(KGObject, OMCranialWindowReinforcementType): """ """ + type_ = "https://openminds.om-i.org/types/CranialWindowReinforcementType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/CranialWindowReinforcementType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the cranial window reinforcement type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the cranial window reinforcement type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_for", - "openminds.specimen_prep.CranialWindowPreparation", - "^vocab:reinforcementType", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "reinforcementType", reverse="reinforcement_type", multiple=True, - doc="reverse of 'reinforcement_type'", + description="reverse of 'reinforcement_type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/criteria_quality_type.py b/fairgraph/openminds/controlled_terms/criteria_quality_type.py index ce338274..9a312d11 100644 --- a/fairgraph/openminds/controlled_terms/criteria_quality_type.py +++ b/fairgraph/openminds/controlled_terms/criteria_quality_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import CriteriaQualityType as OMCriteriaQualityType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class CriteriaQualityType(KGObject): +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" - type_ = "https://openminds.ebrains.eu/controlledTerms/CriteriaQualityType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the criteria quality type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the criteria quality type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_by_annotation", - ["openminds.sands.AtlasAnnotation", "openminds.sands.CustomAnnotation"], - "^vocab:criteriaQualityType", + ["openminds.latest.sands.AtlasAnnotation", "openminds.latest.sands.CustomAnnotation"], + "criteriaQualityType", reverse="criteria_quality_type", multiple=True, - doc="reverse of 'criteria_quality_type'", + description="reverse of 'criteria_quality_type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/data_type.py b/fairgraph/openminds/controlled_terms/data_type.py index 71632ff2..b014fd35 100644 --- a/fairgraph/openminds/controlled_terms/data_type.py +++ b/fairgraph/openminds/controlled_terms/data_type.py @@ -4,97 +4,57 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import DataType as OMDataType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class DataType(KGObject): +class DataType(KGObject, OMDataType): """ """ + type_ = "https://openminds.om-i.org/types/DataType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/DataType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the data type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the data type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_data_type_of", - ["openminds.computation.LocalFile", "openminds.core.ContentType", "openminds.core.File"], - "^vocab:dataType", + [ + "openminds.latest.computation.LocalFile", + "openminds.latest.core.ContentType", + "openminds.latest.core.File", + ], + "dataType", reverse="data_types", multiple=True, - doc="reverse of 'data_types'", + description="reverse of 'data_types'", ), ] existence_query_properties = ("name",) @@ -115,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/device_type.py b/fairgraph/openminds/controlled_terms/device_type.py index 970c531d..74c156a4 100644 --- a/fairgraph/openminds/controlled_terms/device_type.py +++ b/fairgraph/openminds/controlled_terms/device_type.py @@ -4,102 +4,58 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import DeviceType as OMDeviceType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class DeviceType(KGObject): +class DeviceType(KGObject, OMDeviceType): """ """ + type_ = "https://openminds.om-i.org/types/DeviceType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/DeviceType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the device type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the device type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", [ - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", - "openminds.specimen_prep.SlicingDevice", + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + "openminds.latest.specimen_prep.SlicingDevice", ], - "^vocab:deviceType", + "deviceType", reverse="device_type", multiple=True, - doc="reverse of 'device_type'", + description="reverse of 'device_type'", ), ] existence_query_properties = ("name",) @@ -120,7 +76,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/difference_measure.py b/fairgraph/openminds/controlled_terms/difference_measure.py index 92ada1ac..3b89443e 100644 --- a/fairgraph/openminds/controlled_terms/difference_measure.py +++ b/fairgraph/openminds/controlled_terms/difference_measure.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import DifferenceMeasure as OMDifferenceMeasure +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class DifferenceMeasure(KGObject): +class DifferenceMeasure(KGObject, OMDifferenceMeasure): """ """ + type_ = "https://openminds.om-i.org/types/DifferenceMeasure" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/DifferenceMeasure" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the difference measure.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the difference measure.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_score_type_of", - "openminds.computation.ValidationTest", - "^vocab:scoreType", + "openminds.latest.computation.ValidationTest", + "scoreType", reverse="score_type", multiple=True, - doc="reverse of 'score_type'", + description="reverse of 'score_type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/disease.py b/fairgraph/openminds/controlled_terms/disease.py index df12a39a..700a2b68 100644 --- a/fairgraph/openminds/controlled_terms/disease.py +++ b/fairgraph/openminds/controlled_terms/disease.py @@ -4,144 +4,100 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Disease as OMDisease +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Disease(KGObject): +class Disease(KGObject, OMDisease): """ Structured information on a disease. """ + type_ = "https://openminds.om-i.org/types/Disease" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Disease" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the disease.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the disease.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_modeled_by", - "openminds.core.Strain", - "^vocab:diseaseModel", + "openminds.latest.core.Strain", + "diseaseModel", reverse="disease_models", multiple=True, - doc="reverse of 'disease_models'", + description="reverse of 'disease_models'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "specimen_state", [ - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", + "openminds.latest.core.SubjectGroupState", + "openminds.latest.core.SubjectState", + "openminds.latest.core.TissueSampleCollectionState", + "openminds.latest.core.TissueSampleState", ], - "^vocab:pathology", + "pathology", reverse="pathologies", multiple=True, - doc="reverse of 'pathologies'", + description="reverse of 'pathologies'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -165,7 +121,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/disease_model.py b/fairgraph/openminds/controlled_terms/disease_model.py index 0fdf8874..005bdf2d 100644 --- a/fairgraph/openminds/controlled_terms/disease_model.py +++ b/fairgraph/openminds/controlled_terms/disease_model.py @@ -4,144 +4,100 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import DiseaseModel as OMDiseaseModel +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class DiseaseModel(KGObject): +class DiseaseModel(KGObject, OMDiseaseModel): """ """ + type_ = "https://openminds.om-i.org/types/DiseaseModel" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/DiseaseModel" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the disease model.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the disease model.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_modeled_by", - "openminds.core.Strain", - "^vocab:diseaseModel", + "openminds.latest.core.Strain", + "diseaseModel", reverse="disease_models", multiple=True, - doc="reverse of 'disease_models'", + description="reverse of 'disease_models'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "specimen_state", [ - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", + "openminds.latest.core.SubjectGroupState", + "openminds.latest.core.SubjectState", + "openminds.latest.core.TissueSampleCollectionState", + "openminds.latest.core.TissueSampleState", ], - "^vocab:pathology", + "pathology", reverse="pathologies", multiple=True, - doc="reverse of 'pathologies'", + description="reverse of 'pathologies'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -165,7 +121,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/educational_level.py b/fairgraph/openminds/controlled_terms/educational_level.py index 092c4cfd..7a4b5686 100644 --- a/fairgraph/openminds/controlled_terms/educational_level.py +++ b/fairgraph/openminds/controlled_terms/educational_level.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import EducationalLevel as OMEducationalLevel +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class EducationalLevel(KGObject): +class EducationalLevel(KGObject, OMEducationalLevel): """ """ + type_ = "https://openminds.om-i.org/types/EducationalLevel" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/EducationalLevel" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the educational level.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the educational level.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/electrical_stimulus_type.py b/fairgraph/openminds/controlled_terms/electrical_stimulus_type.py index 4ea48e00..67c1263f 100644 --- a/fairgraph/openminds/controlled_terms/electrical_stimulus_type.py +++ b/fairgraph/openminds/controlled_terms/electrical_stimulus_type.py @@ -4,139 +4,95 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ElectricalStimulusType as OMElectricalStimulusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ElectricalStimulusType(KGObject): +class ElectricalStimulusType(KGObject, OMElectricalStimulusType): """ """ + type_ = "https://openminds.om-i.org/types/ElectricalStimulusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ElectricalStimulusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the electrical stimulus type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the electrical stimulus type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.stimulation.EphysStimulus", - "^vocab:type", + "openminds.latest.stimulation.EphysStimulus", + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:stimulusType", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "stimulusType", reverse="stimulus_types", multiple=True, - doc="reverse of 'stimulus_types'", + description="reverse of 'stimulus_types'", ), ] existence_query_properties = ("name",) @@ -160,7 +116,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/ethics_assessment.py b/fairgraph/openminds/controlled_terms/ethics_assessment.py index 22fc3457..08db38c8 100644 --- a/fairgraph/openminds/controlled_terms/ethics_assessment.py +++ b/fairgraph/openminds/controlled_terms/ethics_assessment.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import EthicsAssessment as OMEthicsAssessment +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class EthicsAssessment(KGObject): +class EthicsAssessment(KGObject, OMEthicsAssessment): """ Structured information on the ethics assessment of a dataset. """ + type_ = "https://openminds.om-i.org/types/EthicsAssessment" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/EthicsAssessment" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the ethics assessment.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the ethics assessment.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/experimental_approach.py b/fairgraph/openminds/controlled_terms/experimental_approach.py index 21d5d159..4453010b 100644 --- a/fairgraph/openminds/controlled_terms/experimental_approach.py +++ b/fairgraph/openminds/controlled_terms/experimental_approach.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ExperimentalApproach as OMExperimentalApproach +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ExperimentalApproach(KGObject): +class ExperimentalApproach(KGObject, OMExperimentalApproach): """ """ + type_ = "https://openminds.om-i.org/types/ExperimentalApproach" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ExperimentalApproach" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the experimental approach.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the experimental approach.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/file_bundle_grouping.py b/fairgraph/openminds/controlled_terms/file_bundle_grouping.py index e9f80170..6159d0e6 100644 --- a/fairgraph/openminds/controlled_terms/file_bundle_grouping.py +++ b/fairgraph/openminds/controlled_terms/file_bundle_grouping.py @@ -4,105 +4,61 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import FileBundleGrouping as OMFileBundleGrouping +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class FileBundleGrouping(KGObject): +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" - type_ = "https://openminds.ebrains.eu/controlledTerms/FileBundleGrouping" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the file bundle grouping.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the file bundle grouping.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_defined_by", - "openminds.core.FilePathPattern", - "^vocab:groupingType", + "openminds.latest.core.FilePathPattern", + "groupingType", reverse="grouping_types", multiple=True, - doc="reverse of 'grouping_types'", + description="reverse of 'grouping_types'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupingType", + "openminds.latest.core.FileBundle", + "groupingType", reverse="grouping_types", multiple=True, - doc="reverse of 'grouping_types'", + description="reverse of 'grouping_types'", ), ] existence_query_properties = ("name",) @@ -124,7 +80,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/file_repository_type.py b/fairgraph/openminds/controlled_terms/file_repository_type.py index 6c670523..404e6550 100644 --- a/fairgraph/openminds/controlled_terms/file_repository_type.py +++ b/fairgraph/openminds/controlled_terms/file_repository_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import FileRepositoryType as OMFileRepositoryType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class FileRepositoryType(KGObject): +class FileRepositoryType(KGObject, OMFileRepositoryType): """ """ + type_ = "https://openminds.om-i.org/types/FileRepositoryType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/FileRepositoryType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the file repository type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the file repository type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.core.FileRepository", - "^vocab:type", + "openminds.latest.core.FileRepository", + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/file_usage_role.py b/fairgraph/openminds/controlled_terms/file_usage_role.py index 5aaddb0b..7a1d7ac8 100644 --- a/fairgraph/openminds/controlled_terms/file_usage_role.py +++ b/fairgraph/openminds/controlled_terms/file_usage_role.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import FileUsageRole as OMFileUsageRole +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class FileUsageRole(KGObject): +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" - type_ = "https://openminds.ebrains.eu/controlledTerms/FileUsageRole" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the file usage role.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the file usage role.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "file", - ["openminds.computation.LocalFile", "openminds.core.File"], - "^vocab:specialUsageRole", + ["openminds.latest.computation.LocalFile", "openminds.latest.core.File"], + "specialUsageRole", reverse="special_usage_role", multiple=True, - doc="reverse of 'special_usage_role'", + description="reverse of 'special_usage_role'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/genetic_strain_type.py b/fairgraph/openminds/controlled_terms/genetic_strain_type.py index 3207800a..56ad7273 100644 --- a/fairgraph/openminds/controlled_terms/genetic_strain_type.py +++ b/fairgraph/openminds/controlled_terms/genetic_strain_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import GeneticStrainType as OMGeneticStrainType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class GeneticStrainType(KGObject): +class GeneticStrainType(KGObject, OMGeneticStrainType): """ """ + type_ = "https://openminds.om-i.org/types/GeneticStrainType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/GeneticStrainType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the genetic strain type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the genetic strain type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_genetic_strain_type_of", - "openminds.core.Strain", - "^vocab:geneticStrainType", + "openminds.latest.core.Strain", + "geneticStrainType", reverse="genetic_strain_type", multiple=True, - doc="reverse of 'genetic_strain_type'", + description="reverse of 'genetic_strain_type'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/gustatory_stimulus_type.py b/fairgraph/openminds/controlled_terms/gustatory_stimulus_type.py index f553da38..a217fdb9 100644 --- a/fairgraph/openminds/controlled_terms/gustatory_stimulus_type.py +++ b/fairgraph/openminds/controlled_terms/gustatory_stimulus_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import GustatoryStimulusType as OMGustatoryStimulusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class GustatoryStimulusType(KGObject): +class GustatoryStimulusType(KGObject, OMGustatoryStimulusType): """ """ + type_ = "https://openminds.om-i.org/types/GustatoryStimulusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/GustatoryStimulusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the gustatory stimulus type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the gustatory stimulus type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:stimulusType", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "stimulusType", reverse="stimulus_types", multiple=True, - doc="reverse of 'stimulus_types'", + description="reverse of 'stimulus_types'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/handedness.py b/fairgraph/openminds/controlled_terms/handedness.py index 238575db..d63ed91a 100644 --- a/fairgraph/openminds/controlled_terms/handedness.py +++ b/fairgraph/openminds/controlled_terms/handedness.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Handedness as OMHandedness +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Handedness(KGObject): +class Handedness(KGObject, OMHandedness): """ """ + type_ = "https://openminds.om-i.org/types/Handedness" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Handedness" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the handedness.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the handedness.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "subject_states", - ["openminds.core.SubjectGroupState", "openminds.core.SubjectState"], - "^vocab:handedness", + ["openminds.latest.core.SubjectGroupState", "openminds.latest.core.SubjectState"], + "handedness", reverse="handedness", multiple=True, - doc="reverse of 'handedness'", + description="reverse of 'handedness'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/language.py b/fairgraph/openminds/controlled_terms/language.py index b6448c91..93a85143 100644 --- a/fairgraph/openminds/controlled_terms/language.py +++ b/fairgraph/openminds/controlled_terms/language.py @@ -4,96 +4,52 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Language as OMLanguage +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Language(KGObject): +class Language(KGObject, OMLanguage): """ Structured information on the available language setting. """ + type_ = "https://openminds.om-i.org/types/Language" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Language" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the language.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the language.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_in", - "openminds.core.SoftwareVersion", - "^vocab:language", + "openminds.latest.core.SoftwareVersion", + "language", reverse="languages", multiple=True, - doc="reverse of 'languages'", + description="reverse of 'languages'", ), ] existence_query_properties = ("name",) @@ -114,7 +70,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/laterality.py b/fairgraph/openminds/controlled_terms/laterality.py index a64caf31..239909fb 100644 --- a/fairgraph/openminds/controlled_terms/laterality.py +++ b/fairgraph/openminds/controlled_terms/laterality.py @@ -4,102 +4,58 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Laterality as OMLaterality +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Laterality(KGObject): +class Laterality(KGObject, OMLaterality): """ Structured information on the lateral direction. """ + type_ = "https://openminds.om-i.org/types/Laterality" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Laterality" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the laterality.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the laterality.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_laterality_of", [ - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - "openminds.sands.AtlasAnnotation", - "openminds.sands.CustomAnnotation", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", + "openminds.latest.sands.AtlasAnnotation", + "openminds.latest.sands.CustomAnnotation", ], - "^vocab:laterality", + "laterality", reverse="lateralities", multiple=True, - doc="reverse of 'lateralities'", + description="reverse of 'lateralities'", ), ] existence_query_properties = ("name",) @@ -120,7 +76,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/learning_resource_type.py b/fairgraph/openminds/controlled_terms/learning_resource_type.py index 035ca2dd..5b1adbee 100644 --- a/fairgraph/openminds/controlled_terms/learning_resource_type.py +++ b/fairgraph/openminds/controlled_terms/learning_resource_type.py @@ -4,96 +4,52 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import LearningResourceType as OMLearningResourceType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class LearningResourceType(KGObject): +class LearningResourceType(KGObject, OMLearningResourceType): """ """ + type_ = "https://openminds.om-i.org/types/LearningResourceType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/LearningResourceType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the learning resource type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the learning resource type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.publications.LearningResource", - "^vocab:type", + "openminds.latest.publications.LearningResource", + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), ] existence_query_properties = ("name",) @@ -114,7 +70,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/measured_quantity.py b/fairgraph/openminds/controlled_terms/measured_quantity.py index dbd2669b..73897cae 100644 --- a/fairgraph/openminds/controlled_terms/measured_quantity.py +++ b/fairgraph/openminds/controlled_terms/measured_quantity.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import MeasuredQuantity as OMMeasuredQuantity +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class MeasuredQuantity(KGObject): +class MeasuredQuantity(KGObject, OMMeasuredQuantity): """ """ + type_ = "https://openminds.om-i.org/types/MeasuredQuantity" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/MeasuredQuantity" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the measured quantity.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the measured quantity.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "measurement", - "openminds.core.Measurement", - "^vocab:measuredQuantity", + "openminds.latest.core.Measurement", + "measuredQuantity", reverse="measured_quantity", multiple=True, - doc="reverse of 'measured_quantity'", + description="reverse of 'measured_quantity'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/measured_signal_type.py b/fairgraph/openminds/controlled_terms/measured_signal_type.py index bb4454d4..a5590d57 100644 --- a/fairgraph/openminds/controlled_terms/measured_signal_type.py +++ b/fairgraph/openminds/controlled_terms/measured_signal_type.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import MeasuredSignalType as OMMeasuredSignalType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class MeasuredSignalType(KGObject): +class MeasuredSignalType(KGObject, OMMeasuredSignalType): """ """ + type_ = "https://openminds.om-i.org/types/MeasuredSignalType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/MeasuredSignalType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the measured signal type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the measured signal type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/meta_data_model_type.py b/fairgraph/openminds/controlled_terms/meta_data_model_type.py index f3d03745..f397896b 100644 --- a/fairgraph/openminds/controlled_terms/meta_data_model_type.py +++ b/fairgraph/openminds/controlled_terms/meta_data_model_type.py @@ -4,96 +4,52 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import MetaDataModelType as OMMetaDataModelType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class MetaDataModelType(KGObject): +class MetaDataModelType(KGObject, OMMetaDataModelType): """ """ + type_ = "https://openminds.om-i.org/types/MetaDataModelType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/MetaDataModelType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the meta data model type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the meta data model type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.core.MetaDataModelVersion", - "^vocab:type", + "openminds.latest.core.MetaDataModelVersion", + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), ] existence_query_properties = ("name",) @@ -114,7 +70,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/model_abstraction_level.py b/fairgraph/openminds/controlled_terms/model_abstraction_level.py index 16fe7715..cffe8f7e 100644 --- a/fairgraph/openminds/controlled_terms/model_abstraction_level.py +++ b/fairgraph/openminds/controlled_terms/model_abstraction_level.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ModelAbstractionLevel as OMModelAbstractionLevel +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ModelAbstractionLevel(KGObject): +class ModelAbstractionLevel(KGObject, OMModelAbstractionLevel): """ Structured information on abstraction level of the computational model. """ + type_ = "https://openminds.om-i.org/types/ModelAbstractionLevel" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ModelAbstractionLevel" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the model abstraction level.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the model abstraction level.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_abstraction_level_of", - "openminds.core.Model", - "^vocab:abstractionLevel", + "openminds.latest.core.Model", + "abstractionLevel", reverse="abstraction_level", multiple=True, - doc="reverse of 'abstraction_level'", + description="reverse of 'abstraction_level'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/model_scope.py b/fairgraph/openminds/controlled_terms/model_scope.py index 7a6d7065..e927abf2 100644 --- a/fairgraph/openminds/controlled_terms/model_scope.py +++ b/fairgraph/openminds/controlled_terms/model_scope.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ModelScope as OMModelScope +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ModelScope(KGObject): +class ModelScope(KGObject, OMModelScope): """ Structured information on the scope of the computational model. """ + type_ = "https://openminds.om-i.org/types/ModelScope" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ModelScope" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the model scope.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the model scope.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_scope_of", - ["openminds.computation.ValidationTest", "openminds.core.Model"], - "^vocab:scope", + ["openminds.latest.computation.ValidationTest", "openminds.latest.core.Model"], + "scope", reverse="model_scope", multiple=True, - doc="reverse of 'model_scope'", + description="reverse of 'model_scope'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/molecular_entity.py b/fairgraph/openminds/controlled_terms/molecular_entity.py index 2d002633..e243b551 100644 --- a/fairgraph/openminds/controlled_terms/molecular_entity.py +++ b/fairgraph/openminds/controlled_terms/molecular_entity.py @@ -4,144 +4,100 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import MolecularEntity as OMMolecularEntity +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class MolecularEntity(KGObject): +class MolecularEntity(KGObject, OMMolecularEntity): """ """ + type_ = "https://openminds.om-i.org/types/MolecularEntity" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/MolecularEntity" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the molecular entity.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the molecular entity.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "composes", [ - "openminds.chemicals.ChemicalSubstance", - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", + "openminds.latest.chemicals.ChemicalSubstance", + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", ], - ["^vocab:insulatorMaterial", "^vocab:material", "^vocab:molecularEntity"], + ["insulatorMaterial", "material", "molecularEntity"], reverse=["insulator_material", "material", "molecular_entity"], multiple=True, - doc="reverse of insulator_material, material, molecular_entity", + description="reverse of insulator_material, material, molecular_entity", ), Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "labels", - "openminds.ephys.PipetteUsage", - "^vocab:labelingCompound", + "openminds.latest.ephys.PipetteUsage", + "labelingCompound", reverse="labeling_compound", multiple=True, - doc="reverse of 'labeling_compound'", + description="reverse of 'labeling_compound'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -165,7 +121,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/mr_acquisition_type.py b/fairgraph/openminds/controlled_terms/mr_acquisition_type.py deleted file mode 100644 index 96de3cea..00000000 --- a/fairgraph/openminds/controlled_terms/mr_acquisition_type.py +++ /dev/null @@ -1,122 +0,0 @@ -""" - -""" - -# this file was auto-generated - -from fairgraph import KGObject, IRI -from fairgraph.properties import Property - - -from fairgraph.base import IRI - - -class MRAcquisitionType(KGObject): - """ - - """ - - default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/MRAcquisitionType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the m r acquisition type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the m r acquisition type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] - reverse_properties = [ - Property( - "describes", - [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "^vocab:keyword", - reverse="keywords", - multiple=True, - doc="reverse of 'keywords'", - ), - ] - existence_query_properties = ("name",) - - def __init__( - self, - name=None, - definition=None, - describes=None, - description=None, - interlex_identifier=None, - knowledge_space_link=None, - preferred_ontology_identifier=None, - synonyms=None, - id=None, - data=None, - space=None, - scope=None, - ): - return super().__init__( - id=id, - space=space, - scope=scope, - data=data, - name=name, - definition=definition, - describes=describes, - description=description, - interlex_identifier=interlex_identifier, - knowledge_space_link=knowledge_space_link, - preferred_ontology_identifier=preferred_ontology_identifier, - synonyms=synonyms, - ) diff --git a/fairgraph/openminds/controlled_terms/mr_spatial_encoding.py b/fairgraph/openminds/controlled_terms/mr_spatial_encoding.py new file mode 100644 index 00000000..4a19306f --- /dev/null +++ b/fairgraph/openminds/controlled_terms/mr_spatial_encoding.py @@ -0,0 +1,79 @@ +""" + +""" + +# this file was auto-generated + +from openminds.properties import Property +from openminds.latest.controlled_terms import MRSpatialEncoding as OMMRSpatialEncoding +from fairgraph import KGObject + + +from openminds import IRI + + +class MRSpatialEncoding(KGObject, OMMRSpatialEncoding): + """ + + """ + + type_ = "https://openminds.om-i.org/types/MRSpatialEncoding" + default_space = "controlled" + # forward properties are defined in the parent class (in openMINDS-Python) + reverse_properties = [ + Property( + "describes", + [ + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", + ], + "keyword", + reverse="keywords", + multiple=True, + description="reverse of 'keywords'", + ), + ] + existence_query_properties = ("name",) + + def __init__( + self, + name=None, + definition=None, + describes=None, + description=None, + interlex_identifier=None, + knowledge_space_link=None, + preferred_ontology_identifier=None, + synonyms=None, + id=None, + data=None, + space=None, + scope=None, + ): + return KGObject.__init__( + self, + id=id, + space=space, + scope=scope, + data=data, + name=name, + definition=definition, + describes=describes, + description=description, + interlex_identifier=interlex_identifier, + knowledge_space_link=knowledge_space_link, + preferred_ontology_identifier=preferred_ontology_identifier, + synonyms=synonyms, + ) diff --git a/fairgraph/openminds/controlled_terms/mri_pulse_sequence.py b/fairgraph/openminds/controlled_terms/mri_pulse_sequence.py index 663d6553..6fdc534b 100644 --- a/fairgraph/openminds/controlled_terms/mri_pulse_sequence.py +++ b/fairgraph/openminds/controlled_terms/mri_pulse_sequence.py @@ -4,104 +4,60 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import MRIPulseSequence as OMMRIPulseSequence +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class MRIPulseSequence(KGObject): +class MRIPulseSequence(KGObject, OMMRIPulseSequence): """ """ + type_ = "https://openminds.om-i.org/types/MRIPulseSequence" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/MRIPulseSequence" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the m r i pulse sequence.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the m r i pulse sequence.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.core.DatasetVersion", "openminds.core.Protocol"], - "^vocab:technique", + ["openminds.latest.core.DatasetVersion", "openminds.latest.core.Protocol"], + "technique", reverse="techniques", multiple=True, - doc="reverse of 'techniques'", + description="reverse of 'techniques'", ), ] existence_query_properties = ("name",) @@ -123,7 +79,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/mri_weighting.py b/fairgraph/openminds/controlled_terms/mri_weighting.py index a18a3c7c..3f52530a 100644 --- a/fairgraph/openminds/controlled_terms/mri_weighting.py +++ b/fairgraph/openminds/controlled_terms/mri_weighting.py @@ -4,104 +4,60 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import MRIWeighting as OMMRIWeighting +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class MRIWeighting(KGObject): +class MRIWeighting(KGObject, OMMRIWeighting): """ """ + type_ = "https://openminds.om-i.org/types/MRIWeighting" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/MRIWeighting" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the m r i weighting.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the m r i weighting.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.core.DatasetVersion", "openminds.core.Protocol"], - "^vocab:technique", + ["openminds.latest.core.DatasetVersion", "openminds.latest.core.Protocol"], + "technique", reverse="techniques", multiple=True, - doc="reverse of 'techniques'", + description="reverse of 'techniques'", ), ] existence_query_properties = ("name",) @@ -123,7 +79,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/olfactory_stimulus_type.py b/fairgraph/openminds/controlled_terms/olfactory_stimulus_type.py index 3ad24e59..34fe3c10 100644 --- a/fairgraph/openminds/controlled_terms/olfactory_stimulus_type.py +++ b/fairgraph/openminds/controlled_terms/olfactory_stimulus_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import OlfactoryStimulusType as OMOlfactoryStimulusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class OlfactoryStimulusType(KGObject): +class OlfactoryStimulusType(KGObject, OMOlfactoryStimulusType): """ """ + type_ = "https://openminds.om-i.org/types/OlfactoryStimulusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/OlfactoryStimulusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the olfactory stimulus type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the olfactory stimulus type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:stimulusType", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "stimulusType", reverse="stimulus_types", multiple=True, - doc="reverse of 'stimulus_types'", + description="reverse of 'stimulus_types'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/operating_device.py b/fairgraph/openminds/controlled_terms/operating_device.py index 19e328fc..38559641 100644 --- a/fairgraph/openminds/controlled_terms/operating_device.py +++ b/fairgraph/openminds/controlled_terms/operating_device.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import OperatingDevice as OMOperatingDevice +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class OperatingDevice(KGObject): +class OperatingDevice(KGObject, OMOperatingDevice): """ Structured information on the operating device. """ + type_ = "https://openminds.om-i.org/types/OperatingDevice" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/OperatingDevice" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the operating device.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the operating device.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/operating_system.py b/fairgraph/openminds/controlled_terms/operating_system.py index bbc7b6d9..dd985fec 100644 --- a/fairgraph/openminds/controlled_terms/operating_system.py +++ b/fairgraph/openminds/controlled_terms/operating_system.py @@ -4,96 +4,52 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import OperatingSystem as OMOperatingSystem +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class OperatingSystem(KGObject): +class OperatingSystem(KGObject, OMOperatingSystem): """ Structured information on the operating system. """ + type_ = "https://openminds.om-i.org/types/OperatingSystem" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/OperatingSystem" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the operating system.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the operating system.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_by", - "openminds.core.SoftwareVersion", - "^vocab:operatingSystem", + "openminds.latest.core.SoftwareVersion", + "operatingSystem", reverse="operating_systems", multiple=True, - doc="reverse of 'operating_systems'", + description="reverse of 'operating_systems'", ), ] existence_query_properties = ("name",) @@ -114,7 +70,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/optical_stimulus_type.py b/fairgraph/openminds/controlled_terms/optical_stimulus_type.py index cc43eaab..9ab9f9ae 100644 --- a/fairgraph/openminds/controlled_terms/optical_stimulus_type.py +++ b/fairgraph/openminds/controlled_terms/optical_stimulus_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import OpticalStimulusType as OMOpticalStimulusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class OpticalStimulusType(KGObject): +class OpticalStimulusType(KGObject, OMOpticalStimulusType): """ """ + type_ = "https://openminds.om-i.org/types/OpticalStimulusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/OpticalStimulusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the optical stimulus type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the optical stimulus type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:stimulusType", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "stimulusType", reverse="stimulus_types", multiple=True, - doc="reverse of 'stimulus_types'", + description="reverse of 'stimulus_types'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/organ.py b/fairgraph/openminds/controlled_terms/organ.py index 051ae0ee..6ea20fef 100644 --- a/fairgraph/openminds/controlled_terms/organ.py +++ b/fairgraph/openminds/controlled_terms/organ.py @@ -4,155 +4,115 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Organ as OMOrgan +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Organ(KGObject): +class Organ(KGObject, OMOrgan): """ """ + type_ = "https://openminds.om-i.org/types/Organ" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Organ" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the organ.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the organ.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "defines", - ["openminds.sands.CustomAnatomicalEntity", "openminds.sands.ParcellationEntity"], - "^vocab:relatedUBERONTerm", + ["openminds.latest.sands.CustomAnatomicalEntity", "openminds.latest.sands.ParcellationEntity"], + "relatedUBERONTerm", reverse="related_uberon_term", multiple=True, - doc="reverse of 'related_uberon_term'", + description="reverse of 'related_uberon_term'", ), Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_location_of", - ["openminds.ephys.ElectrodeArrayUsage", "openminds.ephys.ElectrodeUsage", "openminds.ephys.PipetteUsage"], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes"], + [ + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], reverse=["anatomical_location", "anatomical_locations_of_electrodes"], multiple=True, - doc="reverse of anatomical_location, anatomical_locations_of_electrodes", + description="reverse of anatomical_location, anatomical_locations_of_electrodes", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "sample", - ["openminds.core.TissueSample", "openminds.core.TissueSampleCollection"], - "^vocab:origin", + ["openminds.latest.core.TissueSample", "openminds.latest.core.TissueSampleCollection"], + "origin", reverse="origin", multiple=True, - doc="reverse of 'origin'", + description="reverse of 'origin'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -178,7 +138,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/organism_substance.py b/fairgraph/openminds/controlled_terms/organism_substance.py index e4a34256..00eb2721 100644 --- a/fairgraph/openminds/controlled_terms/organism_substance.py +++ b/fairgraph/openminds/controlled_terms/organism_substance.py @@ -4,147 +4,107 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import OrganismSubstance as OMOrganismSubstance +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class OrganismSubstance(KGObject): +class OrganismSubstance(KGObject, OMOrganismSubstance): """ """ + type_ = "https://openminds.om-i.org/types/OrganismSubstance" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/OrganismSubstance" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the organism substance.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the organism substance.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_location_of", - ["openminds.ephys.ElectrodeArrayUsage", "openminds.ephys.ElectrodeUsage", "openminds.ephys.PipetteUsage"], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes"], + [ + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", + ], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], reverse=["anatomical_location", "anatomical_locations_of_electrodes"], multiple=True, - doc="reverse of anatomical_location, anatomical_locations_of_electrodes", + description="reverse of anatomical_location, anatomical_locations_of_electrodes", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "sample", - ["openminds.core.TissueSample", "openminds.core.TissueSampleCollection"], - "^vocab:origin", + ["openminds.latest.core.TissueSample", "openminds.latest.core.TissueSampleCollection"], + "origin", reverse="origin", multiple=True, - doc="reverse of 'origin'", + description="reverse of 'origin'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -169,7 +129,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/organism_system.py b/fairgraph/openminds/controlled_terms/organism_system.py index 79ebf207..70ecea72 100644 --- a/fairgraph/openminds/controlled_terms/organism_system.py +++ b/fairgraph/openminds/controlled_terms/organism_system.py @@ -4,123 +4,79 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import OrganismSystem as OMOrganismSystem +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class OrganismSystem(KGObject): +class OrganismSystem(KGObject, OMOrganismSystem): """ """ + type_ = "https://openminds.om-i.org/types/OrganismSystem" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/OrganismSystem" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the organism system.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the organism system.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -142,7 +98,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/patch_clamp_variation.py b/fairgraph/openminds/controlled_terms/patch_clamp_variation.py index 055d5058..67eb0ebe 100644 --- a/fairgraph/openminds/controlled_terms/patch_clamp_variation.py +++ b/fairgraph/openminds/controlled_terms/patch_clamp_variation.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import PatchClampVariation as OMPatchClampVariation +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class PatchClampVariation(KGObject): +class PatchClampVariation(KGObject, OMPatchClampVariation): """ """ + type_ = "https://openminds.om-i.org/types/PatchClampVariation" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/PatchClampVariation" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the patch clamp variation.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the patch clamp variation.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_in", - "openminds.ephys.CellPatching", - "^vocab:variation", + "openminds.latest.ephys.CellPatching", + "variation", reverse="variation", multiple=True, - doc="reverse of 'variation'", + description="reverse of 'variation'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/preparation_type.py b/fairgraph/openminds/controlled_terms/preparation_type.py index 31c4fa74..7172cffa 100644 --- a/fairgraph/openminds/controlled_terms/preparation_type.py +++ b/fairgraph/openminds/controlled_terms/preparation_type.py @@ -4,106 +4,62 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import PreparationType as OMPreparationType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class PreparationType(KGObject): +class PreparationType(KGObject, OMPreparationType): """ """ + type_ = "https://openminds.om-i.org/types/PreparationType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/PreparationType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the preparation type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the preparation type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_for", [ - "openminds.core.DatasetVersion", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:preparationDesign", + "preparationDesign", reverse="preparation_design", multiple=True, - doc="reverse of 'preparation_design'", + description="reverse of 'preparation_design'", ), ] existence_query_properties = ("name",) @@ -124,7 +80,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/product_accessibility.py b/fairgraph/openminds/controlled_terms/product_accessibility.py index 283b7a34..e9858d27 100644 --- a/fairgraph/openminds/controlled_terms/product_accessibility.py +++ b/fairgraph/openminds/controlled_terms/product_accessibility.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ProductAccessibility as OMProductAccessibility +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ProductAccessibility(KGObject): +class ProductAccessibility(KGObject, OMProductAccessibility): """ """ + type_ = "https://openminds.om-i.org/types/ProductAccessibility" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ProductAccessibility" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the product accessibility.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the product accessibility.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/programming_language.py b/fairgraph/openminds/controlled_terms/programming_language.py index 2434d713..6d53c829 100644 --- a/fairgraph/openminds/controlled_terms/programming_language.py +++ b/fairgraph/openminds/controlled_terms/programming_language.py @@ -4,96 +4,52 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import ProgrammingLanguage as OMProgrammingLanguage +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ProgrammingLanguage(KGObject): +class ProgrammingLanguage(KGObject, OMProgrammingLanguage): """ Structured information on the programming language. """ + type_ = "https://openminds.om-i.org/types/ProgrammingLanguage" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/ProgrammingLanguage" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the programming language.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the programming language.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_in", - "openminds.core.SoftwareVersion", - "^vocab:programmingLanguage", + "openminds.latest.core.SoftwareVersion", + "programmingLanguage", reverse="programming_languages", multiple=True, - doc="reverse of 'programming_languages'", + description="reverse of 'programming_languages'", ), ] existence_query_properties = ("name",) @@ -114,7 +70,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/qualitative_overlap.py b/fairgraph/openminds/controlled_terms/qualitative_overlap.py index 1874e9ce..3a6afd24 100644 --- a/fairgraph/openminds/controlled_terms/qualitative_overlap.py +++ b/fairgraph/openminds/controlled_terms/qualitative_overlap.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import QualitativeOverlap as OMQualitativeOverlap +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class QualitativeOverlap(KGObject): +class QualitativeOverlap(KGObject, OMQualitativeOverlap): """ """ + type_ = "https://openminds.om-i.org/types/QualitativeOverlap" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/QualitativeOverlap" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the qualitative overlap.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the qualitative overlap.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/semantic_data_type.py b/fairgraph/openminds/controlled_terms/semantic_data_type.py index bbb169d8..53bfabba 100644 --- a/fairgraph/openminds/controlled_terms/semantic_data_type.py +++ b/fairgraph/openminds/controlled_terms/semantic_data_type.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import SemanticDataType as OMSemanticDataType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class SemanticDataType(KGObject): +class SemanticDataType(KGObject, OMSemanticDataType): """ """ + type_ = "https://openminds.om-i.org/types/SemanticDataType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/SemanticDataType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the semantic data type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the semantic data type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/service.py b/fairgraph/openminds/controlled_terms/service.py index 02eb4425..99db60a4 100644 --- a/fairgraph/openminds/controlled_terms/service.py +++ b/fairgraph/openminds/controlled_terms/service.py @@ -4,105 +4,61 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Service as OMService +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Service(KGObject): +class Service(KGObject, OMService): """ """ + type_ = "https://openminds.om-i.org/types/Service" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Service" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the service.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the service.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "hosts", - "openminds.publications.LivePaperResourceItem", - "^vocab:hostedBy", + "openminds.latest.publications.LivePaperResourceItem", + "hostedBy", reverse="hosted_by", multiple=True, - doc="reverse of 'hosted_by'", + description="reverse of 'hosted_by'", ), Property( "linked_from", - "openminds.core.ServiceLink", - "^vocab:service", + "openminds.latest.core.ServiceLink", + "service", reverse="service", multiple=True, - doc="reverse of 'service'", + description="reverse of 'service'", ), ] existence_query_properties = ("name",) @@ -124,7 +80,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/setup_type.py b/fairgraph/openminds/controlled_terms/setup_type.py index b1d84104..ffcfc574 100644 --- a/fairgraph/openminds/controlled_terms/setup_type.py +++ b/fairgraph/openminds/controlled_terms/setup_type.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import SetupType as OMSetupType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class SetupType(KGObject): +class SetupType(KGObject, OMSetupType): """ """ + type_ = "https://openminds.om-i.org/types/SetupType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/SetupType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the setup type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the setup type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - "openminds.core.Setup", - "^vocab:type", + "openminds.latest.core.Setup", + "type", reverse="types", multiple=True, - doc="reverse of 'types'", + description="reverse of 'types'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/software_application_category.py b/fairgraph/openminds/controlled_terms/software_application_category.py index e4ebcc11..9e423469 100644 --- a/fairgraph/openminds/controlled_terms/software_application_category.py +++ b/fairgraph/openminds/controlled_terms/software_application_category.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import SoftwareApplicationCategory as OMSoftwareApplicationCategory +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class SoftwareApplicationCategory(KGObject): +class SoftwareApplicationCategory(KGObject, OMSoftwareApplicationCategory): """ Structured information on the category of the software application. """ + type_ = "https://openminds.om-i.org/types/SoftwareApplicationCategory" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/SoftwareApplicationCategory" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the software application category.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the software application category.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/software_feature.py b/fairgraph/openminds/controlled_terms/software_feature.py index d7f62bb3..237274dc 100644 --- a/fairgraph/openminds/controlled_terms/software_feature.py +++ b/fairgraph/openminds/controlled_terms/software_feature.py @@ -4,89 +4,45 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import SoftwareFeature as OMSoftwareFeature +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class SoftwareFeature(KGObject): +class SoftwareFeature(KGObject, OMSoftwareFeature): """ """ + type_ = "https://openminds.om-i.org/types/SoftwareFeature" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/SoftwareFeature" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the software feature.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the software feature.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), ] existence_query_properties = ("name",) @@ -106,7 +62,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/species.py b/fairgraph/openminds/controlled_terms/species.py index 40a3f754..40237ca8 100644 --- a/fairgraph/openminds/controlled_terms/species.py +++ b/fairgraph/openminds/controlled_terms/species.py @@ -4,145 +4,101 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Species as OMSpecies +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Species(KGObject): +class Species(KGObject, OMSpecies): """ Structured information on the species. """ + type_ = "https://openminds.om-i.org/types/Species" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Species" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the species.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the species.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "common_coordinate_space", - ["openminds.sands.BrainAtlas", "openminds.sands.CommonCoordinateSpace"], - "^vocab:usedSpecies", + ["openminds.latest.sands.BrainAtlas", "openminds.latest.sands.CommonCoordinateSpace"], + "usedSpecies", reverse="used_species", multiple=True, - doc="reverse of 'used_species'", + description="reverse of 'used_species'", ), Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_species_of", [ - "openminds.core.Strain", - "openminds.core.Subject", - "openminds.core.SubjectGroup", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", + "openminds.latest.core.Strain", + "openminds.latest.core.Subject", + "openminds.latest.core.SubjectGroup", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", ], - "^vocab:species", + "species", reverse="species", multiple=True, - doc="reverse of 'species'", + description="reverse of 'species'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -166,7 +122,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/stimulation_approach.py b/fairgraph/openminds/controlled_terms/stimulation_approach.py index 072983fe..d68d6632 100644 --- a/fairgraph/openminds/controlled_terms/stimulation_approach.py +++ b/fairgraph/openminds/controlled_terms/stimulation_approach.py @@ -4,104 +4,64 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import StimulationApproach as OMStimulationApproach +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class StimulationApproach(KGObject): +class StimulationApproach(KGObject, OMStimulationApproach): """ """ + type_ = "https://openminds.om-i.org/types/StimulationApproach" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/StimulationApproach" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the stimulation approach.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the stimulation approach.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.DatasetVersion", "openminds.core.Protocol"], - ["^vocab:stimulation", "^vocab:technique"], + [ + "openminds.latest.core.BehavioralProtocol", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Protocol", + ], + ["stimulation", "technique"], reverse=["stimulations", "techniques"], multiple=True, - doc="reverse of stimulations, techniques", + description="reverse of stimulations, techniques", ), ] existence_query_properties = ("name",) @@ -123,7 +83,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/stimulation_technique.py b/fairgraph/openminds/controlled_terms/stimulation_technique.py index d406b741..b6fa19aa 100644 --- a/fairgraph/openminds/controlled_terms/stimulation_technique.py +++ b/fairgraph/openminds/controlled_terms/stimulation_technique.py @@ -4,104 +4,64 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import StimulationTechnique as OMStimulationTechnique +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class StimulationTechnique(KGObject): +class StimulationTechnique(KGObject, OMStimulationTechnique): """ """ + type_ = "https://openminds.om-i.org/types/StimulationTechnique" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/StimulationTechnique" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the stimulation technique.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the stimulation technique.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.DatasetVersion", "openminds.core.Protocol"], - ["^vocab:stimulation", "^vocab:technique"], + [ + "openminds.latest.core.BehavioralProtocol", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Protocol", + ], + ["stimulation", "technique"], reverse=["stimulations", "techniques"], multiple=True, - doc="reverse of stimulations, techniques", + description="reverse of stimulations, techniques", ), ] existence_query_properties = ("name",) @@ -123,7 +83,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/subcellular_entity.py b/fairgraph/openminds/controlled_terms/subcellular_entity.py index a4de2b36..57511019 100644 --- a/fairgraph/openminds/controlled_terms/subcellular_entity.py +++ b/fairgraph/openminds/controlled_terms/subcellular_entity.py @@ -4,145 +4,101 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import SubcellularEntity as OMSubcellularEntity +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class SubcellularEntity(KGObject): +class SubcellularEntity(KGObject, OMSubcellularEntity): """ """ + type_ = "https://openminds.om-i.org/types/SubcellularEntity" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/SubcellularEntity" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the subcellular entity.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the subcellular entity.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_location_of", [ - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", ], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes"], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], multiple=True, - doc="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -166,7 +122,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/subject_attribute.py b/fairgraph/openminds/controlled_terms/subject_attribute.py index e47f1630..1f45f764 100644 --- a/fairgraph/openminds/controlled_terms/subject_attribute.py +++ b/fairgraph/openminds/controlled_terms/subject_attribute.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import SubjectAttribute as OMSubjectAttribute +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class SubjectAttribute(KGObject): +class SubjectAttribute(KGObject, OMSubjectAttribute): """ """ + type_ = "https://openminds.om-i.org/types/SubjectAttribute" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/SubjectAttribute" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the subject attribute.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the subject attribute.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_attribute_of", - ["openminds.core.SubjectGroupState", "openminds.core.SubjectState"], - "^vocab:attribute", + ["openminds.latest.core.SubjectGroupState", "openminds.latest.core.SubjectState"], + "attribute", reverse="attributes", multiple=True, - doc="reverse of 'attributes'", + description="reverse of 'attributes'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/tactile_stimulus_type.py b/fairgraph/openminds/controlled_terms/tactile_stimulus_type.py index 25f21e96..683614a1 100644 --- a/fairgraph/openminds/controlled_terms/tactile_stimulus_type.py +++ b/fairgraph/openminds/controlled_terms/tactile_stimulus_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import TactileStimulusType as OMTactileStimulusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class TactileStimulusType(KGObject): +class TactileStimulusType(KGObject, OMTactileStimulusType): """ """ + type_ = "https://openminds.om-i.org/types/TactileStimulusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/TactileStimulusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the tactile stimulus type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the tactile stimulus type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:stimulusType", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "stimulusType", reverse="stimulus_types", multiple=True, - doc="reverse of 'stimulus_types'", + description="reverse of 'stimulus_types'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/technique.py b/fairgraph/openminds/controlled_terms/technique.py index c63e8053..49283ba7 100644 --- a/fairgraph/openminds/controlled_terms/technique.py +++ b/fairgraph/openminds/controlled_terms/technique.py @@ -4,112 +4,68 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Technique as OMTechnique +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Technique(KGObject): +class Technique(KGObject, OMTechnique): """ Structured information on the technique. """ + type_ = "https://openminds.om-i.org/types/Technique" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Technique" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the technique.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the technique.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_reference_for", - "openminds.computation.ValidationTest", - "^vocab:referenceDataAcquisition", + "openminds.latest.computation.ValidationTest", + "referenceDataAcquisition", reverse="reference_data_acquisitions", multiple=True, - doc="reverse of 'reference_data_acquisitions'", + description="reverse of 'reference_data_acquisitions'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.core.DatasetVersion", "openminds.core.Protocol"], - "^vocab:technique", + ["openminds.latest.core.DatasetVersion", "openminds.latest.core.Protocol"], + "technique", reverse="techniques", multiple=True, - doc="reverse of 'techniques'", + description="reverse of 'techniques'", ), ] existence_query_properties = ("name",) @@ -132,7 +88,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/term_suggestion.py b/fairgraph/openminds/controlled_terms/term_suggestion.py index 16452090..7036c6c4 100644 --- a/fairgraph/openminds/controlled_terms/term_suggestion.py +++ b/fairgraph/openminds/controlled_terms/term_suggestion.py @@ -4,135 +4,79 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import TermSuggestion as OMTermSuggestion +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class TermSuggestion(KGObject): +class TermSuggestion(KGObject, OMTermSuggestion): """ """ + type_ = "https://openminds.om-i.org/types/TermSuggestion" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/TermSuggestion" - properties = [ - Property( - "add_existing_terminology", - "openminds.controlled_terms.Terminology", - "vocab:addExistingTerminology", - doc="Reference to an existing terminology (distinct class to group related terms).", - ), - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the term suggestion.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the term suggestion.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "suggest_new_terminology", - str, - "vocab:suggestNewTerminology", - doc="Proposal of a new distinct class to group related terms.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -156,7 +100,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/terminology.py b/fairgraph/openminds/controlled_terms/terminology.py index 2d5c2c1e..c9a4e45b 100644 --- a/fairgraph/openminds/controlled_terms/terminology.py +++ b/fairgraph/openminds/controlled_terms/terminology.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import Terminology as OMTerminology +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Terminology(KGObject): +class Terminology(KGObject, OMTerminology): """ """ + type_ = "https://openminds.om-i.org/types/Terminology" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/Terminology" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the terminology.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the terminology.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "suggested_in", - "openminds.controlled_terms.TermSuggestion", - "^vocab:addExistingTerminology", + "openminds.latest.controlled_terms.TermSuggestion", + "addExistingTerminology", reverse="add_existing_terminology", multiple=True, - doc="reverse of 'add_existing_terminology'", + description="reverse of 'add_existing_terminology'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/tissue_sample_attribute.py b/fairgraph/openminds/controlled_terms/tissue_sample_attribute.py index 6fa096af..9bba66cb 100644 --- a/fairgraph/openminds/controlled_terms/tissue_sample_attribute.py +++ b/fairgraph/openminds/controlled_terms/tissue_sample_attribute.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import TissueSampleAttribute as OMTissueSampleAttribute +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class TissueSampleAttribute(KGObject): +class TissueSampleAttribute(KGObject, OMTissueSampleAttribute): """ """ + type_ = "https://openminds.om-i.org/types/TissueSampleAttribute" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/TissueSampleAttribute" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the tissue sample attribute.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the tissue sample attribute.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_attribute_of", - ["openminds.core.TissueSampleCollectionState", "openminds.core.TissueSampleState"], - "^vocab:attribute", + ["openminds.latest.core.TissueSampleCollectionState", "openminds.latest.core.TissueSampleState"], + "attribute", reverse="attributes", multiple=True, - doc="reverse of 'attributes'", + description="reverse of 'attributes'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/tissue_sample_type.py b/fairgraph/openminds/controlled_terms/tissue_sample_type.py index f8f2ecad..2aff27b3 100644 --- a/fairgraph/openminds/controlled_terms/tissue_sample_type.py +++ b/fairgraph/openminds/controlled_terms/tissue_sample_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import TissueSampleType as OMTissueSampleType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class TissueSampleType(KGObject): +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" - type_ = "https://openminds.ebrains.eu/controlledTerms/TissueSampleType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the tissue sample type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the tissue sample type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_type_of", - ["openminds.core.TissueSample", "openminds.core.TissueSampleCollection"], - "^vocab:type", + ["openminds.latest.core.TissueSample", "openminds.latest.core.TissueSampleCollection"], + "type", reverse="type", multiple=True, - doc="reverse of 'type'", + description="reverse of 'type'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/type_of_uncertainty.py b/fairgraph/openminds/controlled_terms/type_of_uncertainty.py index 56548d86..7699ab81 100644 --- a/fairgraph/openminds/controlled_terms/type_of_uncertainty.py +++ b/fairgraph/openminds/controlled_terms/type_of_uncertainty.py @@ -4,97 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import TypeOfUncertainty as OMTypeOfUncertainty +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class TypeOfUncertainty(KGObject): +class TypeOfUncertainty(KGObject, OMTypeOfUncertainty): """ """ + type_ = "https://openminds.om-i.org/types/TypeOfUncertainty" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/TypeOfUncertainty" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the type of uncertainty.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the type of uncertainty.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "value", - "openminds.core.QuantitativeValueArray", - "^vocab:typeOfUncertainty", + "openminds.latest.core.QuantitativeValueArray", + "typeOfUncertainty", reverse="type_of_uncertainty", multiple=True, - doc="reverse of 'type_of_uncertainty'", + description="reverse of 'type_of_uncertainty'", ), ] existence_query_properties = ("name",) @@ -115,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/uberon_parcellation.py b/fairgraph/openminds/controlled_terms/uberon_parcellation.py index 0a119258..1c494ef8 100644 --- a/fairgraph/openminds/controlled_terms/uberon_parcellation.py +++ b/fairgraph/openminds/controlled_terms/uberon_parcellation.py @@ -4,153 +4,109 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import UBERONParcellation as OMUBERONParcellation +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class UBERONParcellation(KGObject): +class UBERONParcellation(KGObject, OMUBERONParcellation): """ """ + type_ = "https://openminds.om-i.org/types/UBERONParcellation" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/UBERONParcellation" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the UBERONParcellation.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the UBERONParcellation.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "defines", - ["openminds.sands.CustomAnatomicalEntity", "openminds.sands.ParcellationEntity"], - "^vocab:relatedUBERONTerm", + ["openminds.latest.sands.CustomAnatomicalEntity", "openminds.latest.sands.ParcellationEntity"], + "relatedUBERONTerm", reverse="related_uberon_term", multiple=True, - doc="reverse of 'related_uberon_term'", + description="reverse of 'related_uberon_term'", ), Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_location_of", [ - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", ], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes"], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], multiple=True, - doc="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -175,7 +131,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/unit_of_measurement.py b/fairgraph/openminds/controlled_terms/unit_of_measurement.py index 54011f16..f453c1e4 100644 --- a/fairgraph/openminds/controlled_terms/unit_of_measurement.py +++ b/fairgraph/openminds/controlled_terms/unit_of_measurement.py @@ -4,107 +4,68 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import UnitOfMeasurement as OMUnitOfMeasurement +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class UnitOfMeasurement(KGObject): +class UnitOfMeasurement(KGObject, OMUnitOfMeasurement): """ Structured information on the unit of measurement. """ + type_ = "https://openminds.om-i.org/types/UnitOfMeasurement" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/UnitOfMeasurement" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the unit of measurement.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the unit of measurement.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "used_by", - ["openminds.sands.CommonCoordinateSpaceVersion", "openminds.sands.CustomCoordinateSpace"], - "^vocab:nativeUnit", + ["openminds.latest.sands.CommonCoordinateSpaceVersion", "openminds.latest.sands.CustomCoordinateSpace"], + "nativeUnit", reverse="native_unit", multiple=True, - doc="reverse of 'native_unit'", + description="reverse of 'native_unit'", ), Property( - "used_in", "openminds.ephys.Channel", "^vocab:unit", reverse="unit", multiple=True, doc="reverse of 'unit'" + "used_in", + "openminds.latest.ephys.Channel", + "unit", + reverse="unit", + multiple=True, + description="reverse of 'unit'", ), Property( "value", - "openminds.core.QuantitativeValueArray", - "^vocab:unit", + "openminds.latest.core.QuantitativeValueArray", + "unit", reverse="unit", multiple=True, - doc="reverse of 'unit'", + description="reverse of 'unit'", ), ] existence_query_properties = ("name",) @@ -127,7 +88,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/controlled_terms/visual_stimulus_type.py b/fairgraph/openminds/controlled_terms/visual_stimulus_type.py index 60494841..d4bc63b3 100644 --- a/fairgraph/openminds/controlled_terms/visual_stimulus_type.py +++ b/fairgraph/openminds/controlled_terms/visual_stimulus_type.py @@ -4,131 +4,87 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.controlled_terms import VisualStimulusType as OMVisualStimulusType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class VisualStimulusType(KGObject): +class VisualStimulusType(KGObject, OMVisualStimulusType): """ """ + type_ = "https://openminds.om-i.org/types/VisualStimulusType" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/controlledTerms/VisualStimulusType" - properties = [ - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the visual stimulus type.", - ), - Property( - "interlex_identifier", - IRI, - "vocab:interlexIdentifier", - doc="Persistent identifier for a term registered in the InterLex project.", - ), - Property( - "knowledge_space_link", - IRI, - "vocab:knowledgeSpaceLink", - doc="Persistent link to an encyclopedia entry in the Knowledge Space project.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the visual stimulus type.", - ), - Property( - "preferred_ontology_identifier", - IRI, - "vocab:preferredOntologyIdentifier", - doc="Persistent identifier of a preferred ontological term.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:keyword", + "keyword", reverse="keywords", multiple=True, - doc="reverse of 'keywords'", + description="reverse of 'keywords'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), Property( "used_in", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:stimulusType", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "stimulusType", reverse="stimulus_types", multiple=True, - doc="reverse of 'stimulus_types'", + description="reverse of 'stimulus_types'", ), ] existence_query_properties = ("name",) @@ -151,7 +107,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/actors/account_information.py b/fairgraph/openminds/core/actors/account_information.py index 318281f3..9ae32bef 100644 --- a/fairgraph/openminds/core/actors/account_information.py +++ b/fairgraph/openminds/core/actors/account_information.py @@ -4,36 +4,39 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import AccountInformation as OMAccountInformation +from fairgraph import KGObject -class AccountInformation(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" - type_ = "https://openminds.ebrains.eu/core/AccountInformation" - properties = [ - Property( - "service", "openminds.core.WebService", "vocab:service", required=True, doc="no description available" - ), - Property("user_name", str, "vocab:userName", required=True, doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "belongs_to", - "openminds.core.Person", - "^vocab:associatedAccount", + "openminds.latest.core.Person", + "associatedAccount", reverse="associated_accounts", multiple=True, - doc="reverse of 'associated_accounts'", + 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, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, belongs_to=belongs_to, service=service, user_name=user_name + return KGObject.__init__( + self, + id=id, + space=space, + scope=scope, + data=data, + belongs_to=belongs_to, + service=service, + user_name=user_name, ) diff --git a/fairgraph/openminds/core/actors/affiliation.py b/fairgraph/openminds/core/actors/affiliation.py index 253c5f9f..15dc25ae 100644 --- a/fairgraph/openminds/core/actors/affiliation.py +++ b/fairgraph/openminds/core/actors/affiliation.py @@ -4,41 +4,24 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Affiliation as OMAffiliation +from fairgraph import EmbeddedMetadata from datetime import date -class Affiliation(EmbeddedMetadata): +class Affiliation(EmbeddedMetadata, OMAffiliation): """ Structured information about a relationship between two entities, such as a person and their employer. """ - type_ = "https://openminds.ebrains.eu/core/Affiliation" - properties = [ - Property( - "end_date", - date, - "vocab:endDate", - doc="Date in the Gregorian calendar at which something terminates in time.", - ), - Property( - "member_of", - ["openminds.core.Consortium", "openminds.core.Organization"], - "vocab:memberOf", - required=True, - doc="no description available", - ), - Property( - "start_date", - date, - "vocab:startDate", - doc="Date in the Gregorian calendar at which something begins in time", - ), - ] + type_ = "https://openminds.om-i.org/types/Affiliation" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, end_date=None, member_of=None, start_date=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, end_date=end_date, member_of=member_of, start_date=start_date) + return EmbeddedMetadata.__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/core/actors/consortium.py index ab004406..c3f81f30 100644 --- a/fairgraph/openminds/core/actors/consortium.py +++ b/fairgraph/openminds/core/actors/consortium.py @@ -4,137 +4,126 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Consortium as OMConsortium +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Consortium(KGObject): +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" - type_ = "https://openminds.ebrains.eu/core/Consortium" - properties = [ - Property( - "contact_information", - "openminds.core.ContactInformation", - "vocab:contactInformation", - doc="Any available way used to contact a person or business (e.g., address, phone number, email address, etc.).", - ), - Property( - "full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the consortium." - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the consortium."), - Property("short_name", str, "vocab:shortName", doc="Shortened or fully abbreviated name of the consortium."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "coordinated_projects", - "openminds.core.Project", - "^vocab:coordinator", + "openminds.latest.core.Project", + "coordinator", reverse="coordinators", multiple=True, - doc="reverse of 'coordinators'", + description="reverse of 'coordinators'", ), Property( "developed", [ - "openminds.computation.ValidationTest", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipe", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.WebService", - "openminds.core.WebServiceVersion", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipe", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModel", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.Software", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebService", + "openminds.latest.core.WebServiceVersion", ], - "^vocab:developer", + "developer", reverse="developers", multiple=True, - doc="reverse of 'developers'", + description="reverse of 'developers'", ), Property( "funded", - "openminds.core.Funding", - "^vocab:funder", + "openminds.latest.core.Funding", + "funder", reverse="funder", multiple=True, - doc="reverse of 'funder'", + description="reverse of 'funder'", ), Property( "has_members", - "openminds.core.Affiliation", - "^vocab:memberOf", + "openminds.latest.core.Affiliation", + "memberOf", reverse="member_of", multiple=True, - doc="reverse of 'member_of'", + description="reverse of 'member_of'", ), Property( "is_custodian_of", [ - "openminds.core.Dataset", - "openminds.core.DatasetVersion", - "openminds.publications.LivePaper", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.core.Dataset", + "openminds.latest.core.DatasetVersion", + "openminds.latest.publications.LivePaper", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlas", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpace", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:custodian", + "custodian", reverse="custodians", multiple=True, - doc="reverse of 'custodians'", + description="reverse of 'custodians'", ), Property( "is_owner_of", [ - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", - "openminds.specimen_prep.SlicingDevice", + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + "openminds.latest.specimen_prep.SlicingDevice", ], - "^vocab:owner", + "owner", reverse="owners", multiple=True, - doc="reverse of 'owners'", + description="reverse of 'owners'", ), Property( "is_provider_of", - "openminds.chemicals.ProductSource", - "^vocab:provider", + "openminds.latest.chemicals.ProductSource", + "provider", reverse="provider", multiple=True, - doc="reverse of 'provider'", + description="reverse of 'provider'", ), Property( "manufactured", - "openminds.core.Setup", - "^vocab:manufacturer", + "openminds.latest.core.Setup", + "manufacturer", reverse="manufacturers", multiple=True, - doc="reverse of 'manufacturers'", + description="reverse of 'manufacturers'", ), Property( "published", [ - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.ScholarlyArticle", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.ScholarlyArticle", ], - "^vocab:publisher", + "publisher", reverse="publisher", multiple=True, - doc="reverse of 'publisher'", + description="reverse of 'publisher'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -162,7 +151,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/actors/contact_information.py b/fairgraph/openminds/core/actors/contact_information.py index 576c29ec..f2860485 100644 --- a/fairgraph/openminds/core/actors/contact_information.py +++ b/fairgraph/openminds/core/actors/contact_information.py @@ -4,40 +4,34 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ContactInformation as OMContactInformation +from fairgraph import KGObject -class ContactInformation(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" - type_ = "https://openminds.ebrains.eu/core/ContactInformation" - properties = [ - Property( - "email", - str, - "vocab:email", - required=True, - doc="Address to which or from which an electronic mail can be sent.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_contact_information_of", - ["openminds.core.Consortium", "openminds.core.Person"], - "^vocab:contactInformation", + ["openminds.latest.core.Consortium", "openminds.latest.core.Person"], + "contactInformation", reverse="contact_information", multiple=True, - doc="reverse of 'contact_information'", + description="reverse of 'contact_information'", ), ] existence_query_properties = ("email",) def __init__(self, email=None, is_contact_information_of=None, id=None, data=None, space=None, scope=None): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/actors/contribution.py b/fairgraph/openminds/core/actors/contribution.py index 754dbc98..1404679a 100644 --- a/fairgraph/openminds/core/actors/contribution.py +++ b/fairgraph/openminds/core/actors/contribution.py @@ -4,34 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Contribution as OMContribution +from fairgraph import EmbeddedMetadata -class Contribution(EmbeddedMetadata): +class Contribution(EmbeddedMetadata, OMContribution): """ Structured information on the contribution made to a research product. """ - type_ = "https://openminds.ebrains.eu/core/Contribution" - properties = [ - Property( - "contributor", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:contributor", - required=True, - doc="Legal person that gave or supplied something as a part or share.", - ), - Property( - "types", - "openminds.controlled_terms.ContributionType", - "vocab:type", - multiple=True, - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + type_ = "https://openminds.om-i.org/types/Contribution" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, contributor=None, types=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, contributor=contributor, types=types) + return EmbeddedMetadata.__init__(self, data=data, contributor=contributor, types=types) diff --git a/fairgraph/openminds/core/actors/organization.py b/fairgraph/openminds/core/actors/organization.py index a898ed0f..e31b0b6d 100644 --- a/fairgraph/openminds/core/actors/organization.py +++ b/fairgraph/openminds/core/actors/organization.py @@ -4,168 +4,142 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Organization as OMOrganization +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Organization(KGObject): +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" - type_ = "https://openminds.ebrains.eu/core/Organization" - properties = [ - Property( - "affiliations", - "openminds.core.Affiliation", - "vocab:affiliation", - multiple=True, - doc="Declaration of a person being closely associated to an organization.", - ), - Property( - "digital_identifiers", - ["openminds.core.GRIDID", "openminds.core.RORID", "openminds.core.RRID"], - "vocab:digitalIdentifier", - multiple=True, - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the organization." - ), - Property( - "has_parents", - "openminds.core.Organization", - "vocab:hasParent", - multiple=True, - doc="Reference to a parent object or legal person.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the organization."), - Property("short_name", str, "vocab:shortName", doc="Shortened or fully abbreviated name of the organization."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "coordinated_projects", - "openminds.core.Project", - "^vocab:coordinator", + "openminds.latest.core.Project", + "coordinator", reverse="coordinators", multiple=True, - doc="reverse of 'coordinators'", + description="reverse of 'coordinators'", ), Property( "developed", [ - "openminds.computation.ValidationTest", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipe", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.WebService", - "openminds.core.WebServiceVersion", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipe", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModel", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.Software", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebService", + "openminds.latest.core.WebServiceVersion", ], - "^vocab:developer", + "developer", reverse="developers", multiple=True, - doc="reverse of 'developers'", + description="reverse of 'developers'", ), Property( "funded", - "openminds.core.Funding", - "^vocab:funder", + "openminds.latest.core.Funding", + "funder", reverse="funder", multiple=True, - doc="reverse of 'funder'", + description="reverse of 'funder'", ), Property( "has_children", - "openminds.core.Organization", - "^vocab:hasParent", + "openminds.latest.core.Organization", + "hasParent", reverse="has_parents", multiple=True, - doc="reverse of 'has_parents'", + description="reverse of 'has_parents'", ), Property( "has_members", - "openminds.core.Affiliation", - "^vocab:memberOf", + "openminds.latest.core.Affiliation", + "memberOf", reverse="member_of", multiple=True, - doc="reverse of 'member_of'", + description="reverse of 'member_of'", ), Property( "hosts", - ["openminds.core.FileRepository", "openminds.publications.LivePaperResourceItem"], - "^vocab:hostedBy", + ["openminds.latest.core.FileRepository", "openminds.latest.publications.LivePaperResourceItem"], + "hostedBy", reverse="hosted_by", multiple=True, - doc="reverse of 'hosted_by'", + description="reverse of 'hosted_by'", ), Property( "is_custodian_of", [ - "openminds.core.Dataset", - "openminds.core.DatasetVersion", - "openminds.publications.LivePaper", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.core.Dataset", + "openminds.latest.core.DatasetVersion", + "openminds.latest.publications.LivePaper", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlas", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpace", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:custodian", + "custodian", reverse="custodians", multiple=True, - doc="reverse of 'custodians'", + description="reverse of 'custodians'", ), Property( "is_owner_of", [ - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", - "openminds.specimen_prep.SlicingDevice", + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + "openminds.latest.specimen_prep.SlicingDevice", ], - "^vocab:owner", + "owner", reverse="owners", multiple=True, - doc="reverse of 'owners'", + description="reverse of 'owners'", ), Property( "is_provider_of", - "openminds.chemicals.ProductSource", - "^vocab:provider", + "openminds.latest.chemicals.ProductSource", + "provider", reverse="provider", multiple=True, - doc="reverse of 'provider'", + description="reverse of 'provider'", ), Property( "manufactured", - "openminds.core.Setup", - "^vocab:manufacturer", + "openminds.latest.core.Setup", + "manufacturer", reverse="manufacturers", multiple=True, - doc="reverse of 'manufacturers'", + description="reverse of 'manufacturers'", ), Property( "published", [ - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.ScholarlyArticle", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.ScholarlyArticle", ], - "^vocab:publisher", + "publisher", reverse="publisher", multiple=True, - doc="reverse of 'publisher'", + description="reverse of 'publisher'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -197,7 +171,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/actors/person.py b/fairgraph/openminds/core/actors/person.py index e77a5f51..3e215bba 100644 --- a/fairgraph/openminds/core/actors/person.py +++ b/fairgraph/openminds/core/actors/person.py @@ -4,193 +4,157 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Person as OMPerson +from fairgraph import KGObject -class Person(KGObject): +class Person(KGObject, OMPerson): """ Structured information on a person. """ + type_ = "https://openminds.om-i.org/types/Person" default_space = "common" - type_ = "https://openminds.ebrains.eu/core/Person" - properties = [ - Property( - "affiliations", - "openminds.core.Affiliation", - "vocab:affiliation", - multiple=True, - doc="Declaration of a person being closely associated to an organization.", - ), - Property("alternate_names", str, "vocab:alternateName", multiple=True, doc="no description available"), - Property( - "associated_accounts", - "openminds.core.AccountInformation", - "vocab:associatedAccount", - multiple=True, - doc="no description available", - ), - Property( - "contact_information", - "openminds.core.ContactInformation", - "vocab:contactInformation", - doc="Any available way used to contact a person or business (e.g., address, phone number, email address, etc.).", - ), - Property( - "digital_identifiers", - "openminds.core.ORCID", - "vocab:digitalIdentifier", - multiple=True, - doc="Digital handle to identify objects or legal persons.", - ), - Property("family_name", str, "vocab:familyName", doc="Name borne in common by members of a family."), - Property( - "given_name", - str, - "vocab:givenName", - required=True, - doc="Name given to a person, including all potential middle names, but excluding the family name.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "activities", [ - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:performedBy", + "performedBy", reverse="performed_by", multiple=True, - doc="reverse of 'performed_by'", + description="reverse of 'performed_by'", ), Property( "comments", - "openminds.core.Comment", - "^vocab:commenter", + "openminds.latest.core.Comment", + "commenter", reverse="commenter", multiple=True, - doc="reverse of 'commenter'", + description="reverse of 'commenter'", ), Property( "coordinated_projects", - "openminds.core.Project", - "^vocab:coordinator", + "openminds.latest.core.Project", + "coordinator", reverse="coordinators", multiple=True, - doc="reverse of 'coordinators'", + description="reverse of 'coordinators'", ), Property( "developed", [ - "openminds.computation.ValidationTest", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipe", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.WebService", - "openminds.core.WebServiceVersion", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipe", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModel", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.Software", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebService", + "openminds.latest.core.WebServiceVersion", ], - "^vocab:developer", + "developer", reverse="developers", multiple=True, - doc="reverse of 'developers'", + description="reverse of 'developers'", ), Property( "funded", - "openminds.core.Funding", - "^vocab:funder", + "openminds.latest.core.Funding", + "funder", reverse="funder", multiple=True, - doc="reverse of 'funder'", + description="reverse of 'funder'", ), Property( "is_custodian_of", [ - "openminds.core.Dataset", - "openminds.core.DatasetVersion", - "openminds.publications.LivePaper", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.core.Dataset", + "openminds.latest.core.DatasetVersion", + "openminds.latest.publications.LivePaper", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlas", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpace", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:custodian", + "custodian", reverse="custodians", multiple=True, - doc="reverse of 'custodians'", + description="reverse of 'custodians'", ), Property( "is_owner_of", [ - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", - "openminds.specimen_prep.SlicingDevice", + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + "openminds.latest.specimen_prep.SlicingDevice", ], - "^vocab:owner", + "owner", reverse="owners", multiple=True, - doc="reverse of 'owners'", + description="reverse of 'owners'", ), Property( "is_provider_of", - "openminds.chemicals.ProductSource", - "^vocab:provider", + "openminds.latest.chemicals.ProductSource", + "provider", reverse="provider", multiple=True, - doc="reverse of 'provider'", + description="reverse of 'provider'", ), Property( "manufactured", - "openminds.core.Setup", - "^vocab:manufacturer", + "openminds.latest.core.Setup", + "manufacturer", reverse="manufacturers", multiple=True, - doc="reverse of 'manufacturers'", + description="reverse of 'manufacturers'", ), Property( "published", [ - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.ScholarlyArticle", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.ScholarlyArticle", ], - "^vocab:publisher", + "publisher", reverse="publisher", multiple=True, - doc="reverse of 'publisher'", + description="reverse of 'publisher'", ), Property( "started", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - "openminds.computation.WorkflowExecution", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", + "openminds.latest.computation.WorkflowExecution", ], - "^vocab:startedBy", + "startedBy", reverse="started_by", multiple=True, - doc="reverse of 'started_by'", + description="reverse of 'started_by'", ), ] existence_query_properties = ("given_name", "family_name") @@ -220,7 +184,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/content_type.py b/fairgraph/openminds/core/data/content_type.py index d1ddcbaf..78f0e252 100644 --- a/fairgraph/openminds/core/data/content_type.py +++ b/fairgraph/openminds/core/data/content_type.py @@ -4,112 +4,65 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ContentType as OMContentType +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ContentType(KGObject): +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" - type_ = "https://openminds.ebrains.eu/core/ContentType" - properties = [ - Property( - "data_types", - "openminds.controlled_terms.DataType", - "vocab:dataType", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the content type.", - ), - Property("display_label", str, "vocab:displayLabel", doc="no description available"), - Property( - "file_extensions", - str, - "vocab:fileExtension", - multiple=True, - doc="String of characters attached as suffix to the names of files of a particular format.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the content type.", - ), - Property( - "related_media_type", - IRI, - "vocab:relatedMediaType", - doc="Reference to an official two-part identifier for file formats and format contents.", - ), - Property( - "specification", - IRI, - "vocab:specification", - doc="Detailed and precise presentation of, or proposal for something.", - ), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_defined_by", - "openminds.core.ContentTypePattern", - "^vocab:contentType", + "openminds.latest.core.ContentTypePattern", + "contentType", reverse="content_type", multiple=True, - doc="reverse of 'content_type'", + description="reverse of 'content_type'", ), Property( "is_format_of", [ - "openminds.computation.LocalFile", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.Configuration", - "openminds.core.File", - "openminds.core.FileArchive", - "openminds.core.FileBundle", - "openminds.core.FileRepository", - "openminds.core.ModelVersion", - "openminds.core.WebResource", + "openminds.latest.computation.LocalFile", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.Configuration", + "openminds.latest.core.File", + "openminds.latest.core.FileArchive", + "openminds.latest.core.FileBundle", + "openminds.latest.core.FileRepository", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.WebResource", ], - "^vocab:format", + "format", reverse="format", multiple=True, - doc="reverse of 'format'", + description="reverse of 'format'", ), Property( "is_output_format_of", - ["openminds.core.SoftwareVersion", "openminds.core.WebServiceVersion"], - "^vocab:outputFormat", + ["openminds.latest.core.SoftwareVersion", "openminds.latest.core.WebServiceVersion"], + "outputFormat", reverse="output_formats", multiple=True, - doc="reverse of 'output_formats'", + description="reverse of 'output_formats'", ), Property( "is_specification_format_of", - "openminds.core.MetaDataModelVersion", - "^vocab:specificationFormat", + "openminds.latest.core.MetaDataModelVersion", + "specificationFormat", reverse="specification_formats", multiple=True, - doc="reverse of 'specification_formats'", + description="reverse of 'specification_formats'", ), ] existence_query_properties = ("name",) @@ -133,7 +86,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/content_type_pattern.py b/fairgraph/openminds/core/data/content_type_pattern.py index d963e091..5f7617a1 100644 --- a/fairgraph/openminds/core/data/content_type_pattern.py +++ b/fairgraph/openminds/core/data/content_type_pattern.py @@ -4,36 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ContentTypePattern as OMContentTypePattern +from fairgraph import KGObject -class ContentTypePattern(KGObject): +class ContentTypePattern(KGObject, OMContentTypePattern): """ """ + type_ = "https://openminds.om-i.org/types/ContentTypePattern" default_space = "files" - type_ = "https://openminds.ebrains.eu/core/ContentTypePattern" - properties = [ - Property( - "content_type", - "openminds.core.ContentType", - "vocab:contentType", - required=True, - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property("regex", str, "vocab:regex", required=True, doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies_content_of", - "openminds.core.FileRepository", - "^vocab:contentTypePattern", + "openminds.latest.core.FileRepository", + "contentTypePattern", reverse="content_type_patterns", multiple=True, - doc="reverse of 'content_type_patterns'", + description="reverse of 'content_type_patterns'", ), ] existence_query_properties = ("lookup_label",) @@ -49,7 +40,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/copyright.py b/fairgraph/openminds/core/data/copyright.py index 4c687865..6a80398e 100644 --- a/fairgraph/openminds/core/data/copyright.py +++ b/fairgraph/openminds/core/data/copyright.py @@ -4,35 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Copyright as OMCopyright +from fairgraph import EmbeddedMetadata -class Copyright(EmbeddedMetadata): +class Copyright(EmbeddedMetadata, OMCopyright): """ Structured information on the copyright. """ - type_ = "https://openminds.ebrains.eu/core/Copyright" - properties = [ - Property( - "holders", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:holder", - multiple=True, - required=True, - doc="Legal person in possession of something.", - ), - Property( - "years", - str, - "vocab:year", - multiple=True, - required=True, - doc="Cycle in the Gregorian calendar specified by a number and comprised of 365 or 366 days divided into 12 months beginning with January and ending with December.", - ), - ] + type_ = "https://openminds.om-i.org/types/Copyright" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, holders=None, years=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, holders=holders, years=years) + return EmbeddedMetadata.__init__(self, data=data, holders=holders, years=years) diff --git a/fairgraph/openminds/core/data/file.py b/fairgraph/openminds/core/data/file.py index b58cde23..d36c02dc 100644 --- a/fairgraph/openminds/core/data/file.py +++ b/fairgraph/openminds/core/data/file.py @@ -4,8 +4,9 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import File as OMFile +from fairgraph import KGObject import os import mimetypes @@ -19,217 +20,159 @@ from fairgraph.utility import accepted_terms_of_use, sha1sum mimetypes.init() -from fairgraph.base import IRI +from openminds import IRI -class File(KGObject): +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" - type_ = "https://openminds.ebrains.eu/core/File" - properties = [ - Property("content_description", str, "vocab:contentDescription", doc="no description available"), - Property( - "data_types", - "openminds.controlled_terms.DataType", - "vocab:dataType", - multiple=True, - doc="no description available", - ), - Property( - "file_repository", "openminds.core.FileRepository", "vocab:fileRepository", doc="no description available" - ), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "hashes", - "openminds.core.Hash", - "vocab:hash", - multiple=True, - doc="Term used for the process of converting any data into a single value. Often also directly refers to the resulting single value.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - required=True, - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "is_part_of", - "openminds.core.FileBundle", - "vocab:isPartOf", - multiple=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the file.", - ), - Property( - "special_usage_role", - "openminds.controlled_terms.FileUsageRole", - "vocab:specialUsageRole", - doc="Particular function of something when it is used.", - ), - Property( - "storage_size", - "openminds.core.QuantitativeValue", - "vocab:storageSize", - doc="Quantitative value defining how much disk space is used by an object on a computer system.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.core.BehavioralProtocol", - "openminds.core.Protocol", - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", + "openminds.latest.core.BehavioralProtocol", + "openminds.latest.core.Protocol", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", + "openminds.latest.specimen_prep.SlicingDeviceUsage", ], - ["^vocab:describedIn", "^vocab:metadataLocation"], + ["describedIn", "metadataLocation"], reverse=["described_in", "metadata_locations"], multiple=True, - doc="reverse of described_in, metadata_locations", + description="reverse of described_in, metadata_locations", ), Property( "fully_documents", [ - "openminds.core.MetaDataModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:fullDocumentation", + "fullDocumentation", reverse="full_documentation", multiple=True, - doc="reverse of 'full_documentation'", + description="reverse of 'full_documentation'", ), Property( "has_copies", - "openminds.computation.LocalFile", - "^vocab:copyOf", + "openminds.latest.computation.LocalFile", + "copyOf", reverse="copy_of", multiple=True, - doc="reverse of 'copy_of'", + description="reverse of 'copy_of'", ), Property( "is_also_part_of", - "openminds.computation.WorkflowRecipeVersion", - "^vocab:hasPart", + "openminds.latest.computation.WorkflowRecipeVersion", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_configuration_of", - "openminds.computation.WorkflowExecution", - "^vocab:configuration", + "openminds.latest.computation.WorkflowExecution", + "configuration", reverse="configuration", multiple=True, - doc="reverse of 'configuration'", + description="reverse of 'configuration'", ), Property( "is_default_image_for", - "openminds.sands.CustomCoordinateSpace", - "^vocab:defaultImage", + "openminds.latest.sands.CustomCoordinateSpace", + "defaultImage", reverse="default_images", multiple=True, - doc="reverse of 'default_images'", + description="reverse of 'default_images'", ), Property( "is_input_to", - "openminds.core.DatasetVersion", - "^vocab:inputData", + "openminds.latest.core.DatasetVersion", + "inputData", reverse="input_data", multiple=True, - doc="reverse of 'input_data'", + description="reverse of 'input_data'", ), Property( "is_location_of", - ["openminds.ephys.Recording", "openminds.sands.ParcellationTerminologyVersion"], - "^vocab:dataLocation", + ["openminds.latest.ephys.Recording", "openminds.latest.sands.ParcellationTerminologyVersion"], + "dataLocation", reverse="data_location", multiple=True, - doc="reverse of 'data_location'", + description="reverse of 'data_location'", ), Property( "is_output_of", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - "openminds.core.ModelVersion", - "openminds.core.ProtocolExecution", - "openminds.ephys.RecordingActivity", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.stimulation.StimulationActivity", ], - ["^vocab:output", "^vocab:outputData"], + ["output", "outputData"], reverse=["output_data", "outputs"], multiple=True, - doc="reverse of output_data, outputs", + description="reverse of output_data, outputs", ), Property( "is_preview_of", - "openminds.core.ServiceLink", - "^vocab:previewImage", + "openminds.latest.core.ServiceLink", + "previewImage", reverse="preview_image", multiple=True, - doc="reverse of 'preview_image'", + description="reverse of 'preview_image'", ), Property( "is_reference_for", - "openminds.computation.ValidationTestVersion", - "^vocab:referenceData", + "openminds.latest.computation.ValidationTestVersion", + "referenceData", reverse="reference_data", multiple=True, - doc="reverse of 'reference_data'", + description="reverse of 'reference_data'", ), Property( "is_source_data_of", - "openminds.core.FileArchive", - "^vocab:sourceData", + "openminds.latest.core.FileArchive", + "sourceData", reverse="source_data", multiple=True, - doc="reverse of 'source_data'", + description="reverse of 'source_data'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "specifies", [ - "openminds.sands.AtlasAnnotation", - "openminds.sands.CustomAnnotation", - "openminds.stimulation.EphysStimulus", + "openminds.latest.sands.AtlasAnnotation", + "openminds.latest.sands.CustomAnnotation", + "openminds.latest.stimulation.EphysStimulus", ], - "^vocab:specification", + "specification", reverse="specification", multiple=True, - doc="reverse of 'specification'", + description="reverse of 'specification'", ), ] aliases = {"hash": "hashes"} @@ -267,7 +210,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/file_archive.py b/fairgraph/openminds/core/data/file_archive.py index 6bc9ea61..f4b13981 100644 --- a/fairgraph/openminds/core/data/file_archive.py +++ b/fairgraph/openminds/core/data/file_archive.py @@ -4,60 +4,43 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import FileArchive as OMFileArchive +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class FileArchive(KGObject): +class FileArchive(KGObject, OMFileArchive): """ """ + type_ = "https://openminds.om-i.org/types/FileArchive" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/FileArchive" - properties = [ - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - required=True, - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - required=True, - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "source_data", "openminds.core.File", "vocab:sourceData", multiple=True, doc="no description available" - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_location_of", - "openminds.core.ServiceLink", - "^vocab:dataLocation", + "openminds.latest.core.ServiceLink", + "dataLocation", reverse="data_location", multiple=True, - doc="reverse of 'data_location'", + description="reverse of 'data_location'", ), Property( "is_output_of", [ - "openminds.computation.DataAnalysis", - "openminds.computation.GenericComputation", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:output", + "output", reverse="outputs", multiple=True, - doc="reverse of 'outputs'", + description="reverse of 'outputs'", ), ] existence_query_properties = ("iri", "format") @@ -74,7 +57,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/file_bundle.py b/fairgraph/openminds/core/data/file_bundle.py index 4eaddcba..40fd5ad4 100644 --- a/fairgraph/openminds/core/data/file_bundle.py +++ b/fairgraph/openminds/core/data/file_bundle.py @@ -4,197 +4,100 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import FileBundle as OMFileBundle +from fairgraph import KGObject -class FileBundle(KGObject): +class FileBundle(KGObject, OMFileBundle): """ Structured information on a bundle of file instances. """ + type_ = "https://openminds.om-i.org/types/FileBundle" default_space = "files" - type_ = "https://openminds.ebrains.eu/core/FileBundle" - properties = [ - Property("content_description", str, "vocab:contentDescription", doc="no description available"), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "grouped_by", - [ - "openminds.computation.LocalFile", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.core.BehavioralProtocol", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.Subject", - "openminds.core.SubjectGroup", - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.CustomCoordinateSpace", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:groupedBy", - multiple=True, - doc="Reference to the aspect used to group something.", - ), - Property( - "grouping_types", - "openminds.controlled_terms.FileBundleGrouping", - "vocab:groupingType", - multiple=True, - doc="no description available", - ), - Property( - "hash", - "openminds.core.Hash", - "vocab:hash", - doc="Term used for the process of converting any data into a single value. Often also directly refers to the resulting single value.", - ), - Property( - "is_part_of", - ["openminds.core.FileBundle", "openminds.core.FileRepository"], - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the file bundle.", - ), - Property( - "storage_size", - "openminds.core.QuantitativeValue", - "vocab:storageSize", - doc="Quantitative value defining how much disk space is used by an object on a computer system.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", + "openminds.latest.specimen_prep.SlicingDeviceUsage", ], - "^vocab:metadataLocation", + "metadataLocation", reverse="metadata_locations", multiple=True, - doc="reverse of 'metadata_locations'", + description="reverse of 'metadata_locations'", ), Property( "has_parts", - ["openminds.core.File", "openminds.core.FileBundle"], - "^vocab:isPartOf", + ["openminds.latest.core.File", "openminds.latest.core.FileBundle"], + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), Property( "is_also_part_of", - "openminds.computation.WorkflowRecipeVersion", - "^vocab:hasPart", + "openminds.latest.computation.WorkflowRecipeVersion", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_input_to", - "openminds.core.DatasetVersion", - "^vocab:inputData", + "openminds.latest.core.DatasetVersion", + "inputData", reverse="input_data", multiple=True, - doc="reverse of 'input_data'", + description="reverse of 'input_data'", ), Property( "is_location_of", - ["openminds.core.ServiceLink", "openminds.ephys.Recording"], - "^vocab:dataLocation", + ["openminds.latest.core.ServiceLink", "openminds.latest.ephys.Recording"], + "dataLocation", reverse="data_location", multiple=True, - doc="reverse of 'data_location'", + description="reverse of 'data_location'", ), Property( "is_output_of", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", - "openminds.core.ModelVersion", - "openminds.core.ProtocolExecution", - "openminds.ephys.RecordingActivity", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.stimulation.StimulationActivity", ], - ["^vocab:output", "^vocab:outputData"], + ["output", "outputData"], reverse=["output_data", "outputs"], multiple=True, - doc="reverse of output_data, outputs", + description="reverse of output_data, outputs", ), Property( "is_reference_for", - "openminds.computation.ValidationTestVersion", - "^vocab:referenceData", + "openminds.latest.computation.ValidationTestVersion", + "referenceData", reverse="reference_data", multiple=True, - doc="reverse of 'reference_data'", + description="reverse of 'reference_data'", ), Property( "specifies", - "openminds.stimulation.EphysStimulus", - "^vocab:specification", + "openminds.latest.stimulation.EphysStimulus", + "specification", reverse="specifications", multiple=True, - doc="reverse of 'specifications'", + description="reverse of 'specifications'", ), ] existence_query_properties = ("is_part_of", "name") @@ -222,7 +125,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/file_path_pattern.py b/fairgraph/openminds/core/data/file_path_pattern.py index 72fce080..1b7c4f28 100644 --- a/fairgraph/openminds/core/data/file_path_pattern.py +++ b/fairgraph/openminds/core/data/file_path_pattern.py @@ -4,28 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import FilePathPattern as OMFilePathPattern +from fairgraph import EmbeddedMetadata -class FilePathPattern(EmbeddedMetadata): +class FilePathPattern(EmbeddedMetadata, OMFilePathPattern): """ """ - type_ = "https://openminds.ebrains.eu/core/FilePathPattern" - properties = [ - Property( - "grouping_types", - "openminds.controlled_terms.FileBundleGrouping", - "vocab:groupingType", - multiple=True, - required=True, - doc="no description available", - ), - Property("regex", str, "vocab:regex", required=True, doc="no description available"), - ] + type_ = "https://openminds.om-i.org/types/FilePathPattern" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, grouping_types=None, regex=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, grouping_types=grouping_types, regex=regex) + return EmbeddedMetadata.__init__(self, data=data, grouping_types=grouping_types, regex=regex) diff --git a/fairgraph/openminds/core/data/file_repository.py b/fairgraph/openminds/core/data/file_repository.py index 1dd0d60c..a35a31b8 100644 --- a/fairgraph/openminds/core/data/file_repository.py +++ b/fairgraph/openminds/core/data/file_repository.py @@ -4,115 +4,57 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import FileRepository as OMFileRepository +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class FileRepository(KGObject): +class FileRepository(KGObject, OMFileRepository): """ Structured information on a file repository. """ + type_ = "https://openminds.om-i.org/types/FileRepository" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/FileRepository" - properties = [ - Property( - "content_type_patterns", - "openminds.core.ContentTypePattern", - "vocab:contentTypePattern", - multiple=True, - doc="no description available", - ), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "hash", - "openminds.core.Hash", - "vocab:hash", - doc="Term used for the process of converting any data into a single value. Often also directly refers to the resulting single value.", - ), - Property( - "hosted_by", - "openminds.core.Organization", - "vocab:hostedBy", - required=True, - doc="Reference to an organization that provides facilities and services for something.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - required=True, - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the file repository.", - ), - Property( - "storage_size", - "openminds.core.QuantitativeValue", - "vocab:storageSize", - doc="Quantitative value defining how much disk space is used by an object on a computer system.", - ), - Property( - "structure_pattern", - "openminds.core.FileRepositoryStructure", - "vocab:structurePattern", - doc="no description available", - ), - Property( - "type", - "openminds.controlled_terms.FileRepositoryType", - "vocab:type", - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "contains_content_of", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:repository", + "repository", reverse="repository", multiple=True, - doc="reverse of 'repository'", + description="reverse of 'repository'", ), Property( "files", - "openminds.core.File", - "^vocab:fileRepository", + "openminds.latest.core.File", + "fileRepository", reverse="file_repository", multiple=True, - doc="reverse of 'file_repository'", + description="reverse of 'file_repository'", ), Property( "has_parts", - "openminds.core.FileBundle", - "^vocab:isPartOf", + "openminds.latest.core.FileBundle", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), ] existence_query_properties = ("iri",) @@ -136,7 +78,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/file_repository_structure.py b/fairgraph/openminds/core/data/file_repository_structure.py index 52543d33..37fbf59c 100644 --- a/fairgraph/openminds/core/data/file_repository_structure.py +++ b/fairgraph/openminds/core/data/file_repository_structure.py @@ -4,36 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import FileRepositoryStructure as OMFileRepositoryStructure +from fairgraph import KGObject -class FileRepositoryStructure(KGObject): +class FileRepositoryStructure(KGObject, OMFileRepositoryStructure): """ """ + type_ = "https://openminds.om-i.org/types/FileRepositoryStructure" default_space = "files" - type_ = "https://openminds.ebrains.eu/core/FileRepositoryStructure" - properties = [ - Property( - "file_path_patterns", - "openminds.core.FilePathPattern", - "vocab:filePathPattern", - multiple=True, - required=True, - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "structures", - "openminds.core.FileRepository", - "^vocab:structurePattern", + "openminds.latest.core.FileRepository", + "structurePattern", reverse="structure_pattern", multiple=True, - doc="reverse of 'structure_pattern'", + description="reverse of 'structure_pattern'", ), ] existence_query_properties = ("lookup_label",) @@ -41,7 +32,8 @@ class FileRepositoryStructure(KGObject): def __init__( self, lookup_label=None, file_path_patterns=None, structures=None, id=None, data=None, space=None, scope=None ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/hash.py b/fairgraph/openminds/core/data/hash.py index 1f2614bc..1696f580 100644 --- a/fairgraph/openminds/core/data/hash.py +++ b/fairgraph/openminds/core/data/hash.py @@ -4,29 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Hash as OMHash +from fairgraph import EmbeddedMetadata -class Hash(EmbeddedMetadata): +class Hash(EmbeddedMetadata, OMHash): """ Structured information on a hash. """ - type_ = "https://openminds.ebrains.eu/core/Hash" - properties = [ - Property( - "algorithm", - str, - "vocab:algorithm", - required=True, - doc="Procedure for solving a mathematical problem in a finite number of steps. Can involve repetition of an operation.", - ), - Property( - "digest", str, "vocab:digest", required=True, doc="Summation or condensation of a body of information." - ), - ] + type_ = "https://openminds.om-i.org/types/Hash" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, algorithm=None, digest=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, algorithm=algorithm, digest=digest) + return EmbeddedMetadata.__init__(self, data=data, algorithm=algorithm, digest=digest) diff --git a/fairgraph/openminds/core/data/license.py b/fairgraph/openminds/core/data/license.py index 9666d7d0..6be0b2a3 100644 --- a/fairgraph/openminds/core/data/license.py +++ b/fairgraph/openminds/core/data/license.py @@ -4,66 +4,44 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import License as OMLicense +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class License(KGObject): +class License(KGObject, OMLicense): """ Structured information on a used license. """ + type_ = "https://openminds.om-i.org/types/License" default_space = "controlled" - type_ = "https://openminds.ebrains.eu/core/License" - properties = [ - Property("full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the license."), - Property( - "legal_code", - IRI, - "vocab:legalCode", - required=True, - doc="Type of legislation that claims to cover the law system (complete or parts) as it existed at the time the code was enacted.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the license.", - ), - Property( - "webpages", - str, - "vocab:webpage", - multiple=True, - doc="Hypertext document (block of information) found on the World Wide Web.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_applied_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:license", + "license", reverse="license", multiple=True, - doc="reverse of 'license'", + description="reverse of 'license'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -83,7 +61,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/data/measurement.py b/fairgraph/openminds/core/data/measurement.py index ce74df08..5e7e7eeb 100644 --- a/fairgraph/openminds/core/data/measurement.py +++ b/fairgraph/openminds/core/data/measurement.py @@ -4,54 +4,21 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Measurement as OMMeasurement +from fairgraph import EmbeddedMetadata from datetime import datetime -class Measurement(EmbeddedMetadata): +class Measurement(EmbeddedMetadata, OMMeasurement): """ Structured information about a measurement performed during a scientific experiment. """ - type_ = "https://openminds.ebrains.eu/core/Measurement" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "measured_quantity", - "openminds.controlled_terms.MeasuredQuantity", - "vocab:measuredQuantity", - required=True, - doc="no description available", - ), - Property( - "measured_with", - [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", - ], - "vocab:measuredWith", - doc="no description available", - ), - Property("timestamp", datetime, "vocab:timestamp", doc="no description available"), - Property( - "values", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:value", - multiple=True, - required=True, - doc="Entry for a property.", - ), - ] + type_ = "https://openminds.om-i.org/types/Measurement" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -66,7 +33,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, additional_remarks=additional_remarks, measured_quantity=measured_quantity, diff --git a/fairgraph/openminds/core/data/service_link.py b/fairgraph/openminds/core/data/service_link.py index 35db548f..1b4c9779 100644 --- a/fairgraph/openminds/core/data/service_link.py +++ b/fairgraph/openminds/core/data/service_link.py @@ -4,46 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ServiceLink as OMServiceLink +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class ServiceLink(KGObject): +class ServiceLink(KGObject, OMServiceLink): """ """ + type_ = "https://openminds.om-i.org/types/ServiceLink" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/ServiceLink" - properties = [ - Property( - "data_location", - [ - "openminds.core.File", - "openminds.core.FileArchive", - "openminds.core.FileBundle", - "openminds.core.ModelVersion", - "openminds.publications.LivePaperResourceItem", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:dataLocation", - required=True, - doc="no description available", - ), - Property("display_label", str, "vocab:displayLabel", doc="no description available"), - Property("open_data_in", IRI, "vocab:openDataIn", required=True, doc="no description available"), - Property("preview_image", "openminds.core.File", "vocab:previewImage", doc="no description available"), - Property( - "service", - "openminds.controlled_terms.Service", - "vocab:service", - required=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("data_location", "open_data_in", "service") @@ -59,7 +35,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/digital_identifier/doi.py b/fairgraph/openminds/core/digital_identifier/doi.py index ca0e6eda..3c6ed9d5 100644 --- a/fairgraph/openminds/core/digital_identifier/doi.py +++ b/fairgraph/openminds/core/digital_identifier/doi.py @@ -4,73 +4,72 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import DOI as OMDOI +from fairgraph import KGObject -class DOI(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" - type_ = "https://openminds.ebrains.eu/core/DOI" - properties = [ - Property("identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the DOI."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:describedIn", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "describedIn", reverse="described_in", multiple=True, - doc="reverse of 'described_in'", + description="reverse of 'described_in'", ), Property( "identifies", [ - "openminds.computation.ValidationTest", - "openminds.computation.WorkflowRecipe", - "openminds.core.Dataset", - "openminds.core.MetaDataModel", - "openminds.core.Model", - "openminds.core.Software", - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaper", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlas", - "openminds.sands.CommonCoordinateSpace", - "openminds.specimen_prep.SlicingDevice", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.WorkflowRecipe", + "openminds.latest.core.Dataset", + "openminds.latest.core.MetaDataModel", + "openminds.latest.core.Model", + "openminds.latest.core.Software", + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaper", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlas", + "openminds.latest.sands.CommonCoordinateSpace", + "openminds.latest.specimen_prep.SlicingDevice", ], - "^vocab:digitalIdentifier", + "digitalIdentifier", reverse="digital_identifier", multiple=True, - doc="reverse of 'digital_identifier'", + description="reverse of 'digital_identifier'", ), Property( "related_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:relatedPublication", + "relatedPublication", reverse="related_publications", multiple=True, - doc="reverse of 'related_publications'", + description="reverse of 'related_publications'", ), ] existence_query_properties = ("identifier",) @@ -86,7 +85,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/digital_identifier/gridid.py b/fairgraph/openminds/core/digital_identifier/gridid.py index cb4661fa..7dafc960 100644 --- a/fairgraph/openminds/core/digital_identifier/gridid.py +++ b/fairgraph/openminds/core/digital_identifier/gridid.py @@ -4,35 +4,32 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import GRIDID as OMGRIDID +from fairgraph import KGObject -class GRIDID(KGObject): +class GRIDID(KGObject, OMGRIDID): """ A GRID (Global Research Identifier Database) identifier. """ + type_ = "https://openminds.om-i.org/types/GRIDID" default_space = "common" - type_ = "https://openminds.ebrains.eu/core/GRIDID" - properties = [ - Property( - "identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the GRIDID." - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies", - "openminds.core.Organization", - "^vocab:digitalIdentifier", + "openminds.latest.core.Organization", + "digitalIdentifier", reverse="digital_identifiers", multiple=True, - doc="reverse of 'digital_identifiers'", + description="reverse of 'digital_identifiers'", ), ] existence_query_properties = ("identifier",) def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies ) diff --git a/fairgraph/openminds/core/digital_identifier/handle.py b/fairgraph/openminds/core/digital_identifier/handle.py index 5c20cb48..34733855 100644 --- a/fairgraph/openminds/core/digital_identifier/handle.py +++ b/fairgraph/openminds/core/digital_identifier/handle.py @@ -4,46 +4,43 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import HANDLE as OMHANDLE +from fairgraph import KGObject -class HANDLE(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" - type_ = "https://openminds.ebrains.eu/core/HANDLE" - properties = [ - Property( - "identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the HANDLE." - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "related_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:relatedPublication", + "relatedPublication", reverse="related_publications", multiple=True, - doc="reverse of 'related_publications'", + description="reverse of 'related_publications'", ), ] existence_query_properties = ("identifier",) def __init__(self, identifier=None, related_to=None, id=None, data=None, space=None, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, identifier=identifier, related_to=related_to + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, identifier=identifier, related_to=related_to ) diff --git a/fairgraph/openminds/core/digital_identifier/identifiers_dot_org_id.py b/fairgraph/openminds/core/digital_identifier/identifiers_dot_org_id.py index 39caf439..cdfc44aa 100644 --- a/fairgraph/openminds/core/digital_identifier/identifiers_dot_org_id.py +++ b/fairgraph/openminds/core/digital_identifier/identifiers_dot_org_id.py @@ -4,39 +4,32 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import IdentifiersDotOrgID as OMIdentifiersDotOrgID +from fairgraph import KGObject -class IdentifiersDotOrgID(KGObject): +class IdentifiersDotOrgID(KGObject, OMIdentifiersDotOrgID): """ """ + type_ = "https://openminds.om-i.org/types/IdentifiersDotOrgID" default_space = "common" - type_ = "https://openminds.ebrains.eu/core/IdentifiersDotOrgID" - properties = [ - Property( - "identifier", - str, - "vocab:identifier", - required=True, - doc="Term or code used to identify the identifiers dot org i d.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies", - ["openminds.core.Dataset", "openminds.core.DatasetVersion"], - "^vocab:digitalIdentifier", + ["openminds.latest.core.Dataset", "openminds.latest.core.DatasetVersion"], + "digitalIdentifier", reverse="digital_identifier", multiple=True, - doc="reverse of 'digital_identifier'", + description="reverse of 'digital_identifier'", ), ] existence_query_properties = ("identifier",) def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies ) diff --git a/fairgraph/openminds/core/digital_identifier/isbn.py b/fairgraph/openminds/core/digital_identifier/isbn.py index a5c8c234..2fb1e3c2 100644 --- a/fairgraph/openminds/core/digital_identifier/isbn.py +++ b/fairgraph/openminds/core/digital_identifier/isbn.py @@ -4,59 +4,62 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ISBN as OMISBN +from fairgraph import KGObject -class ISBN(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" - type_ = "https://openminds.ebrains.eu/core/ISBN" - properties = [ - Property("identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the ISBN."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "cited_in", [ - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.ScholarlyArticle", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.ScholarlyArticle", ], - "^vocab:citedPublication", + "citedPublication", reverse="cited_publications", multiple=True, - doc="reverse of 'cited_publications'", + description="reverse of 'cited_publications'", ), Property( "identifies", - ["openminds.publications.Book", "openminds.sands.BrainAtlas", "openminds.sands.CommonCoordinateSpace"], - "^vocab:digitalIdentifier", + [ + "openminds.latest.publications.Book", + "openminds.latest.sands.BrainAtlas", + "openminds.latest.sands.CommonCoordinateSpace", + ], + "digitalIdentifier", reverse="digital_identifier", multiple=True, - doc="reverse of 'digital_identifier'", + description="reverse of 'digital_identifier'", ), Property( "related_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:relatedPublication", + "relatedPublication", reverse="related_publications", multiple=True, - doc="reverse of 'related_publications'", + description="reverse of 'related_publications'", ), ] existence_query_properties = ("identifier",) @@ -72,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/digital_identifier/issn.py b/fairgraph/openminds/core/digital_identifier/issn.py index 98bcaf5e..1c69a4b6 100644 --- a/fairgraph/openminds/core/digital_identifier/issn.py +++ b/fairgraph/openminds/core/digital_identifier/issn.py @@ -4,53 +4,53 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ISSN as OMISSN +from fairgraph import KGObject -class ISSN(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" - type_ = "https://openminds.ebrains.eu/core/ISSN" - properties = [ - Property("identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the ISSN."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies", - "openminds.publications.Periodical", - "^vocab:digitalIdentifier", + "openminds.latest.publications.Periodical", + "digitalIdentifier", reverse="digital_identifier", multiple=True, - doc="reverse of 'digital_identifier'", + description="reverse of 'digital_identifier'", ), Property( "related_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:relatedPublication", + "relatedPublication", reverse="related_publications", multiple=True, - doc="reverse of 'related_publications'", + 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, scope=None): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/digital_identifier/orcid.py b/fairgraph/openminds/core/digital_identifier/orcid.py index 8757f3f9..f35616fc 100644 --- a/fairgraph/openminds/core/digital_identifier/orcid.py +++ b/fairgraph/openminds/core/digital_identifier/orcid.py @@ -4,33 +4,32 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ORCID as OMORCID +from fairgraph import KGObject -class ORCID(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" - type_ = "https://openminds.ebrains.eu/core/ORCID" - properties = [ - Property("identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the ORCID."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies", - "openminds.core.Person", - "^vocab:digitalIdentifier", + "openminds.latest.core.Person", + "digitalIdentifier", reverse="digital_identifiers", multiple=True, - doc="reverse of 'digital_identifiers'", + description="reverse of 'digital_identifiers'", ), ] existence_query_properties = ("identifier",) def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies ) diff --git a/fairgraph/openminds/core/digital_identifier/rorid.py b/fairgraph/openminds/core/digital_identifier/rorid.py index 55d78681..8d7944af 100644 --- a/fairgraph/openminds/core/digital_identifier/rorid.py +++ b/fairgraph/openminds/core/digital_identifier/rorid.py @@ -4,33 +4,32 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import RORID as OMRORID +from fairgraph import KGObject -class RORID(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" - type_ = "https://openminds.ebrains.eu/core/RORID" - properties = [ - Property("identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the RORID."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies", - "openminds.core.Organization", - "^vocab:digitalIdentifier", + "openminds.latest.core.Organization", + "digitalIdentifier", reverse="digital_identifiers", multiple=True, - doc="reverse of 'digital_identifiers'", + description="reverse of 'digital_identifiers'", ), ] existence_query_properties = ("identifier",) def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies ) diff --git a/fairgraph/openminds/core/digital_identifier/rrid.py b/fairgraph/openminds/core/digital_identifier/rrid.py index 42519f76..772a797a 100644 --- a/fairgraph/openminds/core/digital_identifier/rrid.py +++ b/fairgraph/openminds/core/digital_identifier/rrid.py @@ -4,47 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import RRID as OMRRID +from fairgraph import KGObject -class RRID(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" - type_ = "https://openminds.ebrains.eu/core/RRID" - properties = [ - Property("identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the RRID."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies", [ - "openminds.chemicals.ProductSource", - "openminds.core.Organization", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.Strain", - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", - "openminds.specimen_prep.SlicingDevice", + "openminds.latest.chemicals.ProductSource", + "openminds.latest.core.Organization", + "openminds.latest.core.Software", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.Strain", + "openminds.latest.ephys.Electrode", + "openminds.latest.ephys.ElectrodeArray", + "openminds.latest.ephys.Pipette", + "openminds.latest.sands.BrainAtlas", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpace", + "openminds.latest.sands.CommonCoordinateSpaceVersion", + "openminds.latest.specimen_prep.SlicingDevice", ], - "^vocab:digitalIdentifier", + "digitalIdentifier", reverse="digital_identifier", multiple=True, - doc="reverse of 'digital_identifier'", + description="reverse of 'digital_identifier'", ), ] existence_query_properties = ("identifier",) def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies ) diff --git a/fairgraph/openminds/core/digital_identifier/stock_number.py b/fairgraph/openminds/core/digital_identifier/stock_number.py index 683c8734..cbd5962d 100644 --- a/fairgraph/openminds/core/digital_identifier/stock_number.py +++ b/fairgraph/openminds/core/digital_identifier/stock_number.py @@ -4,25 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import StockNumber as OMStockNumber +from fairgraph import EmbeddedMetadata -class StockNumber(EmbeddedMetadata): +class StockNumber(EmbeddedMetadata, OMStockNumber): """ """ - type_ = "https://openminds.ebrains.eu/core/StockNumber" - properties = [ - Property( - "identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the stock number." - ), - Property( - "vendor", "openminds.core.Organization", "vocab:vendor", required=True, doc="no description available" - ), - ] + type_ = "https://openminds.om-i.org/types/StockNumber" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, identifier=None, vendor=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, identifier=identifier, vendor=vendor) + return EmbeddedMetadata.__init__(self, data=data, identifier=identifier, vendor=vendor) diff --git a/fairgraph/openminds/core/digital_identifier/swhid.py b/fairgraph/openminds/core/digital_identifier/swhid.py index 3af5cc89..83e0d78c 100644 --- a/fairgraph/openminds/core/digital_identifier/swhid.py +++ b/fairgraph/openminds/core/digital_identifier/swhid.py @@ -4,40 +4,39 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import SWHID as OMSWHID +from fairgraph import KGObject -class SWHID(KGObject): +class SWHID(KGObject, OMSWHID): """ """ + type_ = "https://openminds.om-i.org/types/SWHID" default_space = "software" - type_ = "https://openminds.ebrains.eu/core/SWHID" - properties = [ - Property("identifier", str, "vocab:identifier", required=True, doc="Term or code used to identify the SWHID."), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "identifies", [ - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", + "openminds.latest.core.MetaDataModel", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.Software", + "openminds.latest.core.SoftwareVersion", ], - "^vocab:digitalIdentifier", + "digitalIdentifier", reverse="digital_identifier", multiple=True, - doc="reverse of 'digital_identifier'", + description="reverse of 'digital_identifier'", ), ] existence_query_properties = ("identifier",) def __init__(self, identifier=None, identifies=None, id=None, data=None, space=None, scope=None): - return super().__init__( - id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, identifier=identifier, identifies=identifies ) diff --git a/fairgraph/openminds/core/miscellaneous/comment.py b/fairgraph/openminds/core/miscellaneous/comment.py index d0fbebcd..0ecae0f7 100644 --- a/fairgraph/openminds/core/miscellaneous/comment.py +++ b/fairgraph/openminds/core/miscellaneous/comment.py @@ -4,62 +4,30 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Comment as OMComment +from fairgraph import KGObject from datetime import datetime -class Comment(KGObject): +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" - type_ = "https://openminds.ebrains.eu/core/Comment" - properties = [ - Property( - "about", - [ - "openminds.computation.ValidationTest", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipe", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.Dataset", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.WebService", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaper", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:about", - required=True, - doc="no description available", - ), - Property("comment", str, "vocab:comment", required=True, doc="no description available"), - Property( - "commenter", "openminds.core.Person", "vocab:commenter", required=True, doc="no description available" - ), - Property("timestamp", datetime, "vocab:timestamp", required=True, doc="no description available"), - ] + # 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, scope=None ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/miscellaneous/funding.py b/fairgraph/openminds/core/miscellaneous/funding.py index 6cab27d1..b9636c2d 100644 --- a/fairgraph/openminds/core/miscellaneous/funding.py +++ b/fairgraph/openminds/core/miscellaneous/funding.py @@ -4,67 +4,42 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Funding as OMFunding +from fairgraph import KGObject -class Funding(KGObject): +class Funding(KGObject, OMFunding): """ Structured information on used funding. """ + type_ = "https://openminds.om-i.org/types/Funding" default_space = "common" - type_ = "https://openminds.ebrains.eu/core/Funding" - properties = [ - Property( - "acknowledgement", - str, - "vocab:acknowledgement", - doc="Official declaration or avowal of appreciation of an act or achievement.", - ), - Property( - "award_number", - str, - "vocab:awardNumber", - doc="Machine-readable identifier for a benefit that is conferred or bestowed on the basis of merit or need.", - ), - Property( - "award_title", - str, - "vocab:awardTitle", - doc="Human-readable identifier for a benefit that is conferred or bestowed on the basis of merit or need.", - ), - Property( - "funder", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:funder", - required=True, - doc="Legal person that provides money for a particular purpose.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "funded", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.LearningResource", - "openminds.publications.LivePaperVersion", - "openminds.publications.ScholarlyArticle", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.Book", + "openminds.latest.publications.Chapter", + "openminds.latest.publications.LearningResource", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.publications.ScholarlyArticle", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:funding", + "funding", reverse="funding", multiple=True, - doc="reverse of 'funding'", + description="reverse of 'funding'", ), ] existence_query_properties = ("funder",) @@ -81,7 +56,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/miscellaneous/quantitative_value.py b/fairgraph/openminds/core/miscellaneous/quantitative_value.py index c113644c..11a27be1 100644 --- a/fairgraph/openminds/core/miscellaneous/quantitative_value.py +++ b/fairgraph/openminds/core/miscellaneous/quantitative_value.py @@ -4,41 +4,21 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import QuantitativeValue as OMQuantitativeValue +from fairgraph import EmbeddedMetadata from numbers import Real -class QuantitativeValue(EmbeddedMetadata): +class QuantitativeValue(EmbeddedMetadata, OMQuantitativeValue): """ Structured information on a quantitative value. """ - type_ = "https://openminds.ebrains.eu/core/QuantitativeValue" - properties = [ - Property( - "type_of_uncertainty", - "openminds.controlled_terms.TypeOfUncertainty", - "vocab:typeOfUncertainty", - doc="Distinct technique used to quantify the uncertainty of a measurement.", - ), - Property( - "uncertainties", - Real, - "vocab:uncertainty", - multiple=True, - doc="Quantitative value range defining the uncertainty of a measurement.", - ), - Property( - "unit", - "openminds.controlled_terms.UnitOfMeasurement", - "vocab:unit", - doc="Determinate quantity adopted as a standard of measurement.", - ), - Property("value", Real, "vocab:value", required=True, doc="Entry for a property."), - ] + type_ = "https://openminds.om-i.org/types/QuantitativeValue" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -52,6 +32,11 @@ def __init__( space=None, scope=None, ): - return super().__init__( - data=data, type_of_uncertainty=type_of_uncertainty, uncertainties=uncertainties, unit=unit, value=value + return EmbeddedMetadata.__init__( + self, + data=data, + type_of_uncertainty=type_of_uncertainty, + uncertainties=uncertainties, + unit=unit, + value=value, ) diff --git a/fairgraph/openminds/core/miscellaneous/quantitative_value_array.py b/fairgraph/openminds/core/miscellaneous/quantitative_value_array.py index 456c2a0f..8f75b201 100644 --- a/fairgraph/openminds/core/miscellaneous/quantitative_value_array.py +++ b/fairgraph/openminds/core/miscellaneous/quantitative_value_array.py @@ -4,49 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import QuantitativeValueArray as OMQuantitativeValueArray +from fairgraph import KGObject from numbers import Real -class QuantitativeValueArray(KGObject): +class QuantitativeValueArray(KGObject, OMQuantitativeValueArray): """ A representation of an array of quantitative values, optionally with uncertainties. """ + type_ = "https://openminds.om-i.org/types/QuantitativeValueArray" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/QuantitativeValueArray" - properties = [ - Property( - "negative_uncertainties", - Real, - "vocab:negativeUncertainties", - multiple=True, - doc="no description available", - ), - Property( - "positive_uncertainties", - Real, - "vocab:positiveUncertainties", - multiple=True, - doc="no description available", - ), - Property( - "type_of_uncertainty", - "openminds.controlled_terms.TypeOfUncertainty", - "vocab:typeOfUncertainty", - doc="Distinct technique used to quantify the uncertainty of a measurement.", - ), - Property( - "unit", - "openminds.controlled_terms.UnitOfMeasurement", - "vocab:unit", - doc="Determinate quantity adopted as a standard of measurement.", - ), - Property("values", Real, "vocab:values", multiple=True, required=True, doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("values",) @@ -62,7 +35,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/miscellaneous/quantitative_value_range.py b/fairgraph/openminds/core/miscellaneous/quantitative_value_range.py index 2b27bf2c..7d877c19 100644 --- a/fairgraph/openminds/core/miscellaneous/quantitative_value_range.py +++ b/fairgraph/openminds/core/miscellaneous/quantitative_value_range.py @@ -4,35 +4,21 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import QuantitativeValueRange as OMQuantitativeValueRange +from fairgraph import EmbeddedMetadata from numbers import Real -class QuantitativeValueRange(EmbeddedMetadata): +class QuantitativeValueRange(EmbeddedMetadata, OMQuantitativeValueRange): """ A representation of a range of quantitative values. """ - type_ = "https://openminds.ebrains.eu/core/QuantitativeValueRange" - properties = [ - Property("max_value", Real, "vocab:maxValue", required=True, doc="Greatest quantity attained or allowed."), - Property( - "max_value_unit", - "openminds.controlled_terms.UnitOfMeasurement", - "vocab:maxValueUnit", - doc="no description available", - ), - Property("min_value", Real, "vocab:minValue", required=True, doc="Smallest quantity attained or allowed."), - Property( - "min_value_unit", - "openminds.controlled_terms.UnitOfMeasurement", - "vocab:minValueUnit", - doc="no description available", - ), - ] + type_ = "https://openminds.om-i.org/types/QuantitativeValueRange" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -46,7 +32,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, max_value=max_value, max_value_unit=max_value_unit, diff --git a/fairgraph/openminds/core/miscellaneous/research_product_group.py b/fairgraph/openminds/core/miscellaneous/research_product_group.py index 0f629f30..13bd6356 100644 --- a/fairgraph/openminds/core/miscellaneous/research_product_group.py +++ b/fairgraph/openminds/core/miscellaneous/research_product_group.py @@ -4,51 +4,23 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ResearchProductGroup as OMResearchProductGroup +from fairgraph import KGObject -class ResearchProductGroup(KGObject): +class ResearchProductGroup(KGObject, OMResearchProductGroup): """ """ + type_ = "https://openminds.om-i.org/types/ResearchProductGroup" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/ResearchProductGroup" - properties = [ - Property("context", str, "vocab:context", required=True, doc="no description available"), - Property( - "has_parts", - [ - "openminds.computation.ValidationTest", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipe", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.Dataset", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.WebService", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaper", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:hasPart", - multiple=True, - required=True, - doc="no description available", - ), - ] + # 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, scope=None): - return super().__init__(id=id, space=space, scope=scope, data=data, context=context, has_parts=has_parts) + return KGObject.__init__( + self, id=id, space=space, scope=scope, data=data, context=context, has_parts=has_parts + ) diff --git a/fairgraph/openminds/core/miscellaneous/web_resource.py b/fairgraph/openminds/core/miscellaneous/web_resource.py index 7e55fcfc..9a5cca47 100644 --- a/fairgraph/openminds/core/miscellaneous/web_resource.py +++ b/fairgraph/openminds/core/miscellaneous/web_resource.py @@ -4,84 +4,70 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import WebResource as OMWebResource +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class WebResource(KGObject): +class WebResource(KGObject, OMWebResource): """ """ + type_ = "https://openminds.om-i.org/types/WebResource" default_space = "common" - type_ = "https://openminds.ebrains.eu/core/WebResource" - properties = [ - Property("content_description", str, "vocab:contentDescription", doc="no description available"), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - required=True, - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "describes", - ["openminds.core.BehavioralProtocol", "openminds.core.Protocol"], - "^vocab:describedIn", + ["openminds.latest.core.BehavioralProtocol", "openminds.latest.core.Protocol"], + "describedIn", reverse="described_in", multiple=True, - doc="reverse of 'described_in'", + description="reverse of 'described_in'", ), Property( "fully_documents", [ - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:fullDocumentation", + "fullDocumentation", reverse="full_documentation", multiple=True, - doc="reverse of 'full_documentation'", + description="reverse of 'full_documentation'", ), Property( "is_applied_to", - "openminds.core.DatasetVersion", - "^vocab:license", + "openminds.latest.core.DatasetVersion", + "license", reverse="license", multiple=True, - doc="reverse of 'license'", + description="reverse of 'license'", ), Property( "is_output_of", - "openminds.core.ModelVersion", - "^vocab:outputData", + "openminds.latest.core.ModelVersion", + "outputData", reverse="output_data", multiple=True, - doc="reverse of 'output_data'", + description="reverse of 'output_data'", ), Property( "is_reference_for", - "openminds.computation.ValidationTestVersion", - "^vocab:referenceData", + "openminds.latest.computation.ValidationTestVersion", + "referenceData", reverse="reference_data", multiple=True, - doc="reverse of 'reference_data'", + description="reverse of 'reference_data'", ), ] existence_query_properties = ("iri",) @@ -101,7 +87,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/dataset.py b/fairgraph/openminds/core/products/dataset.py index 6ce54819..e92b6fe1 100644 --- a/fairgraph/openminds/core/products/dataset.py +++ b/fairgraph/openminds/core/products/dataset.py @@ -4,97 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Dataset as OMDataset +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Dataset(KGObject): +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" - type_ = "https://openminds.ebrains.eu/core/Dataset" - properties = [ - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - required=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the dataset.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.IdentifiersDotOrgID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the dataset."), - Property( - "has_versions", - "openminds.core.DatasetVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the dataset."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the dataset.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -122,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/dataset_version.py b/fairgraph/openminds/core/products/dataset_version.py index b49dcfe0..44b60141 100644 --- a/fairgraph/openminds/core/products/dataset_version.py +++ b/fairgraph/openminds/core/products/dataset_version.py @@ -4,455 +4,98 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import DatasetVersion as OMDatasetVersion +from fairgraph import KGObject from urllib.request import urlretrieve from pathlib import Path from ....utility import accepted_terms_of_use from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class DatasetVersion(KGObject): +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" - type_ = "https://openminds.ebrains.eu/core/DatasetVersion" - properties = [ - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the dataset version.", - ), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "behavioral_protocols", - "openminds.core.BehavioralProtocol", - "vocab:behavioralProtocol", - multiple=True, - doc="no description available", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "data_types", - "openminds.controlled_terms.SemanticDataType", - "vocab:dataType", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the dataset version.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.IdentifiersDotOrgID"], - "vocab:digitalIdentifier", - required=True, - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "ethics_assessment", - "openminds.controlled_terms.EthicsAssessment", - "vocab:ethicsAssessment", - required=True, - doc="Judgment about the applied principles of conduct governing an individual or a group.", - ), - Property( - "experimental_approaches", - "openminds.controlled_terms.ExperimentalApproach", - "vocab:experimentalApproach", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property("full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the dataset version."), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the dataset version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "input_data", - [ - "openminds.core.DOI", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.WebResource", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:inputData", - multiple=True, - doc="Data that is put into a process or machine.", - ), - Property( - "is_alternative_version_of", - "openminds.core.DatasetVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.core.DatasetVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the dataset version.", - ), - Property( - "license", - ["openminds.core.License", "openminds.core.WebResource"], - "vocab:license", - required=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "preparation_designs", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - multiple=True, - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the dataset version.", - ), - Property( - "studied_specimens", - [ - "openminds.core.Subject", - "openminds.core.SubjectGroup", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - ], - "vocab:studiedSpecimen", - multiple=True, - doc="no description available", - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "techniques", - [ - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.Technique", - ], - "vocab:technique", - multiple=True, - required=True, - doc="Method of accomplishing a desired aim.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "has_parts", [ - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:isPartOf", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), Property( "is_input_to", - "openminds.computation.DataCopy", - "^vocab:input", + "openminds.latest.computation.DataCopy", + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_old_version_of", - "openminds.core.DatasetVersion", - "^vocab:isNewVersionOf", + "openminds.latest.core.DatasetVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.core.Dataset", - "^vocab:hasVersion", + "openminds.latest.core.Dataset", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "publication", - "openminds.publications.LivePaperVersion", - "^vocab:about", + "openminds.latest.publications.LivePaperVersion", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -508,7 +151,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/meta_data_model.py b/fairgraph/openminds/core/products/meta_data_model.py index 359e7f37..a98d188b 100644 --- a/fairgraph/openminds/core/products/meta_data_model.py +++ b/fairgraph/openminds/core/products/meta_data_model.py @@ -4,103 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import MetaDataModel as OMMetaDataModel +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class MetaDataModel(KGObject): +class MetaDataModel(KGObject, OMMetaDataModel): """ """ + type_ = "https://openminds.om-i.org/types/MetaDataModel" default_space = "metadatamodel" - type_ = "https://openminds.ebrains.eu/core/MetaDataModel" - properties = [ - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the meta data model.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - required=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.SWHID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", - str, - "vocab:fullName", - required=True, - doc="Whole, non-abbreviated name of the meta data model.", - ), - Property( - "has_versions", - "openminds.core.MetaDataModelVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the meta data model."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the meta data model.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -128,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/meta_data_model_version.py b/fairgraph/openminds/core/products/meta_data_model_version.py index 2dd0064b..3126b1cf 100644 --- a/fairgraph/openminds/core/products/meta_data_model_version.py +++ b/fairgraph/openminds/core/products/meta_data_model_version.py @@ -4,319 +4,63 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import MetaDataModelVersion as OMMetaDataModelVersion +from fairgraph import KGObject from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class MetaDataModelVersion(KGObject): +class MetaDataModelVersion(KGObject, OMMetaDataModelVersion): """ """ + type_ = "https://openminds.om-i.org/types/MetaDataModelVersion" default_space = "metadatamodel" - type_ = "https://openminds.ebrains.eu/core/MetaDataModelVersion" - properties = [ - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the meta data model version.", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the meta data model version.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.SWHID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property( - "full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the meta data model version." - ), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the meta data model version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "is_alternative_version_of", - "openminds.core.MetaDataModelVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.core.MetaDataModelVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the meta data model version.", - ), - Property( - "license", - "openminds.core.License", - "vocab:license", - required=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "serialization_formats", - "openminds.core.ContentType", - "vocab:serializationFormat", - multiple=True, - doc="Form in which a particular data structure or object state is translated to for storage.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the meta data model version.", - ), - Property( - "specification_formats", - "openminds.core.ContentType", - "vocab:specificationFormat", - multiple=True, - doc="Form in which a particular data structure or object state is specified in.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "type", - "openminds.controlled_terms.MetaDataModelType", - "vocab:type", - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_old_version_of", - "openminds.core.MetaDataModelVersion", - "^vocab:isNewVersionOf", + "openminds.latest.core.MetaDataModelVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.core.MetaDataModel", - "^vocab:hasVersion", + "openminds.latest.core.MetaDataModel", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -362,7 +106,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/model.py b/fairgraph/openminds/core/products/model.py index 73e0aadf..281023de 100644 --- a/fairgraph/openminds/core/products/model.py +++ b/fairgraph/openminds/core/products/model.py @@ -4,148 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Model as OMModel +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Model(KGObject): +class Model(KGObject, OMModel): """ Structured information on a computational model (concept level). """ + type_ = "https://openminds.om-i.org/types/Model" default_space = "model" - type_ = "https://openminds.ebrains.eu/core/Model" - properties = [ - Property( - "abstraction_level", - "openminds.controlled_terms.ModelAbstractionLevel", - "vocab:abstractionLevel", - required=True, - doc="Extent of simplification of physical, spatial, or temporal details or attributes in the study of objects or systems.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the model.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - required=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.SWHID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the model."), - Property( - "has_versions", - "openminds.core.ModelVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the model."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "model_scope", - "openminds.controlled_terms.ModelScope", - "vocab:scope", - required=True, - doc="Extent of something.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the model.", - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - required=True, - doc="Structure or function that was targeted within a study.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -176,7 +74,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/model_version.py b/fairgraph/openminds/core/products/model_version.py index 57eecc25..be01c810 100644 --- a/fairgraph/openminds/core/products/model_version.py +++ b/fairgraph/openminds/core/products/model_version.py @@ -4,368 +4,104 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ModelVersion as OMModelVersion +from fairgraph import KGObject from fairgraph.errors import ResolutionFailure from .model import Model from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class ModelVersion(KGObject): +class ModelVersion(KGObject, OMModelVersion): """ Structured information on a computational model (version level). """ + type_ = "https://openminds.om-i.org/types/ModelVersion" default_space = "model" - type_ = "https://openminds.ebrains.eu/core/ModelVersion" - properties = [ - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the model version.", - ), - Property( - "configuration", - [ - "openminds.core.Configuration", - "openminds.core.File", - "openminds.core.PropertyValueList", - "openminds.core.WebResource", - ], - "vocab:configuration", - doc="no description available", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the model version.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.SWHID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("entry_point", str, "vocab:entryPoint", doc="no description available"), - Property( - "formats", - "openminds.core.ContentType", - "vocab:format", - multiple=True, - required=True, - doc="Method of digitally organizing and structuring data or information.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property("full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the model version."), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the model version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "input_data", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.FileBundle", "openminds.core.WebResource"], - "vocab:inputData", - multiple=True, - doc="Data that is put into a process or machine.", - ), - Property( - "is_alternative_version_of", - "openminds.core.ModelVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.core.ModelVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the model version.", - ), - Property( - "licenses", - "openminds.core.License", - "vocab:license", - multiple=True, - required=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "output_data", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.FileBundle", "openminds.core.WebResource"], - "vocab:outputData", - multiple=True, - doc="Data that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the model version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_input_to", [ - "openminds.computation.DataCopy", - "openminds.computation.ModelValidation", - "openminds.computation.Simulation", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Simulation", ], - "^vocab:input", + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_location_of", - "openminds.core.ServiceLink", - "^vocab:dataLocation", + "openminds.latest.core.ServiceLink", + "dataLocation", reverse="data_location", multiple=True, - doc="reverse of 'data_location'", + description="reverse of 'data_location'", ), Property( "is_old_version_of", - "openminds.core.ModelVersion", - "^vocab:isNewVersionOf", + "openminds.latest.core.ModelVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_output_of", - "openminds.computation.Optimization", - "^vocab:output", + "openminds.latest.computation.Optimization", + "output", reverse="outputs", multiple=True, - doc="reverse of 'outputs'", + description="reverse of 'outputs'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup", "openminds.core.SoftwareVersion"], - "^vocab:hasPart", + [ + "openminds.latest.core.Project", + "openminds.latest.core.ResearchProductGroup", + "openminds.latest.core.SoftwareVersion", + ], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.core.Model", - "^vocab:hasVersion", + "openminds.latest.core.Model", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "publication", - "openminds.publications.LivePaperVersion", - "^vocab:about", + "openminds.latest.publications.LivePaperVersion", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -417,7 +153,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, @@ -464,6 +201,7 @@ def __init__( ) def is_version_of(self, client): + # ??this method name shadows or overwrites the reverse property name "is_version_of" parents = Model.list(client, scope=self.scope, space=self.space, versions=self) if len(parents) == 0: raise ResolutionFailure("Unable to find parent") diff --git a/fairgraph/openminds/core/products/project.py b/fairgraph/openminds/core/products/project.py index 172c2b07..e83904d1 100644 --- a/fairgraph/openminds/core/products/project.py +++ b/fairgraph/openminds/core/products/project.py @@ -4,74 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Project as OMProject +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Project(KGObject): +class Project(KGObject, OMProject): """ Structured information on a research project. """ + type_ = "https://openminds.om-i.org/types/Project" default_space = "common" - type_ = "https://openminds.ebrains.eu/core/Project" - properties = [ - Property( - "coordinators", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:coordinator", - multiple=True, - doc="Legal person who organizes the collaborative work of people or groups.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the project.", - ), - Property("full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the project."), - Property( - "has_parts", - [ - "openminds.computation.ValidationTest", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipe", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.Dataset", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.WebService", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaper", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:hasPart", - multiple=True, - required=True, - doc="no description available", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the project."), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the project.", - ), - ] + # 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",) @@ -91,7 +39,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/setup.py b/fairgraph/openminds/core/products/setup.py index 405b0a42..eb5c5e6e 100644 --- a/fairgraph/openminds/core/products/setup.py +++ b/fairgraph/openminds/core/products/setup.py @@ -4,79 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Setup as OMSetup +from fairgraph import KGObject -class Setup(KGObject): +class Setup(KGObject, OMSetup): """ """ + type_ = "https://openminds.om-i.org/types/Setup" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/Setup" - properties = [ - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the setup.", - ), - Property( - "has_parts", - [ - "openminds.core.Setup", - "openminds.core.SoftwareVersion", - "openminds.ephys.Electrode", - "openminds.ephys.ElectrodeArray", - "openminds.ephys.Pipette", - "openminds.specimen_prep.SlicingDevice", - ], - "vocab:hasPart", - multiple=True, - required=True, - doc="no description available", - ), - Property("location", str, "vocab:location", doc="no description available"), - Property( - "manufacturers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:manufacturer", - multiple=True, - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the setup.", - ), - Property( - "types", - "openminds.controlled_terms.SetupType", - "vocab:type", - multiple=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_part_of", - "openminds.core.Setup", - "^vocab:hasPart", + "openminds.latest.core.Setup", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "used_in", - "openminds.stimulation.StimulationActivity", - "^vocab:setup", + "openminds.latest.stimulation.StimulationActivity", + "setup", reverse="setup", multiple=True, - doc="reverse of 'setup'", + description="reverse of 'setup'", ), ] existence_query_properties = ("description", "has_parts", "name") @@ -96,7 +52,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/software.py b/fairgraph/openminds/core/products/software.py index 72dfaa79..8e25880d 100644 --- a/fairgraph/openminds/core/products/software.py +++ b/fairgraph/openminds/core/products/software.py @@ -4,99 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Software as OMSoftware +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class Software(KGObject): +class Software(KGObject, OMSoftware): """ Structured information on a software tool (concept level). """ + type_ = "https://openminds.om-i.org/types/Software" default_space = "software" - type_ = "https://openminds.ebrains.eu/core/Software" - properties = [ - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the software.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - required=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.RRID", "openminds.core.SWHID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the software." - ), - Property( - "has_versions", - "openminds.core.SoftwareVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the software."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the software.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -124,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/software_version.py b/fairgraph/openminds/core/products/software_version.py index 4d297189..2860f42c 100644 --- a/fairgraph/openminds/core/products/software_version.py +++ b/fairgraph/openminds/core/products/software_version.py @@ -4,417 +4,102 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import SoftwareVersion as OMSoftwareVersion +from fairgraph import KGObject from fairgraph.errors import ResolutionFailure from .software import Software from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class SoftwareVersion(KGObject): +class SoftwareVersion(KGObject, OMSoftwareVersion): """ """ + type_ = "https://openminds.om-i.org/types/SoftwareVersion" default_space = "software" - type_ = "https://openminds.ebrains.eu/core/SoftwareVersion" - properties = [ - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the software version.", - ), - Property( - "application_categories", - "openminds.controlled_terms.SoftwareApplicationCategory", - "vocab:applicationCategory", - multiple=True, - required=True, - doc="Distinct class that groups software programs which perform a similar task or set of tasks.", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the software version.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "devices", - "openminds.controlled_terms.OperatingDevice", - "vocab:device", - multiple=True, - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.SWHID", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "features", - "openminds.controlled_terms.SoftwareFeature", - "vocab:feature", - multiple=True, - required=True, - doc="Structure, form, or appearance that characterizes the software version.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property("full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the software version."), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "has_parts", - [ - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:hasPart", - multiple=True, - doc="no description available", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the software version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "input_formats", - "openminds.core.ContentType", - "vocab:inputFormat", - multiple=True, - doc="Format of data that is put into a process or machine.", - ), - Property( - "is_alternative_version_of", - "openminds.core.SoftwareVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.core.SoftwareVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the software version.", - ), - Property( - "languages", - "openminds.controlled_terms.Language", - "vocab:language", - multiple=True, - required=True, - doc="System of communication (words, their pronunciation, and the methods of combining them) used and understood by a particular community.", - ), - Property( - "licenses", - "openminds.core.License", - "vocab:license", - multiple=True, - required=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property( - "operating_systems", - "openminds.controlled_terms.OperatingSystem", - "vocab:operatingSystem", - multiple=True, - required=True, - doc="Software that controls the operation of a computer and directs the processing of programs.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "output_formats", - "openminds.core.ContentType", - "vocab:outputFormat", - multiple=True, - doc="Format of data that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "programming_languages", - "openminds.controlled_terms.ProgrammingLanguage", - "vocab:programmingLanguage", - multiple=True, - required=True, - doc="Distinct set of instructions for computer programs in order to produce various kinds of output.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "requirements", - str, - "vocab:requirement", - multiple=True, - doc="Something essential to the existence, occurrence or function of something else.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the software version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_input_to", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:input", + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_old_version_of", - "openminds.core.SoftwareVersion", - "^vocab:isNewVersionOf", + "openminds.latest.core.SoftwareVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", [ - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.Project", - "openminds.core.ResearchProductGroup", - "openminds.core.Setup", - "openminds.core.WebServiceVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.Project", + "openminds.latest.core.ResearchProductGroup", + "openminds.latest.core.Setup", + "openminds.latest.core.WebServiceVersion", ], - "^vocab:hasPart", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.core.Software", - "^vocab:hasVersion", + "openminds.latest.core.Software", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "publication", - "openminds.publications.LivePaperVersion", - "^vocab:about", + "openminds.latest.publications.LivePaperVersion", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "used_in", - ["openminds.computation.Environment", "openminds.computation.SoftwareAgent"], - "^vocab:software", + ["openminds.latest.computation.Environment", "openminds.latest.computation.SoftwareAgent"], + "software", reverse="software", multiple=True, - doc="reverse of 'software'", + description="reverse of 'software'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -470,7 +155,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/web_service.py b/fairgraph/openminds/core/products/web_service.py index 2fc717d3..e105e110 100644 --- a/fairgraph/openminds/core/products/web_service.py +++ b/fairgraph/openminds/core/products/web_service.py @@ -4,109 +4,62 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import WebService as OMWebService +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class WebService(KGObject): +class WebService(KGObject, OMWebService): """ """ + type_ = "https://openminds.om-i.org/types/WebService" default_space = "webservice" - type_ = "https://openminds.ebrains.eu/core/WebService" - properties = [ - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the web service.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - required=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the web service." - ), - Property( - "has_versions", - "openminds.core.WebServiceVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the web service."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the web service.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "has_accounts", - "openminds.core.AccountInformation", - "^vocab:service", + "openminds.latest.core.AccountInformation", + "service", reverse="service", multiple=True, - doc="reverse of 'service'", + description="reverse of 'service'", ), Property( "hosts", - "openminds.publications.LivePaperResourceItem", - "^vocab:hostedBy", + "openminds.latest.publications.LivePaperResourceItem", + "hostedBy", reverse="hosted_by", multiple=True, - doc="reverse of 'hosted_by'", + description="reverse of 'hosted_by'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -135,7 +88,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/products/web_service_version.py b/fairgraph/openminds/core/products/web_service_version.py index c271e516..ca52b1ca 100644 --- a/fairgraph/openminds/core/products/web_service_version.py +++ b/fairgraph/openminds/core/products/web_service_version.py @@ -4,321 +4,80 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import WebServiceVersion as OMWebServiceVersion +from fairgraph import KGObject from fairgraph.errors import ResolutionFailure from .web_service import WebService from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class WebServiceVersion(KGObject): +class WebServiceVersion(KGObject, OMWebServiceVersion): """ """ + type_ = "https://openminds.om-i.org/types/WebServiceVersion" default_space = "webservice" - type_ = "https://openminds.ebrains.eu/core/WebServiceVersion" - properties = [ - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the web service version.", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the web service version.", - ), - Property( - "developers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:developer", - multiple=True, - doc="Legal person that creates or improves products or services (e.g., software, applications, etc.).", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property("full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the web service version."), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "has_parts", - "openminds.core.SoftwareVersion", - "vocab:hasPart", - multiple=True, - doc="no description available", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the web service version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "input_formats", - "openminds.core.ContentType", - "vocab:inputFormat", - multiple=True, - doc="Format of data that is put into a process or machine.", - ), - Property( - "is_alternative_version_of", - "openminds.core.WebServiceVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.core.WebServiceVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the web service version.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "output_formats", - "openminds.core.ContentType", - "vocab:outputFormat", - multiple=True, - doc="Format of data that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the web service version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_old_version_of", - "openminds.core.WebServiceVersion", - "^vocab:isNewVersionOf", + "openminds.latest.core.WebServiceVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.core.WebService", - "^vocab:hasVersion", + "openminds.latest.core.WebService", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "used_for", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.Visualization", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.Visualization", ], - "^vocab:environment", + "environment", reverse="environment", multiple=True, - doc="reverse of 'environment'", + description="reverse of 'environment'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -363,7 +122,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/behavioral_protocol.py b/fairgraph/openminds/core/research/behavioral_protocol.py index 5da37173..abb5ddc7 100644 --- a/fairgraph/openminds/core/research/behavioral_protocol.py +++ b/fairgraph/openminds/core/research/behavioral_protocol.py @@ -4,84 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import BehavioralProtocol as OMBehavioralProtocol +from fairgraph import KGObject -class BehavioralProtocol(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" - type_ = "https://openminds.ebrains.eu/core/BehavioralProtocol" - properties = [ - Property( - "described_in", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.WebResource"], - "vocab:describedIn", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the behavioral protocol.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the behavioral protocol within a particular product.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the behavioral protocol.", - ), - Property( - "stimulations", - ["openminds.controlled_terms.StimulationApproach", "openminds.controlled_terms.StimulationTechnique"], - "vocab:stimulation", - multiple=True, - doc="no description available", - ), - Property( - "stimulus_types", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:stimulusType", - multiple=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.core.DatasetVersion", "openminds.core.ProtocolExecution"], - "^vocab:behavioralProtocol", + ["openminds.latest.core.DatasetVersion", "openminds.latest.core.ProtocolExecution"], + "behavioralProtocol", reverse="behavioral_protocols", multiple=True, - doc="reverse of 'behavioral_protocols'", + description="reverse of 'behavioral_protocols'", ), ] existence_query_properties = ("description", "name") @@ -101,7 +52,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/configuration.py b/fairgraph/openminds/core/research/configuration.py index 18fbb94e..1ed89c7f 100644 --- a/fairgraph/openminds/core/research/configuration.py +++ b/fairgraph/openminds/core/research/configuration.py @@ -4,49 +4,40 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Configuration as OMConfiguration +from fairgraph import KGObject -class Configuration(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" - type_ = "https://openminds.ebrains.eu/core/Configuration" - properties = [ - Property("configuration", str, "vocab:configuration", required=True, doc="no description available"), - Property( - "format", - "openminds.core.ContentType", - "vocab:format", - required=True, - doc="Method of digitally organizing and structuring data or information.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_configuration_of", [ - "openminds.computation.Environment", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowExecution", - "openminds.core.ModelVersion", + "openminds.latest.computation.Environment", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowExecution", + "openminds.latest.core.ModelVersion", ], - "^vocab:configuration", + "configuration", reverse="configuration", multiple=True, - doc="reverse of 'configuration'", + description="reverse of 'configuration'", ), Property( "specifies", - "openminds.stimulation.EphysStimulus", - "^vocab:specification", + "openminds.latest.stimulation.EphysStimulus", + "specification", reverse="specifications", multiple=True, - doc="reverse of 'specifications'", + description="reverse of 'specifications'", ), ] existence_query_properties = ("configuration",) @@ -63,7 +54,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/custom_property_set.py b/fairgraph/openminds/core/research/custom_property_set.py index c7ce4b9d..9cbd6b88 100644 --- a/fairgraph/openminds/core/research/custom_property_set.py +++ b/fairgraph/openminds/core/research/custom_property_set.py @@ -4,43 +4,23 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import CustomPropertySet as OMCustomPropertySet +from fairgraph import EmbeddedMetadata -class CustomPropertySet(EmbeddedMetadata): +class CustomPropertySet(EmbeddedMetadata, OMCustomPropertySet): """ Structured information about properties of an entity that are not represented in an openMINDS schema. """ - type_ = "https://openminds.ebrains.eu/core/CustomPropertySet" - properties = [ - Property("context", str, "vocab:context", required=True, doc="no description available"), - Property( - "data_location", - ["openminds.core.Configuration", "openminds.core.File", "openminds.core.PropertyValueList"], - "vocab:dataLocation", - required=True, - doc="no description available", - ), - Property( - "relevant_for", - [ - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.Technique", - ], - "vocab:relevantFor", - required=True, - doc="Reference to what or whom the custom property set bears significance.", - ), - ] + type_ = "https://openminds.om-i.org/types/CustomPropertySet" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( self, context=None, data_location=None, relevant_for=None, id=None, data=None, space=None, scope=None ): - return super().__init__(data=data, context=context, data_location=data_location, relevant_for=relevant_for) + return EmbeddedMetadata.__init__( + self, data=data, context=context, data_location=data_location, relevant_for=relevant_for + ) diff --git a/fairgraph/openminds/core/research/numerical_property.py b/fairgraph/openminds/core/research/numerical_property.py index fe79e254..0d3e0a10 100644 --- a/fairgraph/openminds/core/research/numerical_property.py +++ b/fairgraph/openminds/core/research/numerical_property.py @@ -4,34 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import NumericalProperty as OMNumericalProperty +from fairgraph import EmbeddedMetadata -class NumericalProperty(EmbeddedMetadata): +class NumericalProperty(EmbeddedMetadata, OMNumericalProperty): """ Structured information about a property of some entity or process whose value is a number. """ - type_ = "https://openminds.ebrains.eu/core/NumericalProperty" - properties = [ - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the numerical property.", - ), - Property( - "values", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:value", - multiple=True, - required=True, - doc="Entry for a property.", - ), - ] + type_ = "https://openminds.om-i.org/types/NumericalProperty" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, name=None, values=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, name=name, values=values) + return EmbeddedMetadata.__init__(self, data=data, name=name, values=values) diff --git a/fairgraph/openminds/core/research/property_value_list.py b/fairgraph/openminds/core/research/property_value_list.py index bd741dff..89f5552e 100644 --- a/fairgraph/openminds/core/research/property_value_list.py +++ b/fairgraph/openminds/core/research/property_value_list.py @@ -4,52 +4,43 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import PropertyValueList as OMPropertyValueList +from fairgraph import KGObject -class PropertyValueList(KGObject): +class PropertyValueList(KGObject, OMPropertyValueList): """ An identifiable list of property-value pairs. """ + type_ = "https://openminds.om-i.org/types/PropertyValueList" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/PropertyValueList" - properties = [ - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "property_value_pairs", - ["openminds.core.NumericalProperty", "openminds.core.StringProperty"], - "vocab:propertyValuePair", - multiple=True, - required=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "defines_environment_of", - "openminds.computation.LaunchConfiguration", - "^vocab:environmentVariable", + "openminds.latest.computation.LaunchConfiguration", + "environmentVariable", reverse="environment_variable", multiple=True, - doc="reverse of 'environment_variable'", + description="reverse of 'environment_variable'", ), Property( "is_configuration_of", - ["openminds.computation.ValidationTestVersion", "openminds.core.ModelVersion"], - "^vocab:configuration", + ["openminds.latest.computation.ValidationTestVersion", "openminds.latest.core.ModelVersion"], + "configuration", reverse="configuration", multiple=True, - doc="reverse of 'configuration'", + description="reverse of 'configuration'", ), Property( "specifies", - ["openminds.sands.CustomAnnotation", "openminds.stimulation.EphysStimulus"], - "^vocab:specification", + ["openminds.latest.sands.CustomAnnotation", "openminds.latest.stimulation.EphysStimulus"], + "specification", reverse="specification", multiple=True, - doc="reverse of 'specification'", + description="reverse of 'specification'", ), ] existence_query_properties = ("lookup_label",) @@ -66,7 +57,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/protocol.py b/fairgraph/openminds/core/research/protocol.py index 2b547b83..017853ed 100644 --- a/fairgraph/openminds/core/research/protocol.py +++ b/fairgraph/openminds/core/research/protocol.py @@ -4,87 +4,37 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Protocol as OMProtocol +from fairgraph import KGObject -class Protocol(KGObject): +class Protocol(KGObject, OMProtocol): """ Structured information on a research project. """ + type_ = "https://openminds.om-i.org/types/Protocol" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/Protocol" - properties = [ - Property( - "described_in", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.WebResource"], - "vocab:describedIn", - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the protocol.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the protocol.", - ), - Property( - "stimulus_types", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:stimulusType", - multiple=True, - doc="no description available", - ), - Property( - "techniques", - [ - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.Technique", - ], - "vocab:technique", - multiple=True, - required=True, - doc="Method of accomplishing a desired aim.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "used_in", [ - "openminds.core.DatasetVersion", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:protocol", + "protocol", reverse="protocols", multiple=True, - doc="reverse of 'protocols'", + description="reverse of 'protocols'", ), ] existence_query_properties = ("name",) @@ -102,7 +52,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/protocol_execution.py b/fairgraph/openminds/core/research/protocol_execution.py index e4fd443f..96667d3e 100644 --- a/fairgraph/openminds/core/research/protocol_execution.py +++ b/fairgraph/openminds/core/research/protocol_execution.py @@ -4,149 +4,30 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import ProtocolExecution as OMProtocolExecution +from fairgraph import KGObject from datetime import datetime, time -class ProtocolExecution(KGObject): +class ProtocolExecution(KGObject, OMProtocolExecution): """ Structured information on a protocol execution. """ + type_ = "https://openminds.om-i.org/types/ProtocolExecution" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/ProtocolExecution" - properties = [ - Property( - "behavioral_protocols", - "openminds.core.BehavioralProtocol", - "vocab:behavioralProtocol", - multiple=True, - doc="no description available", - ), - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the protocol execution.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - [ - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - [ - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - ], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "based_on_protocol_execution", - ["openminds.sands.AtlasAnnotation", "openminds.sands.CustomAnnotation"], - "^vocab:criteria", + ["openminds.latest.sands.AtlasAnnotation", "openminds.latest.sands.CustomAnnotation"], + "criteria", reverse="criteria", multiple=True, - doc="reverse of 'criteria'", + description="reverse of 'criteria'", ), ] existence_query_properties = ("lookup_label",) @@ -172,7 +53,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/strain.py b/fairgraph/openminds/core/research/strain.py index fa6277a7..b3a0b3f2 100644 --- a/fairgraph/openminds/core/research/strain.py +++ b/fairgraph/openminds/core/research/strain.py @@ -4,113 +4,40 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Strain as OMStrain +from fairgraph import KGObject -class Strain(KGObject): +class Strain(KGObject, OMStrain): """ """ + type_ = "https://openminds.om-i.org/types/Strain" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/Strain" - properties = [ - Property( - "alternate_identifiers", str, "vocab:alternateIdentifier", multiple=True, doc="no description available" - ), - Property( - "background_strains", - "openminds.core.Strain", - "vocab:backgroundStrain", - multiple=True, - doc="no description available", - ), - Property( - "breeding_type", - "openminds.controlled_terms.BreedingType", - "vocab:breedingType", - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the strain.", - ), - Property( - "digital_identifier", - "openminds.core.RRID", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "disease_models", - ["openminds.controlled_terms.Disease", "openminds.controlled_terms.DiseaseModel"], - "vocab:diseaseModel", - multiple=True, - doc="no description available", - ), - Property( - "genetic_strain_type", - "openminds.controlled_terms.GeneticStrainType", - "vocab:geneticStrainType", - required=True, - doc="no description available", - ), - Property("laboratory_code", str, "vocab:laboratoryCode", doc="no description available"), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the strain.", - ), - Property( - "ontology_identifiers", - str, - "vocab:ontologyIdentifier", - multiple=True, - doc="Term or code used to identify the strain registered within a particular ontology.", - ), - Property("phenotype", str, "vocab:phenotype", doc="Physical expression of one or more genes of an organism."), - Property( - "species", - "openminds.controlled_terms.Species", - "vocab:species", - required=True, - doc="Category of biological classification comprising related organisms or populations potentially capable of interbreeding, and being designated by a binomial that consists of the name of a genus followed by a Latin or latinized uncapitalized noun or adjective.", - ), - Property("stock_number", "openminds.core.StockNumber", "vocab:stockNumber", doc="no description available"), - Property( - "synonyms", - str, - "vocab:synonym", - multiple=True, - doc="Words or expressions used in the same language that have the same or nearly the same meaning in some or all senses.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_background_strain_of", - "openminds.core.Strain", - "^vocab:backgroundStrain", + "openminds.latest.core.Strain", + "backgroundStrain", reverse="background_strains", multiple=True, - doc="reverse of 'background_strains'", + description="reverse of 'background_strains'", ), Property( "is_species_of", [ - "openminds.core.Subject", - "openminds.core.SubjectGroup", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", + "openminds.latest.core.Subject", + "openminds.latest.core.SubjectGroup", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", ], - "^vocab:species", + "species", reverse="species", multiple=True, - doc="reverse of 'species'", + description="reverse of 'species'", ), ] existence_query_properties = ("genetic_strain_type", "name", "species") @@ -138,7 +65,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/string_property.py b/fairgraph/openminds/core/research/string_property.py index 81238ad9..47a1b773 100644 --- a/fairgraph/openminds/core/research/string_property.py +++ b/fairgraph/openminds/core/research/string_property.py @@ -4,27 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import StringProperty as OMStringProperty +from fairgraph import EmbeddedMetadata -class StringProperty(EmbeddedMetadata): +class StringProperty(EmbeddedMetadata, OMStringProperty): """ """ - type_ = "https://openminds.ebrains.eu/core/StringProperty" - properties = [ - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the string property.", - ), - Property("value", str, "vocab:value", required=True, doc="Entry for a property."), - ] + type_ = "https://openminds.om-i.org/types/StringProperty" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, name=None, value=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, name=name, value=value) + return EmbeddedMetadata.__init__(self, data=data, name=name, value=value) diff --git a/fairgraph/openminds/core/research/subject.py b/fairgraph/openminds/core/research/subject.py index 769ecdf6..07adc1f3 100644 --- a/fairgraph/openminds/core/research/subject.py +++ b/fairgraph/openminds/core/research/subject.py @@ -4,78 +4,43 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import Subject as OMSubject +from fairgraph import KGObject -class Subject(KGObject): +class Subject(KGObject, OMSubject): """ Structured information on a subject. """ + type_ = "https://openminds.om-i.org/types/Subject" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/Subject" - properties = [ - Property( - "biological_sex", - "openminds.controlled_terms.BiologicalSex", - "vocab:biologicalSex", - doc="Differentiation of individuals of most species (animals and plants) based on the type of gametes they produce.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the subject within a particular product.", - ), - Property( - "is_part_of", - "openminds.core.SubjectGroup", - "vocab:isPartOf", - multiple=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "species", - ["openminds.controlled_terms.Species", "openminds.core.Strain"], - "vocab:species", - required=True, - doc="Category of biological classification comprising related organisms or populations potentially capable of interbreeding, and being designated by a binomial that consists of the name of a genus followed by a Latin or latinized uncapitalized noun or adjective.", - ), - Property( - "studied_states", - "openminds.core.SubjectState", - "vocab:studiedState", - multiple=True, - required=True, - doc="Reference to a point in time at which the subject was studied in a particular mode or condition.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_study_results_in", - "openminds.core.DatasetVersion", - "^vocab:studiedSpecimen", + "openminds.latest.core.DatasetVersion", + "studiedSpecimen", reverse="studied_specimens", multiple=True, - doc="reverse of 'studied_specimens'", + description="reverse of 'studied_specimens'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.sands.BrainAtlasVersion", "openminds.sands.CommonCoordinateSpaceVersion"], - "^vocab:usedSpecimen", + ["openminds.latest.sands.BrainAtlasVersion", "openminds.latest.sands.CommonCoordinateSpaceVersion"], + "usedSpecimen", reverse="used_specimens", multiple=True, - doc="reverse of 'used_specimens'", + description="reverse of 'used_specimens'", ), ] existence_query_properties = ("lookup_label",) @@ -96,7 +61,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/subject_group.py b/fairgraph/openminds/core/research/subject_group.py index 44350603..72780ed1 100644 --- a/fairgraph/openminds/core/research/subject_group.py +++ b/fairgraph/openminds/core/research/subject_group.py @@ -4,88 +4,51 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import SubjectGroup as OMSubjectGroup +from fairgraph import KGObject -class SubjectGroup(KGObject): +class SubjectGroup(KGObject, OMSubjectGroup): """ """ + type_ = "https://openminds.om-i.org/types/SubjectGroup" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/SubjectGroup" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "biological_sexes", - "openminds.controlled_terms.BiologicalSex", - "vocab:biologicalSex", - multiple=True, - doc="Differentiation of individuals of most species (animals and plants) based on the type of gametes they produce.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the subject group within a particular product.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property("number_of_subjects", int, "vocab:numberOfSubjects", doc="no description available"), - Property( - "species", - ["openminds.controlled_terms.Species", "openminds.core.Strain"], - "vocab:species", - multiple=True, - required=True, - doc="Category of biological classification comprising related organisms or populations potentially capable of interbreeding, and being designated by a binomial that consists of the name of a genus followed by a Latin or latinized uncapitalized noun or adjective.", - ), - Property( - "studied_states", - "openminds.core.SubjectGroupState", - "vocab:studiedState", - multiple=True, - required=True, - doc="Reference to a point in time at which the subject group was studied in a particular mode or condition.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_parts", - "openminds.core.Subject", - "^vocab:isPartOf", + "openminds.latest.core.Subject", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), Property( "has_study_results_in", - "openminds.core.DatasetVersion", - "^vocab:studiedSpecimen", + "openminds.latest.core.DatasetVersion", + "studiedSpecimen", reverse="studied_specimens", multiple=True, - doc="reverse of 'studied_specimens'", + description="reverse of 'studied_specimens'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.sands.BrainAtlasVersion", "openminds.sands.CommonCoordinateSpaceVersion"], - "^vocab:usedSpecimen", + ["openminds.latest.sands.BrainAtlasVersion", "openminds.latest.sands.CommonCoordinateSpaceVersion"], + "usedSpecimen", reverse="used_specimens", multiple=True, - doc="reverse of 'used_specimens'", + description="reverse of 'used_specimens'", ), ] existence_query_properties = ("lookup_label",) @@ -108,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/subject_group_state.py b/fairgraph/openminds/core/research/subject_group_state.py index 1b92e2e9..f89225e0 100644 --- a/fairgraph/openminds/core/research/subject_group_state.py +++ b/fairgraph/openminds/core/research/subject_group_state.py @@ -4,126 +4,63 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import SubjectGroupState as OMSubjectGroupState +from fairgraph import KGObject -class SubjectGroupState(KGObject): +class SubjectGroupState(KGObject, OMSubjectGroupState): """ """ + type_ = "https://openminds.om-i.org/types/SubjectGroupState" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/SubjectGroupState" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "age", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:age", - doc="Time of life or existence at which some particular qualification, capacity or event arises.", - ), - Property( - "age_categories", - "openminds.controlled_terms.AgeCategory", - "vocab:ageCategory", - multiple=True, - required=True, - doc="Distinct life cycle class that is defined by a similar age or age range (developmental stage) within a group of individual beings.", - ), - Property( - "attributes", - "openminds.controlled_terms.SubjectAttribute", - "vocab:attribute", - multiple=True, - doc="no description available", - ), - Property( - "descended_from", "openminds.core.SubjectGroupState", "vocab:descendedFrom", doc="no description available" - ), - Property( - "handedness", - "openminds.controlled_terms.Handedness", - "vocab:handedness", - multiple=True, - doc="Degree to which an organism prefers one hand or foot over the other hand or foot during the performance of a task.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the subject group state within a particular product.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "pathologies", - ["openminds.controlled_terms.Disease", "openminds.controlled_terms.DiseaseModel"], - "vocab:pathology", - multiple=True, - doc="Structural and functional deviation from the normal that constitutes a disease or characterizes a particular disease.", - ), - Property( - "relative_time_indication", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:relativeTimeIndication", - doc="no description available", - ), - Property( - "weight", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:weight", - doc="Amount that a thing or being weighs.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_children", [ - "openminds.core.SubjectGroupState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", + "openminds.latest.core.SubjectGroupState", + "openminds.latest.core.TissueSampleCollectionState", + "openminds.latest.core.TissueSampleState", ], - "^vocab:descendedFrom", + "descendedFrom", reverse="descended_from", multiple=True, - doc="reverse of 'descended_from'", + description="reverse of 'descended_from'", ), Property( "is_input_to", - ["openminds.ephys.RecordingActivity", "openminds.specimen_prep.TissueCulturePreparation"], - "^vocab:input", + ["openminds.latest.ephys.RecordingActivity", "openminds.latest.specimen_prep.TissueCulturePreparation"], + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_output_of", - ["openminds.core.ProtocolExecution", "openminds.stimulation.StimulationActivity"], - "^vocab:output", + ["openminds.latest.core.ProtocolExecution", "openminds.latest.stimulation.StimulationActivity"], + "output", reverse="outputs", multiple=True, - doc="reverse of 'outputs'", + description="reverse of 'outputs'", ), Property( "is_state_of", - "openminds.core.SubjectGroup", - "^vocab:studiedState", + "openminds.latest.core.SubjectGroup", + "studiedState", reverse="studied_states", multiple=True, - doc="reverse of 'studied_states'", + description="reverse of 'studied_states'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), ] existence_query_properties = ("lookup_label",) @@ -151,7 +88,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/subject_state.py b/fairgraph/openminds/core/research/subject_state.py index fde4baa1..13662b89 100644 --- a/fairgraph/openminds/core/research/subject_state.py +++ b/fairgraph/openminds/core/research/subject_state.py @@ -4,147 +4,86 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import SubjectState as OMSubjectState +from fairgraph import KGObject -class SubjectState(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" - type_ = "https://openminds.ebrains.eu/core/SubjectState" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "age", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:age", - doc="Time of life or existence at which some particular qualification, capacity or event arises.", - ), - Property( - "age_category", - "openminds.controlled_terms.AgeCategory", - "vocab:ageCategory", - required=True, - doc="Distinct life cycle class that is defined by a similar age or age range (developmental stage) within a group of individual beings.", - ), - Property( - "attributes", - "openminds.controlled_terms.SubjectAttribute", - "vocab:attribute", - multiple=True, - doc="no description available", - ), - Property( - "descended_from", "openminds.core.SubjectState", "vocab:descendedFrom", doc="no description available" - ), - Property( - "handedness", - "openminds.controlled_terms.Handedness", - "vocab:handedness", - doc="Degree to which an organism prefers one hand or foot over the other hand or foot during the performance of a task.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the subject state within a particular product.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "pathologies", - ["openminds.controlled_terms.Disease", "openminds.controlled_terms.DiseaseModel"], - "vocab:pathology", - multiple=True, - doc="Structural and functional deviation from the normal that constitutes a disease or characterizes a particular disease.", - ), - Property( - "relative_time_indication", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:relativeTimeIndication", - doc="no description available", - ), - Property( - "weight", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:weight", - doc="Amount that a thing or being weighs.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_children", [ - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", + "openminds.latest.core.SubjectState", + "openminds.latest.core.TissueSampleCollectionState", + "openminds.latest.core.TissueSampleState", ], - "^vocab:descendedFrom", + "descendedFrom", reverse="descended_from", multiple=True, - doc="reverse of 'descended_from'", + description="reverse of 'descended_from'", ), Property( "is_input_to", [ - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", ], - "^vocab:input", + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_output_of", [ - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:output", + "output", reverse="outputs", multiple=True, - doc="reverse of 'outputs'", + description="reverse of 'outputs'", ), Property( "is_state_of", - "openminds.core.Subject", - "^vocab:studiedState", + "openminds.latest.core.Subject", + "studiedState", reverse="studied_states", multiple=True, - doc="reverse of 'studied_states'", + description="reverse of 'studied_states'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", + "openminds.latest.specimen_prep.SlicingDeviceUsage", ], - "^vocab:usedSpecimen", + "usedSpecimen", reverse="used_specimen", multiple=True, - doc="reverse of 'used_specimen'", + description="reverse of 'used_specimen'", ), ] existence_query_properties = ("lookup_label",) @@ -173,7 +112,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/tissue_sample.py b/fairgraph/openminds/core/research/tissue_sample.py index a414f98e..18051e86 100644 --- a/fairgraph/openminds/core/research/tissue_sample.py +++ b/fairgraph/openminds/core/research/tissue_sample.py @@ -4,119 +4,43 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import TissueSample as OMTissueSample +from fairgraph import KGObject -class TissueSample(KGObject): +class TissueSample(KGObject, OMTissueSample): """ Structured information on a tissue sample. """ + type_ = "https://openminds.om-i.org/types/TissueSample" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/TissueSample" - properties = [ - Property( - "anatomical_locations", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.UBERONParcellation", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:anatomicalLocation", - multiple=True, - doc="no description available", - ), - Property( - "biological_sex", - "openminds.controlled_terms.BiologicalSex", - "vocab:biologicalSex", - doc="Differentiation of individuals of most species (animals and plants) based on the type of gametes they produce.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the tissue sample within a particular product.", - ), - Property( - "is_part_of", - "openminds.core.TissueSampleCollection", - "vocab:isPartOf", - multiple=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property( - "lateralities", - "openminds.controlled_terms.Laterality", - "vocab:laterality", - multiple=True, - doc="Differentiation between a pair of lateral homologous parts of the body.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "origin", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - ], - "vocab:origin", - required=True, - doc="Source at which something begins or rises, or from which something derives.", - ), - Property( - "species", - ["openminds.controlled_terms.Species", "openminds.core.Strain"], - "vocab:species", - required=True, - doc="Category of biological classification comprising related organisms or populations potentially capable of interbreeding, and being designated by a binomial that consists of the name of a genus followed by a Latin or latinized uncapitalized noun or adjective.", - ), - Property( - "studied_states", - "openminds.core.TissueSampleState", - "vocab:studiedState", - multiple=True, - required=True, - doc="Reference to a point in time at which the tissue sample was studied in a particular mode or condition.", - ), - Property( - "type", - "openminds.controlled_terms.TissueSampleType", - "vocab:type", - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_study_results_in", - "openminds.core.DatasetVersion", - "^vocab:studiedSpecimen", + "openminds.latest.core.DatasetVersion", + "studiedSpecimen", reverse="studied_specimens", multiple=True, - doc="reverse of 'studied_specimens'", + description="reverse of 'studied_specimens'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.sands.BrainAtlasVersion", "openminds.sands.CommonCoordinateSpaceVersion"], - "^vocab:usedSpecimen", + ["openminds.latest.sands.BrainAtlasVersion", "openminds.latest.sands.CommonCoordinateSpaceVersion"], + "usedSpecimen", reverse="used_specimens", multiple=True, - doc="reverse of 'used_specimens'", + description="reverse of 'used_specimens'", ), ] existence_query_properties = ("lookup_label",) @@ -141,7 +65,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/tissue_sample_collection.py b/fairgraph/openminds/core/research/tissue_sample_collection.py index 70c60c71..9f20aae1 100644 --- a/fairgraph/openminds/core/research/tissue_sample_collection.py +++ b/fairgraph/openminds/core/research/tissue_sample_collection.py @@ -4,131 +4,51 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import TissueSampleCollection as OMTissueSampleCollection +from fairgraph import KGObject -class TissueSampleCollection(KGObject): +class TissueSampleCollection(KGObject, OMTissueSampleCollection): """ """ + type_ = "https://openminds.om-i.org/types/TissueSampleCollection" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/TissueSampleCollection" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "anatomical_locations", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.UBERONParcellation", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:anatomicalLocation", - multiple=True, - doc="no description available", - ), - Property( - "biological_sexes", - "openminds.controlled_terms.BiologicalSex", - "vocab:biologicalSex", - multiple=True, - doc="Differentiation of individuals of most species (animals and plants) based on the type of gametes they produce.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the tissue sample collection within a particular product.", - ), - Property( - "lateralities", - "openminds.controlled_terms.Laterality", - "vocab:laterality", - multiple=True, - doc="Differentiation between a pair of lateral homologous parts of the body.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property("number_of_tissue_samples", int, "vocab:numberOfTissueSamples", doc="no description available"), - Property( - "origins", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - ], - "vocab:origin", - multiple=True, - required=True, - doc="Source at which something begins or rises, or from which something derives.", - ), - Property( - "species", - ["openminds.controlled_terms.Species", "openminds.core.Strain"], - "vocab:species", - multiple=True, - required=True, - doc="Category of biological classification comprising related organisms or populations potentially capable of interbreeding, and being designated by a binomial that consists of the name of a genus followed by a Latin or latinized uncapitalized noun or adjective.", - ), - Property( - "studied_states", - "openminds.core.TissueSampleCollectionState", - "vocab:studiedState", - multiple=True, - required=True, - doc="Reference to a point in time at which the tissue sample collection was studied in a particular mode or condition.", - ), - Property( - "types", - "openminds.controlled_terms.TissueSampleType", - "vocab:type", - multiple=True, - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_parts", - "openminds.core.TissueSample", - "^vocab:isPartOf", + "openminds.latest.core.TissueSample", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), Property( "has_study_results_in", - "openminds.core.DatasetVersion", - "^vocab:studiedSpecimen", + "openminds.latest.core.DatasetVersion", + "studiedSpecimen", reverse="studied_specimens", multiple=True, - doc="reverse of 'studied_specimens'", + description="reverse of 'studied_specimens'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", - ["openminds.sands.BrainAtlasVersion", "openminds.sands.CommonCoordinateSpaceVersion"], - "^vocab:usedSpecimen", + ["openminds.latest.sands.BrainAtlasVersion", "openminds.latest.sands.CommonCoordinateSpaceVersion"], + "usedSpecimen", reverse="used_specimens", multiple=True, - doc="reverse of 'used_specimens'", + description="reverse of 'used_specimens'", ), ] existence_query_properties = ("lookup_label",) @@ -155,7 +75,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/tissue_sample_collection_state.py b/fairgraph/openminds/core/research/tissue_sample_collection_state.py index 07497820..fa992f84 100644 --- a/fairgraph/openminds/core/research/tissue_sample_collection_state.py +++ b/fairgraph/openminds/core/research/tissue_sample_collection_state.py @@ -4,120 +4,63 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import TissueSampleCollectionState as OMTissueSampleCollectionState +from fairgraph import KGObject -class TissueSampleCollectionState(KGObject): +class TissueSampleCollectionState(KGObject, OMTissueSampleCollectionState): """ """ + type_ = "https://openminds.om-i.org/types/TissueSampleCollectionState" default_space = "dataset" - type_ = "https://openminds.ebrains.eu/core/TissueSampleCollectionState" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "age", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:age", - doc="Time of life or existence at which some particular qualification, capacity or event arises.", - ), - Property( - "attributes", - "openminds.controlled_terms.TissueSampleAttribute", - "vocab:attribute", - multiple=True, - doc="no description available", - ), - Property( - "descended_from", - [ - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - ], - "vocab:descendedFrom", - multiple=True, - doc="no description available", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the tissue sample collection state within a particular product.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "pathologies", - ["openminds.controlled_terms.Disease", "openminds.controlled_terms.DiseaseModel"], - "vocab:pathology", - multiple=True, - doc="Structural and functional deviation from the normal that constitutes a disease or characterizes a particular disease.", - ), - Property( - "relative_time_indication", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:relativeTimeIndication", - doc="no description available", - ), - Property( - "weight", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:weight", - doc="Amount that a thing or being weighs.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_children", - ["openminds.core.TissueSampleCollectionState", "openminds.core.TissueSampleState"], - "^vocab:descendedFrom", + ["openminds.latest.core.TissueSampleCollectionState", "openminds.latest.core.TissueSampleState"], + "descendedFrom", reverse="descended_from", multiple=True, - doc="reverse of 'descended_from'", + description="reverse of 'descended_from'", ), Property( "is_input_to", - ["openminds.ephys.RecordingActivity", "openminds.specimen_prep.TissueCulturePreparation"], - "^vocab:input", + ["openminds.latest.ephys.RecordingActivity", "openminds.latest.specimen_prep.TissueCulturePreparation"], + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_output_of", [ - "openminds.core.ProtocolExecution", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:output", + "output", reverse="outputs", multiple=True, - doc="reverse of 'outputs'", + description="reverse of 'outputs'", ), Property( "is_state_of", - "openminds.core.TissueSampleCollection", - "^vocab:studiedState", + "openminds.latest.core.TissueSampleCollection", + "studiedState", reverse="studied_states", multiple=True, - doc="reverse of 'studied_states'", + description="reverse of 'studied_states'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), ] existence_query_properties = ("lookup_label",) @@ -143,7 +86,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/core/research/tissue_sample_state.py b/fairgraph/openminds/core/research/tissue_sample_state.py index ba728a7f..f32a0352 100644 --- a/fairgraph/openminds/core/research/tissue_sample_state.py +++ b/fairgraph/openminds/core/research/tissue_sample_state.py @@ -4,136 +4,79 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.core import TissueSampleState as OMTissueSampleState +from fairgraph import KGObject -class TissueSampleState(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" - type_ = "https://openminds.ebrains.eu/core/TissueSampleState" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "age", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:age", - doc="Time of life or existence at which some particular qualification, capacity or event arises.", - ), - Property( - "attributes", - "openminds.controlled_terms.TissueSampleAttribute", - "vocab:attribute", - multiple=True, - doc="no description available", - ), - Property( - "descended_from", - [ - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - ], - "vocab:descendedFrom", - multiple=True, - doc="no description available", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the tissue sample state within a particular product.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "pathologies", - ["openminds.controlled_terms.Disease", "openminds.controlled_terms.DiseaseModel"], - "vocab:pathology", - multiple=True, - doc="Structural and functional deviation from the normal that constitutes a disease or characterizes a particular disease.", - ), - Property( - "relative_time_indication", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:relativeTimeIndication", - doc="no description available", - ), - Property( - "weight", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:weight", - doc="Amount that a thing or being weighs.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_children", - ["openminds.core.TissueSampleCollectionState", "openminds.core.TissueSampleState"], - "^vocab:descendedFrom", + ["openminds.latest.core.TissueSampleCollectionState", "openminds.latest.core.TissueSampleState"], + "descendedFrom", reverse="descended_from", multiple=True, - doc="reverse of 'descended_from'", + description="reverse of 'descended_from'", ), Property( "is_input_to", - "openminds.ephys.RecordingActivity", - "^vocab:input", + "openminds.latest.ephys.RecordingActivity", + "input", reverse="inputs", multiple=True, - doc="reverse of 'inputs'", + description="reverse of 'inputs'", ), Property( "is_output_of", [ - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:output", + "output", reverse="outputs", multiple=True, - doc="reverse of 'outputs'", + description="reverse of 'outputs'", ), Property( "is_state_of", - "openminds.core.TissueSample", - "^vocab:studiedState", + "openminds.latest.core.TissueSample", + "studiedState", reverse="studied_states", multiple=True, - doc="reverse of 'studied_states'", + description="reverse of 'studied_states'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "used_in", [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", + "openminds.latest.specimen_prep.SlicingDeviceUsage", ], - "^vocab:usedSpecimen", + "usedSpecimen", reverse="used_specimen", multiple=True, - doc="reverse of 'used_specimen'", + description="reverse of 'used_specimen'", ), ] existence_query_properties = ("lookup_label",) @@ -160,7 +103,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/activity/cell_patching.py b/fairgraph/openminds/ephys/activity/cell_patching.py index a2355f0c..1eb72779 100644 --- a/fairgraph/openminds/ephys/activity/cell_patching.py +++ b/fairgraph/openminds/ephys/activity/cell_patching.py @@ -4,155 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import CellPatching as OMCellPatching +from fairgraph import KGObject from datetime import datetime, time -class CellPatching(KGObject): +class CellPatching(KGObject, OMCellPatching): """ """ + type_ = "https://openminds.om-i.org/types/CellPatching" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/CellPatching" - properties = [ - Property( - "bath_temperature", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:bathTemperature", - doc="no description available", - ), - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the cell patching.", - ), - Property( - "devices", - [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", - ], - "vocab:device", - multiple=True, - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - ["openminds.core.TissueSampleState", "openminds.core.SubjectState"], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - ["openminds.core.TissueSampleState", "openminds.core.SubjectState"], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property( - "target_position", - "openminds.sands.AnatomicalTargetPosition", - "vocab:targetPosition", - doc="no description available", - ), - Property( - "tissue_bath_solution", - "openminds.chemicals.ChemicalMixture", - "vocab:tissueBathSolution", - doc="no description available", - ), - Property( - "variation", - "openminds.controlled_terms.PatchClampVariation", - "vocab:variation", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("lookup_label",) @@ -180,7 +47,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/activity/electrode_placement.py b/fairgraph/openminds/ephys/activity/electrode_placement.py index fab90a0e..b405c65c 100644 --- a/fairgraph/openminds/ephys/activity/electrode_placement.py +++ b/fairgraph/openminds/ephys/activity/electrode_placement.py @@ -4,137 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import ElectrodePlacement as OMElectrodePlacement +from fairgraph import KGObject from datetime import datetime, time -class ElectrodePlacement(KGObject): +class ElectrodePlacement(KGObject, OMElectrodePlacement): """ """ + type_ = "https://openminds.om-i.org/types/ElectrodePlacement" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/ElectrodePlacement" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the electrode placement.", - ), - Property( - "devices", - [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", - ], - "vocab:device", - multiple=True, - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - ["openminds.core.TissueSampleState", "openminds.core.SubjectState"], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - ["openminds.core.TissueSampleState", "openminds.core.SubjectState"], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property( - "target_position", - "openminds.sands.AnatomicalTargetPosition", - "vocab:targetPosition", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("lookup_label",) @@ -159,7 +44,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/activity/recording_activity.py b/fairgraph/openminds/ephys/activity/recording_activity.py index 6019d76f..bf8cc1e5 100644 --- a/fairgraph/openminds/ephys/activity/recording_activity.py +++ b/fairgraph/openminds/ephys/activity/recording_activity.py @@ -4,136 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import RecordingActivity as OMRecordingActivity +from fairgraph import KGObject from datetime import datetime, time -class RecordingActivity(KGObject): +class RecordingActivity(KGObject, OMRecordingActivity): """ """ + type_ = "https://openminds.om-i.org/types/RecordingActivity" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/RecordingActivity" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the recording activity.", - ), - Property( - "devices", - ["openminds.ephys.ElectrodeArrayUsage", "openminds.ephys.ElectrodeUsage", "openminds.ephys.PipetteUsage"], - "vocab:device", - multiple=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - [ - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the recording activity within a particular product.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - ["openminds.core.File", "openminds.core.FileBundle"], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("lookup_label",) @@ -158,7 +44,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/device/electrode.py b/fairgraph/openminds/ephys/device/electrode.py index 88b91c08..7bebeb6b 100644 --- a/fairgraph/openminds/ephys/device/electrode.py +++ b/fairgraph/openminds/ephys/device/electrode.py @@ -4,109 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import Electrode as OMElectrode +from fairgraph import KGObject -class Electrode(KGObject): +class Electrode(KGObject, OMElectrode): """ Structured information on an electrode. """ + type_ = "https://openminds.om-i.org/types/Electrode" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/Electrode" - properties = [ - Property( - "conductor_material", - [ - "openminds.chemicals.ChemicalMixture", - "openminds.chemicals.ChemicalSubstance", - "openminds.controlled_terms.MolecularEntity", - ], - "vocab:conductorMaterial", - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the electrode.", - ), - Property( - "device_type", - "openminds.controlled_terms.DeviceType", - "vocab:deviceType", - required=True, - doc="no description available", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "insulator_material", - [ - "openminds.chemicals.ChemicalMixture", - "openminds.chemicals.ChemicalSubstance", - "openminds.controlled_terms.MolecularEntity", - ], - "vocab:insulatorMaterial", - doc="no description available", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the electrode within a particular product.", - ), - Property( - "intrinsic_resistance", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:intrinsicResistance", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "manufacturers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:manufacturer", - multiple=True, - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the electrode.", - ), - Property( - "owners", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:owner", - multiple=True, - doc="no description available", - ), - Property("serial_number", str, "vocab:serialNumber", doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_part_of", - "openminds.core.Setup", - "^vocab:hasPart", + "openminds.latest.core.Setup", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "usage", - "openminds.ephys.ElectrodeUsage", - "^vocab:device", + "openminds.latest.ephys.ElectrodeUsage", + "device", reverse="device", multiple=True, - doc="reverse of 'device'", + description="reverse of 'device'", ), ] existence_query_properties = ("lookup_label",) @@ -132,7 +58,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/device/electrode_array.py b/fairgraph/openminds/ephys/device/electrode_array.py index 0c9041ae..f7d4d1dd 100644 --- a/fairgraph/openminds/ephys/device/electrode_array.py +++ b/fairgraph/openminds/ephys/device/electrode_array.py @@ -4,120 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import ElectrodeArray as OMElectrodeArray +from fairgraph import KGObject -class ElectrodeArray(KGObject): +class ElectrodeArray(KGObject, OMElectrodeArray): """ Structured information on an electrode array. """ + type_ = "https://openminds.om-i.org/types/ElectrodeArray" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/ElectrodeArray" - properties = [ - Property( - "conductor_material", - [ - "openminds.chemicals.ChemicalMixture", - "openminds.chemicals.ChemicalSubstance", - "openminds.controlled_terms.MolecularEntity", - ], - "vocab:conductorMaterial", - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the electrode array.", - ), - Property( - "device_type", - "openminds.controlled_terms.DeviceType", - "vocab:deviceType", - required=True, - doc="no description available", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "electrode_identifiers", - str, - "vocab:electrodeIdentifier", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "insulator_material", - [ - "openminds.chemicals.ChemicalMixture", - "openminds.chemicals.ChemicalSubstance", - "openminds.controlled_terms.MolecularEntity", - ], - "vocab:insulatorMaterial", - doc="no description available", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the electrode array within a particular product.", - ), - Property( - "intrinsic_resistance", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:intrinsicResistance", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "manufacturers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:manufacturer", - multiple=True, - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the electrode array.", - ), - Property( - "number_of_electrodes", int, "vocab:numberOfElectrodes", required=True, doc="no description available" - ), - Property( - "owners", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:owner", - multiple=True, - doc="no description available", - ), - Property("serial_number", str, "vocab:serialNumber", doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_part_of", - "openminds.core.Setup", - "^vocab:hasPart", + "openminds.latest.core.Setup", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "usage", - "openminds.ephys.ElectrodeArrayUsage", - "^vocab:device", + "openminds.latest.ephys.ElectrodeArrayUsage", + "device", reverse="device", multiple=True, - doc="reverse of 'device'", + description="reverse of 'device'", ), ] existence_query_properties = ("lookup_label",) @@ -145,7 +60,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/device/electrode_array_usage.py b/fairgraph/openminds/ephys/device/electrode_array_usage.py index e59f0e4c..0746202d 100644 --- a/fairgraph/openminds/ephys/device/electrode_array_usage.py +++ b/fairgraph/openminds/ephys/device/electrode_array_usage.py @@ -4,127 +4,59 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import ElectrodeArrayUsage as OMElectrodeArrayUsage +from fairgraph import KGObject -class ElectrodeArrayUsage(KGObject): +class ElectrodeArrayUsage(KGObject, OMElectrodeArrayUsage): """ """ + type_ = "https://openminds.om-i.org/types/ElectrodeArrayUsage" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/ElectrodeArrayUsage" - properties = [ - Property( - "anatomical_locations_of_arrays", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.UBERONParcellation", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:anatomicalLocationOfArray", - multiple=True, - doc="no description available", - ), - Property( - "anatomical_locations_of_electrodes", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.UBERONParcellation", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:anatomicalLocationOfElectrodes", - multiple=True, - doc="no description available", - ), - Property( - "contact_resistances", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:contactResistances", - multiple=True, - doc="no description available", - ), - Property( - "device", - "openminds.ephys.ElectrodeArray", - "vocab:device", - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "metadata_locations", - ["openminds.core.File", "openminds.core.FileBundle"], - "vocab:metadataLocation", - multiple=True, - doc="no description available", - ), - Property( - "spatial_locations_of_electrodes", - "openminds.sands.CoordinatePoint", - "vocab:spatialLocationOfElectrodes", - multiple=True, - doc="no description available", - ), - Property("used_electrodes", str, "vocab:usedElectrode", multiple=True, doc="no description available"), - Property( - "used_specimen", - ["openminds.core.SubjectState", "openminds.core.TissueSampleState"], - "vocab:usedSpecimen", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "generation_device", - "openminds.stimulation.EphysStimulus", - "^vocab:generatedBy", + "openminds.latest.stimulation.EphysStimulus", + "generatedBy", reverse="generated_by", multiple=True, - doc="reverse of 'generated_by'", + description="reverse of 'generated_by'", ), Property( "placed_by", - "openminds.ephys.ElectrodePlacement", - "^vocab:device", + "openminds.latest.ephys.ElectrodePlacement", + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_in", - ["openminds.ephys.CellPatching", "openminds.ephys.RecordingActivity"], - "^vocab:device", + ["openminds.latest.ephys.CellPatching", "openminds.latest.ephys.RecordingActivity"], + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_to_measure", - "openminds.core.Measurement", - "^vocab:measuredWith", + "openminds.latest.core.Measurement", + "measuredWith", reverse="measured_with", multiple=True, - doc="reverse of 'measured_with'", + description="reverse of 'measured_with'", ), Property( "used_to_record", - "openminds.ephys.Recording", - "^vocab:recordedWith", + "openminds.latest.ephys.Recording", + "recordedWith", reverse="recorded_with", multiple=True, - doc="reverse of 'recorded_with'", + description="reverse of 'recorded_with'", ), ] existence_query_properties = ("lookup_label",) @@ -150,7 +82,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/device/electrode_usage.py b/fairgraph/openminds/ephys/device/electrode_usage.py index 42636f5c..3b2ce02a 100644 --- a/fairgraph/openminds/ephys/device/electrode_usage.py +++ b/fairgraph/openminds/ephys/device/electrode_usage.py @@ -4,107 +4,59 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import ElectrodeUsage as OMElectrodeUsage +from fairgraph import KGObject -class ElectrodeUsage(KGObject): +class ElectrodeUsage(KGObject, OMElectrodeUsage): """ """ + type_ = "https://openminds.om-i.org/types/ElectrodeUsage" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/ElectrodeUsage" - properties = [ - Property( - "anatomical_location", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.UBERONParcellation", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:anatomicalLocation", - doc="no description available", - ), - Property( - "contact_resistance", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:contactResistance", - doc="no description available", - ), - Property( - "device", - "openminds.ephys.Electrode", - "vocab:device", - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "metadata_locations", - ["openminds.core.File", "openminds.core.FileBundle"], - "vocab:metadataLocation", - multiple=True, - doc="no description available", - ), - Property( - "spatial_location", - "openminds.sands.CoordinatePoint", - "vocab:spatialLocation", - doc="no description available", - ), - Property( - "used_specimen", - ["openminds.core.SubjectState", "openminds.core.TissueSampleState"], - "vocab:usedSpecimen", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "generation_device", - "openminds.stimulation.EphysStimulus", - "^vocab:generatedBy", + "openminds.latest.stimulation.EphysStimulus", + "generatedBy", reverse="generated_by", multiple=True, - doc="reverse of 'generated_by'", + description="reverse of 'generated_by'", ), Property( "placed_by", - "openminds.ephys.ElectrodePlacement", - "^vocab:device", + "openminds.latest.ephys.ElectrodePlacement", + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_in", - ["openminds.ephys.CellPatching", "openminds.ephys.RecordingActivity"], - "^vocab:device", + ["openminds.latest.ephys.CellPatching", "openminds.latest.ephys.RecordingActivity"], + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_to_measure", - "openminds.core.Measurement", - "^vocab:measuredWith", + "openminds.latest.core.Measurement", + "measuredWith", reverse="measured_with", multiple=True, - doc="reverse of 'measured_with'", + description="reverse of 'measured_with'", ), Property( "used_to_record", - "openminds.ephys.Recording", - "^vocab:recordedWith", + "openminds.latest.ephys.Recording", + "recordedWith", reverse="recorded_with", multiple=True, - doc="reverse of 'recorded_with'", + description="reverse of 'recorded_with'", ), ] existence_query_properties = ("lookup_label",) @@ -128,7 +80,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/device/pipette.py b/fairgraph/openminds/ephys/device/pipette.py index 81037768..ee39a7fe 100644 --- a/fairgraph/openminds/ephys/device/pipette.py +++ b/fairgraph/openminds/ephys/device/pipette.py @@ -4,105 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import Pipette as OMPipette +from fairgraph import KGObject -class Pipette(KGObject): +class Pipette(KGObject, OMPipette): """ """ + type_ = "https://openminds.om-i.org/types/Pipette" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/Pipette" - properties = [ - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the pipette.", - ), - Property( - "device_type", - "openminds.controlled_terms.DeviceType", - "vocab:deviceType", - required=True, - doc="no description available", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "external_diameter", - "openminds.core.QuantitativeValue", - "vocab:externalDiameter", - doc="no description available", - ), - Property( - "internal_diameter", - "openminds.core.QuantitativeValue", - "vocab:internalDiameter", - doc="no description available", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the pipette within a particular product.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "manufacturers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:manufacturer", - multiple=True, - doc="no description available", - ), - Property( - "material", - [ - "openminds.chemicals.ChemicalMixture", - "openminds.chemicals.ChemicalSubstance", - "openminds.controlled_terms.MolecularEntity", - ], - "vocab:material", - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the pipette.", - ), - Property( - "owners", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:owner", - multiple=True, - doc="no description available", - ), - Property("serial_number", str, "vocab:serialNumber", doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_part_of", - "openminds.core.Setup", - "^vocab:hasPart", + "openminds.latest.core.Setup", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "usage", - "openminds.ephys.PipetteUsage", - "^vocab:device", + "openminds.latest.ephys.PipetteUsage", + "device", reverse="device", multiple=True, - doc="reverse of 'device'", + description="reverse of 'device'", ), ] existence_query_properties = ("lookup_label",) @@ -128,7 +58,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/device/pipette_usage.py b/fairgraph/openminds/ephys/device/pipette_usage.py index 7ec02172..ad1198d5 100644 --- a/fairgraph/openminds/ephys/device/pipette_usage.py +++ b/fairgraph/openminds/ephys/device/pipette_usage.py @@ -4,167 +4,59 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import PipetteUsage as OMPipetteUsage +from fairgraph import KGObject -class PipetteUsage(KGObject): +class PipetteUsage(KGObject, OMPipetteUsage): """ """ + type_ = "https://openminds.om-i.org/types/PipetteUsage" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/PipetteUsage" - properties = [ - Property( - "anatomical_location", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.UBERONParcellation", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:anatomicalLocation", - doc="no description available", - ), - Property( - "chloride_reversal_potentials", - "openminds.core.Measurement", - "vocab:chlorideReversalPotential", - multiple=True, - doc="no description available", - ), - Property( - "compensation_current", - "openminds.core.Measurement", - "vocab:compensationCurrent", - doc="no description available", - ), - Property( - "device", - "openminds.ephys.Pipette", - "vocab:device", - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property( - "end_membrane_potential", - "openminds.core.Measurement", - "vocab:endMembranePotential", - doc="no description available", - ), - Property( - "holding_potential", "openminds.core.Measurement", "vocab:holdingPotential", doc="no description available" - ), - Property( - "input_resistance", "openminds.core.Measurement", "vocab:inputResistance", doc="no description available" - ), - Property( - "labeling_compound", - [ - "openminds.chemicals.ChemicalMixture", - "openminds.chemicals.ChemicalSubstance", - "openminds.controlled_terms.MolecularEntity", - ], - "vocab:labelingCompound", - doc="no description available", - ), - Property( - "liquid_junction_potential", - "openminds.core.Measurement", - "vocab:liquidJunctionPotential", - doc="no description available", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "metadata_locations", - ["openminds.core.File", "openminds.core.FileBundle"], - "vocab:metadataLocation", - multiple=True, - doc="no description available", - ), - Property( - "pipette_resistance", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:pipetteResistance", - doc="no description available", - ), - Property( - "pipette_solution", - "openminds.chemicals.ChemicalMixture", - "vocab:pipetteSolution", - required=True, - doc="no description available", - ), - Property( - "seal_resistance", "openminds.core.Measurement", "vocab:sealResistance", doc="no description available" - ), - Property( - "series_resistance", "openminds.core.Measurement", "vocab:seriesResistance", doc="no description available" - ), - Property( - "spatial_location", - "openminds.sands.CoordinatePoint", - "vocab:spatialLocation", - doc="no description available", - ), - Property( - "start_membrane_potential", - "openminds.core.Measurement", - "vocab:startMembranePotential", - doc="no description available", - ), - Property( - "used_specimen", - ["openminds.core.SubjectState", "openminds.core.TissueSampleState"], - "vocab:usedSpecimen", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "generation_device", - "openminds.stimulation.EphysStimulus", - "^vocab:generatedBy", + "openminds.latest.stimulation.EphysStimulus", + "generatedBy", reverse="generated_by", multiple=True, - doc="reverse of 'generated_by'", + description="reverse of 'generated_by'", ), Property( "placed_by", - "openminds.ephys.ElectrodePlacement", - "^vocab:device", + "openminds.latest.ephys.ElectrodePlacement", + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_in", - ["openminds.ephys.CellPatching", "openminds.ephys.RecordingActivity"], - "^vocab:device", + ["openminds.latest.ephys.CellPatching", "openminds.latest.ephys.RecordingActivity"], + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_to_measure", - "openminds.core.Measurement", - "^vocab:measuredWith", + "openminds.latest.core.Measurement", + "measuredWith", reverse="measured_with", multiple=True, - doc="reverse of 'measured_with'", + description="reverse of 'measured_with'", ), Property( "used_to_record", - "openminds.ephys.Recording", - "^vocab:recordedWith", + "openminds.latest.ephys.Recording", + "recordedWith", reverse="recorded_with", multiple=True, - doc="reverse of 'recorded_with'", + description="reverse of 'recorded_with'", ), ] existence_query_properties = ("lookup_label",) @@ -199,7 +91,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/ephys/entity/channel.py b/fairgraph/openminds/ephys/entity/channel.py index 101c617a..69943189 100644 --- a/fairgraph/openminds/ephys/entity/channel.py +++ b/fairgraph/openminds/ephys/entity/channel.py @@ -4,33 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import Channel as OMChannel +from fairgraph import EmbeddedMetadata -class Channel(EmbeddedMetadata): +class Channel(EmbeddedMetadata, OMChannel): """ """ - type_ = "https://openminds.ebrains.eu/ephys/Channel" - properties = [ - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - required=True, - doc="Term or code that identifies the channel within a particular product.", - ), - Property( - "unit", - "openminds.controlled_terms.UnitOfMeasurement", - "vocab:unit", - required=True, - doc="Determinate quantity adopted as a standard of measurement.", - ), - ] + type_ = "https://openminds.om-i.org/types/Channel" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, internal_identifier=None, unit=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, internal_identifier=internal_identifier, unit=unit) + return EmbeddedMetadata.__init__(self, data=data, internal_identifier=internal_identifier, unit=unit) diff --git a/fairgraph/openminds/ephys/entity/recording.py b/fairgraph/openminds/ephys/entity/recording.py index 40ff0c81..f63def75 100644 --- a/fairgraph/openminds/ephys/entity/recording.py +++ b/fairgraph/openminds/ephys/entity/recording.py @@ -4,85 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.ephys import Recording as OMRecording +from fairgraph import KGObject -class Recording(KGObject): +class Recording(KGObject, OMRecording): """ """ + type_ = "https://openminds.om-i.org/types/Recording" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/ephys/Recording" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "channels", - "openminds.ephys.Channel", - "vocab:channel", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "data_location", - ["openminds.core.File", "openminds.core.FileBundle"], - "vocab:dataLocation", - required=True, - doc="no description available", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the recording within a particular product.", - ), - Property( - "name", - str, - "vocab:name", - doc="Word or phrase that constitutes the distinctive designation of the recording.", - ), - Property( - "previous_recording", - "openminds.ephys.Recording", - "vocab:previousRecording", - doc="no description available", - ), - Property( - "recorded_with", - [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", - ], - "vocab:recordedWith", - required=True, - doc="no description available", - ), - Property( - "sampling_frequency", - "openminds.core.QuantitativeValue", - "vocab:samplingFrequency", - required=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "next_recording", - "openminds.ephys.Recording", - "^vocab:previousRecording", + "openminds.latest.ephys.Recording", + "previousRecording", reverse="previous_recording", multiple=True, - doc="reverse of 'previous_recording'", + description="reverse of 'previous_recording'", ), ] existence_query_properties = ("channels", "data_location", "recorded_with", "sampling_frequency") @@ -103,7 +45,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/book.py b/fairgraph/openminds/publications/book.py index 8d69a52d..8c69fc6c 100644 --- a/fairgraph/openminds/publications/book.py +++ b/fairgraph/openminds/publications/book.py @@ -4,215 +4,50 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import Book as OMBook +from fairgraph import KGObject from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class Book(KGObject): +class Book(KGObject, OMBook): """ """ + type_ = "https://openminds.om-i.org/types/Book" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/Book" - properties = [ - Property("abstract", str, "vocab:abstract", doc="no description available"), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "cited_publications", - ["openminds.core.DOI", "openminds.core.ISBN"], - "vocab:citedPublication", - multiple=True, - doc="no description available", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property("creation_date", date, "vocab:creationDate", doc="no description available"), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.ISBN"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("editors", "openminds.core.Person", "vocab:editor", multiple=True, doc="no description available"), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the book.", - ), - Property( - "license", - "openminds.core.License", - "vocab:license", - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property("modification_date", date, "vocab:modificationDate", doc="no description available"), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the book.", - ), - Property("publication_date", date, "vocab:publicationDate", required=True, doc="no description available"), - Property( - "publisher", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:publisher", - doc="no description available", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - doc="Term or code used to identify the version of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_parts", - "openminds.publications.Chapter", - "^vocab:isPartOf", + "openminds.latest.publications.Chapter", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), Property( "related_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:relatedPublication", + "relatedPublication", reverse="related_publications", multiple=True, - doc="reverse of 'related_publications'", + description="reverse of 'related_publications'", ), ] existence_query_properties = ("name", "publication_date") @@ -243,7 +78,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/chapter.py b/fairgraph/openminds/publications/chapter.py index fdcc416c..5e4fd59f 100644 --- a/fairgraph/openminds/publications/chapter.py +++ b/fairgraph/openminds/publications/chapter.py @@ -4,216 +4,42 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import Chapter as OMChapter +from fairgraph import KGObject from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class Chapter(KGObject): +class Chapter(KGObject, OMChapter): """ """ + type_ = "https://openminds.om-i.org/types/Chapter" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/Chapter" - properties = [ - Property("abstract", str, "vocab:abstract", doc="no description available"), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - required=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "cited_publications", - ["openminds.core.DOI", "openminds.core.ISBN"], - "vocab:citedPublication", - multiple=True, - doc="no description available", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property("creation_date", date, "vocab:creationDate", doc="no description available"), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("editors", "openminds.core.Person", "vocab:editor", multiple=True, doc="no description available"), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "is_part_of", - "openminds.publications.Book", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the chapter.", - ), - Property( - "license", - "openminds.core.License", - "vocab:license", - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property("modification_date", date, "vocab:modificationDate", doc="no description available"), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the chapter.", - ), - Property("pagination", str, "vocab:pagination", doc="no description available"), - Property("publication_date", date, "vocab:publicationDate", required=True, doc="no description available"), - Property( - "publisher", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:publisher", - doc="no description available", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - doc="Term or code used to identify the version of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "related_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:relatedPublication", + "relatedPublication", reverse="related_publications", multiple=True, - doc="reverse of 'related_publications'", + description="reverse of 'related_publications'", ), ] existence_query_properties = ("authors", "is_part_of", "name", "publication_date") @@ -245,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/learning_resource.py b/fairgraph/openminds/publications/learning_resource.py index 3dc91195..80c7ca1b 100644 --- a/fairgraph/openminds/publications/learning_resource.py +++ b/fairgraph/openminds/publications/learning_resource.py @@ -4,239 +4,23 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import LearningResource as OMLearningResource +from fairgraph import KGObject from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class LearningResource(KGObject): +class LearningResource(KGObject, OMLearningResource): """ """ + type_ = "https://openminds.om-i.org/types/LearningResource" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/LearningResource" - properties = [ - Property( - "about", - [ - "openminds.computation.ValidationTest", - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipe", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.Dataset", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModel", - "openminds.core.MetaDataModelVersion", - "openminds.core.Model", - "openminds.core.ModelVersion", - "openminds.core.Software", - "openminds.core.SoftwareVersion", - "openminds.core.WebService", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaper", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlas", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpace", - "openminds.sands.CommonCoordinateSpaceVersion", - ], - "vocab:about", - multiple=True, - required=True, - doc="no description available", - ), - Property("abstract", str, "vocab:abstract", doc="no description available"), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "cited_publications", - ["openminds.core.DOI", "openminds.core.ISBN"], - "vocab:citedPublication", - multiple=True, - doc="no description available", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property("creation_date", date, "vocab:creationDate", doc="no description available"), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("editors", "openminds.core.Person", "vocab:editor", multiple=True, doc="no description available"), - Property( - "educational_level", - "openminds.controlled_terms.EducationalLevel", - "vocab:educationalLevel", - doc="no description available", - ), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the learning resource.", - ), - Property("learning_outcome", str, "vocab:learningOutcome", doc="no description available"), - Property( - "license", - "openminds.core.License", - "vocab:license", - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property("modification_date", date, "vocab:modificationDate", doc="no description available"), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the learning resource.", - ), - Property("order", int, "vocab:order", doc="no description available"), - Property("prerequisite", str, "vocab:prerequisite", doc="no description available"), - Property("publication_date", date, "vocab:publicationDate", required=True, doc="no description available"), - Property( - "publisher", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:publisher", - doc="no description available", - ), - Property( - "required_time", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:requiredTime", - doc="no description available", - ), - Property("topic", str, "vocab:topic", doc="no description available"), - Property( - "type", - "openminds.controlled_terms.LearningResourceType", - "vocab:type", - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - doc="Term or code used to identify the version of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("about", "name", "publication_date") @@ -272,7 +56,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/live_paper.py b/fairgraph/openminds/publications/live_paper.py index c1a2b331..3dbc5a28 100644 --- a/fairgraph/openminds/publications/live_paper.py +++ b/fairgraph/openminds/publications/live_paper.py @@ -4,99 +4,46 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import LivePaper as OMLivePaper +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class LivePaper(KGObject): +class LivePaper(KGObject, OMLivePaper): """ """ + type_ = "https://openminds.om-i.org/types/LivePaper" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/LivePaper" - properties = [ - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - required=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the live paper.", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the live paper." - ), - Property( - "has_versions", - "openminds.publications.LivePaperVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the live paper."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the live paper.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -124,7 +71,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/live_paper_resource_item.py b/fairgraph/openminds/publications/live_paper_resource_item.py index 39a1a937..9a17c907 100644 --- a/fairgraph/openminds/publications/live_paper_resource_item.py +++ b/fairgraph/openminds/publications/live_paper_resource_item.py @@ -4,58 +4,30 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import LivePaperResourceItem as OMLivePaperResourceItem +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class LivePaperResourceItem(KGObject): +class LivePaperResourceItem(KGObject, OMLivePaperResourceItem): """ """ + type_ = "https://openminds.om-i.org/types/LivePaperResourceItem" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/LivePaperResourceItem" - properties = [ - Property( - "hosted_by", - ["openminds.core.Organization", "openminds.core.WebService", "openminds.controlled_terms.Service"], - "vocab:hostedBy", - required=True, - doc="Reference to an organization that provides facilities and services for something.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - required=True, - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "is_part_of", - "openminds.publications.LivePaperSection", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the live paper resource item.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_location_of", - "openminds.core.ServiceLink", - "^vocab:dataLocation", + "openminds.latest.core.ServiceLink", + "dataLocation", reverse="data_location", multiple=True, - doc="reverse of 'data_location'", + description="reverse of 'data_location'", ), ] existence_query_properties = ("name", "iri", "is_part_of") @@ -72,7 +44,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/live_paper_section.py b/fairgraph/openminds/publications/live_paper_section.py index aa3556a8..b8200eeb 100644 --- a/fairgraph/openminds/publications/live_paper_section.py +++ b/fairgraph/openminds/publications/live_paper_section.py @@ -4,55 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import LivePaperSection as OMLivePaperSection +from fairgraph import KGObject -class LivePaperSection(KGObject): +class LivePaperSection(KGObject, OMLivePaperSection): """ """ + type_ = "https://openminds.om-i.org/types/LivePaperSection" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/LivePaperSection" - properties = [ - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the live paper section.", - ), - Property( - "is_part_of", - "openminds.publications.LivePaperVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the live paper section.", - ), - Property("order", int, "vocab:order", required=True, doc="no description available"), - Property( - "type", - str, - "vocab:type", - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_parts", - "openminds.publications.LivePaperResourceItem", - "^vocab:isPartOf", + "openminds.latest.publications.LivePaperResourceItem", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), ] existence_query_properties = ("is_part_of", "name", "order", "type") @@ -70,7 +42,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/live_paper_version.py b/fairgraph/openminds/publications/live_paper_version.py index 9123f1da..10c86baf 100644 --- a/fairgraph/openminds/publications/live_paper_version.py +++ b/fairgraph/openminds/publications/live_paper_version.py @@ -4,315 +4,73 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import LivePaperVersion as OMLivePaperVersion +from fairgraph import KGObject from fairgraph.errors import ResolutionFailure from .live_paper import LivePaper from datetime import date from datetime import datetime -from fairgraph.base import IRI +from openminds import IRI -class LivePaperVersion(KGObject): +class LivePaperVersion(KGObject, OMLivePaperVersion): """ """ + type_ = "https://openminds.om-i.org/types/LivePaperVersion" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/LivePaperVersion" - properties = [ - Property( - "about", - ["openminds.core.DatasetVersion", "openminds.core.ModelVersion", "openminds.core.SoftwareVersion"], - "vocab:about", - multiple=True, - doc="no description available", - ), - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the live paper version.", - ), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the live paper version.", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - required=True, - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property("full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the live paper version."), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the live paper version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "is_alternative_version_of", - "openminds.publications.LivePaperVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.publications.LivePaperVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the live paper version.", - ), - Property( - "license", - "openminds.core.License", - "vocab:license", - required=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property("modification_date", datetime, "vocab:modificationDate", doc="no description available"), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the live paper version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "has_parts", - "openminds.publications.LivePaperSection", - "^vocab:isPartOf", + "openminds.latest.publications.LivePaperSection", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), Property( "is_old_version_of", - "openminds.publications.LivePaperVersion", - "^vocab:isNewVersionOf", + "openminds.latest.publications.LivePaperVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.publications.LivePaper", - "^vocab:hasVersion", + "openminds.latest.publications.LivePaper", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -358,7 +116,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/periodical.py b/fairgraph/openminds/publications/periodical.py index 00301997..5138a30a 100644 --- a/fairgraph/openminds/publications/periodical.py +++ b/fairgraph/openminds/publications/periodical.py @@ -4,41 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import Periodical as OMPeriodical +from fairgraph import KGObject -class Periodical(KGObject): +class Periodical(KGObject, OMPeriodical): """ """ + type_ = "https://openminds.om-i.org/types/Periodical" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/Periodical" - properties = [ - Property("abbreviation", str, "vocab:abbreviation", doc="no description available"), - Property( - "digital_identifier", - "openminds.core.ISSN", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the periodical.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_parts", - "openminds.publications.PublicationVolume", - "^vocab:isPartOf", + "openminds.latest.publications.PublicationVolume", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), ] existence_query_properties = ("abbreviation",) @@ -54,7 +40,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/publication_issue.py b/fairgraph/openminds/publications/publication_issue.py index 3db06256..d4c4e714 100644 --- a/fairgraph/openminds/publications/publication_issue.py +++ b/fairgraph/openminds/publications/publication_issue.py @@ -4,41 +4,34 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import PublicationIssue as OMPublicationIssue +from fairgraph import KGObject -class PublicationIssue(KGObject): +class PublicationIssue(KGObject, OMPublicationIssue): """ """ + type_ = "https://openminds.om-i.org/types/PublicationIssue" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/PublicationIssue" - properties = [ - Property( - "is_part_of", - "openminds.publications.PublicationVolume", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("issue_number", str, "vocab:issueNumber", required=True, doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_parts", - "openminds.publications.ScholarlyArticle", - "^vocab:isPartOf", + "openminds.latest.publications.ScholarlyArticle", + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + 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, scope=None): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/publication_volume.py b/fairgraph/openminds/publications/publication_volume.py index 607ad6d4..a132a231 100644 --- a/fairgraph/openminds/publications/publication_volume.py +++ b/fairgraph/openminds/publications/publication_volume.py @@ -4,35 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.publications import PublicationVolume as OMPublicationVolume +from fairgraph import KGObject -class PublicationVolume(KGObject): +class PublicationVolume(KGObject, OMPublicationVolume): """ """ + type_ = "https://openminds.om-i.org/types/PublicationVolume" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/PublicationVolume" - properties = [ - Property( - "is_part_of", - "openminds.publications.Periodical", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("volume_number", str, "vocab:volumeNumber", required=True, doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_parts", - ["openminds.publications.PublicationIssue", "openminds.publications.ScholarlyArticle"], - "^vocab:isPartOf", + ["openminds.latest.publications.PublicationIssue", "openminds.latest.publications.ScholarlyArticle"], + "isPartOf", reverse="is_part_of", multiple=True, - doc="reverse of 'is_part_of'", + description="reverse of 'is_part_of'", ), ] existence_query_properties = ("is_part_of", "volume_number") @@ -40,7 +32,8 @@ class PublicationVolume(KGObject): def __init__( self, has_parts=None, is_part_of=None, volume_number=None, id=None, data=None, space=None, scope=None ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/publications/scholarly_article.py b/fairgraph/openminds/publications/scholarly_article.py index dfc5e7b7..ae2ce1b9 100644 --- a/fairgraph/openminds/publications/scholarly_article.py +++ b/fairgraph/openminds/publications/scholarly_article.py @@ -4,218 +4,44 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.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 fairgraph.base import IRI +from openminds import IRI -class ScholarlyArticle(KGObject): +class ScholarlyArticle(KGObject, OMScholarlyArticle): """ """ + type_ = "https://openminds.om-i.org/types/ScholarlyArticle" default_space = "livepapers" - type_ = "https://openminds.ebrains.eu/publications/ScholarlyArticle" - properties = [ - Property("abstract", str, "vocab:abstract", doc="no description available"), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - required=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "cited_publications", - ["openminds.core.DOI", "openminds.core.ISBN"], - "vocab:citedPublication", - multiple=True, - doc="no description available", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property("creation_date", date, "vocab:creationDate", doc="no description available"), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "digital_identifier", - "openminds.core.DOI", - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("editors", "openminds.core.Person", "vocab:editor", multiple=True, doc="no description available"), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "iri", - IRI, - "vocab:IRI", - doc="Stands for Internationalized Resource Identifier which is an internet protocol standard that builds on the URI protocol, extending the set of permitted characters to include Unicode/ISO 10646.", - ), - Property( - "is_part_of", - ["openminds.publications.PublicationIssue", "openminds.publications.PublicationVolume"], - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the scholarly article.", - ), - Property( - "license", - "openminds.core.License", - "vocab:license", - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property("modification_date", date, "vocab:modificationDate", doc="no description available"), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the scholarly article.", - ), - Property("pagination", str, "vocab:pagination", doc="no description available"), - Property("publication_date", date, "vocab:publicationDate", required=True, doc="no description available"), - Property( - "publisher", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:publisher", - doc="no description available", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - doc="Term or code used to identify the version of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "related_to", [ - "openminds.computation.ValidationTestVersion", - "openminds.computation.WorkflowRecipeVersion", - "openminds.core.DatasetVersion", - "openminds.core.MetaDataModelVersion", - "openminds.core.ModelVersion", - "openminds.core.SoftwareVersion", - "openminds.core.WebServiceVersion", - "openminds.publications.LivePaperVersion", - "openminds.sands.BrainAtlasVersion", - "openminds.sands.CommonCoordinateSpaceVersion", + "openminds.latest.computation.ValidationTestVersion", + "openminds.latest.computation.WorkflowRecipeVersion", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.MetaDataModelVersion", + "openminds.latest.core.ModelVersion", + "openminds.latest.core.SoftwareVersion", + "openminds.latest.core.WebServiceVersion", + "openminds.latest.publications.LivePaperVersion", + "openminds.latest.sands.BrainAtlasVersion", + "openminds.latest.sands.CommonCoordinateSpaceVersion", ], - "^vocab:relatedPublication", + "relatedPublication", reverse="related_publications", multiple=True, - doc="reverse of 'related_publications'", + description="reverse of 'related_publications'", ), ] existence_query_properties = ("name",) @@ -247,7 +73,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/atlas/atlas_annotation.py b/fairgraph/openminds/sands/atlas/atlas_annotation.py index c44018f8..21b4ff50 100644 --- a/fairgraph/openminds/sands/atlas/atlas_annotation.py +++ b/fairgraph/openminds/sands/atlas/atlas_annotation.py @@ -4,84 +4,18 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import AtlasAnnotation as OMAtlasAnnotation +from fairgraph import EmbeddedMetadata -class AtlasAnnotation(EmbeddedMetadata): +class AtlasAnnotation(EmbeddedMetadata, OMAtlasAnnotation): """ """ - type_ = "https://openminds.ebrains.eu/sands/AtlasAnnotation" - properties = [ - Property( - "anchor_points", - "openminds.core.QuantitativeValue", - "vocab:anchorPoint", - multiple=True, - doc="no description available", - ), - Property( - "criteria", - "openminds.core.ProtocolExecution", - "vocab:criteria", - doc="Aspects or standards on which a judgement or decision is based.", - ), - Property( - "criteria_quality_type", - "openminds.controlled_terms.CriteriaQualityType", - "vocab:criteriaQualityType", - required=True, - doc="Distinct class that defines how the judgement or decision was made for a particular criteria.", - ), - Property( - "criteria_type", - "openminds.controlled_terms.AnnotationCriteriaType", - "vocab:criteriaType", - required=True, - doc="no description available", - ), - Property( - "inspired_by", - "openminds.core.File", - "vocab:inspiredBy", - multiple=True, - doc="Reference to an inspiring element.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the atlas annotation within a particular product.", - ), - Property( - "lateralities", - "openminds.controlled_terms.Laterality", - "vocab:laterality", - multiple=True, - doc="Differentiation between a pair of lateral homologous parts of the body.", - ), - Property( - "preferred_visualization", - "openminds.sands.ViewerSpecification", - "vocab:preferredVisualization", - doc="no description available", - ), - Property( - "specification", - "openminds.core.File", - "vocab:specification", - doc="Detailed and precise presentation of, or proposal for something.", - ), - Property( - "type", - "openminds.controlled_terms.AnnotationType", - "vocab:type", - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + type_ = "https://openminds.om-i.org/types/AtlasAnnotation" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -101,7 +35,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, anchor_points=anchor_points, criteria=criteria, diff --git a/fairgraph/openminds/sands/atlas/brain_atlas.py b/fairgraph/openminds/sands/atlas/brain_atlas.py index 7e722978..ca9d1350 100644 --- a/fairgraph/openminds/sands/atlas/brain_atlas.py +++ b/fairgraph/openminds/sands/atlas/brain_atlas.py @@ -4,124 +4,54 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import BrainAtlas as OMBrainAtlas +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class BrainAtlas(KGObject): +class BrainAtlas(KGObject, OMBrainAtlas): """ """ + type_ = "https://openminds.om-i.org/types/BrainAtlas" default_space = "atlas" - type_ = "https://openminds.ebrains.eu/sands/BrainAtlas" - properties = [ - Property("abbreviation", str, "vocab:abbreviation", doc="no description available"), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - required=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the brain atlas.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.ISBN", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", str, "vocab:fullName", required=True, doc="Whole, non-abbreviated name of the brain atlas." - ), - Property( - "has_terminology", - "openminds.sands.ParcellationTerminology", - "vocab:hasTerminology", - required=True, - doc="no description available", - ), - Property( - "has_versions", - "openminds.sands.BrainAtlasVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the brain atlas."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "ontology_identifier", - IRI, - "vocab:ontologyIdentifier", - doc="Term or code used to identify the brain atlas registered within a particular ontology.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the brain atlas.", - ), - Property( - "used_species", "openminds.controlled_terms.Species", "vocab:usedSpecies", doc="no description available" - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_input_to", - "openminds.core.DatasetVersion", - "^vocab:inputData", + "openminds.latest.core.DatasetVersion", + "inputData", reverse="input_data", multiple=True, - doc="reverse of 'input_data'", + description="reverse of 'input_data'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -154,7 +84,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/atlas/brain_atlas_version.py b/fairgraph/openminds/sands/atlas/brain_atlas_version.py index 84019085..8acd3abb 100644 --- a/fairgraph/openminds/sands/atlas/brain_atlas_version.py +++ b/fairgraph/openminds/sands/atlas/brain_atlas_version.py @@ -4,348 +4,79 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import BrainAtlasVersion as OMBrainAtlasVersion +from fairgraph import KGObject from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class BrainAtlasVersion(KGObject): +class BrainAtlasVersion(KGObject, OMBrainAtlasVersion): """ """ + type_ = "https://openminds.om-i.org/types/BrainAtlasVersion" default_space = "atlas" - type_ = "https://openminds.ebrains.eu/sands/BrainAtlasVersion" - properties = [ - Property("abbreviation", str, "vocab:abbreviation", doc="no description available"), - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the brain atlas version.", - ), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "coordinate_space", - "openminds.sands.CommonCoordinateSpaceVersion", - "vocab:coordinateSpace", - required=True, - doc="Two or three dimensional geometric setting.", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the brain atlas version.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.ISBN", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property("full_name", str, "vocab:fullName", doc="Whole, non-abbreviated name of the brain atlas version."), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property( - "has_terminology", - "openminds.sands.ParcellationTerminologyVersion", - "vocab:hasTerminology", - required=True, - doc="no description available", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the brain atlas version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "is_alternative_version_of", - "openminds.sands.BrainAtlasVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.sands.BrainAtlasVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the brain atlas version.", - ), - Property( - "license", - "openminds.core.License", - "vocab:license", - required=True, - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property("major_version_identifier", str, "vocab:majorVersionIdentifier", doc="no description available"), - Property( - "ontology_identifier", - IRI, - "vocab:ontologyIdentifier", - doc="Term or code used to identify the brain atlas version registered within a particular ontology.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the brain atlas version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "type", - "openminds.controlled_terms.AtlasType", - "vocab:type", - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - Property( - "used_specimens", - [ - "openminds.core.Subject", - "openminds.core.SubjectGroup", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - ], - "vocab:usedSpecimen", - multiple=True, - doc="no description available", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_input_to", [ - "openminds.computation.DataAnalysis", - "openminds.core.DatasetVersion", - "openminds.core.ProtocolExecution", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.ProtocolExecution", ], - ["^vocab:input", "^vocab:inputData"], + ["input", "inputData"], reverse=["input_data", "inputs"], multiple=True, - doc="reverse of input_data, inputs", + description="reverse of input_data, inputs", ), Property( "is_old_version_of", - "openminds.sands.BrainAtlasVersion", - "^vocab:isNewVersionOf", + "openminds.latest.sands.BrainAtlasVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup", "openminds.core.SoftwareVersion"], - "^vocab:hasPart", + [ + "openminds.latest.core.Project", + "openminds.latest.core.ResearchProductGroup", + "openminds.latest.core.SoftwareVersion", + ], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_version_of", - "openminds.sands.BrainAtlas", - "^vocab:hasVersion", + "openminds.latest.sands.BrainAtlas", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -396,7 +127,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/atlas/common_coordinate_space.py b/fairgraph/openminds/sands/atlas/common_coordinate_space.py index a1e85f6f..a374bf06 100644 --- a/fairgraph/openminds/sands/atlas/common_coordinate_space.py +++ b/fairgraph/openminds/sands/atlas/common_coordinate_space.py @@ -4,133 +4,62 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import CommonCoordinateSpace as OMCommonCoordinateSpace +from fairgraph import KGObject -from fairgraph.base import IRI +from openminds import IRI -class CommonCoordinateSpace(KGObject): +class CommonCoordinateSpace(KGObject, OMCommonCoordinateSpace): """ """ + type_ = "https://openminds.om-i.org/types/CommonCoordinateSpace" default_space = "atlas" - type_ = "https://openminds.ebrains.eu/sands/CommonCoordinateSpace" - properties = [ - Property("abbreviation", str, "vocab:abbreviation", doc="no description available"), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "description", - str, - "vocab:description", - required=True, - doc="Longer statement or account giving the characteristics of the common coordinate space.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.ISBN", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_name", - str, - "vocab:fullName", - required=True, - doc="Whole, non-abbreviated name of the common coordinate space.", - ), - Property( - "has_versions", - "openminds.sands.CommonCoordinateSpaceVersion", - "vocab:hasVersion", - multiple=True, - required=True, - doc="Reference to variants of an original.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the common coordinate space."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "ontology_identifiers", - str, - "vocab:ontologyIdentifier", - multiple=True, - doc="Term or code used to identify the common coordinate space registered within a particular ontology.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the common coordinate space.", - ), - Property( - "used_species", - "openminds.controlled_terms.Species", - "vocab:usedSpecies", - required=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_input_to", - "openminds.core.DatasetVersion", - "^vocab:inputData", + "openminds.latest.core.DatasetVersion", + "inputData", reverse="input_data", multiple=True, - doc="reverse of 'input_data'", + description="reverse of 'input_data'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup"], - "^vocab:hasPart", + ["openminds.latest.core.Project", "openminds.latest.core.ResearchProductGroup"], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "versions": "has_versions", "alias": "short_name"} @@ -163,7 +92,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/atlas/common_coordinate_space_version.py b/fairgraph/openminds/sands/atlas/common_coordinate_space_version.py index 2cdbf49d..0dae2548 100644 --- a/fairgraph/openminds/sands/atlas/common_coordinate_space_version.py +++ b/fairgraph/openminds/sands/atlas/common_coordinate_space_version.py @@ -4,377 +4,95 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import CommonCoordinateSpaceVersion as OMCommonCoordinateSpaceVersion +from fairgraph import KGObject from datetime import date -from fairgraph.base import IRI +from openminds import IRI -class CommonCoordinateSpaceVersion(KGObject): +class CommonCoordinateSpaceVersion(KGObject, OMCommonCoordinateSpaceVersion): """ """ + type_ = "https://openminds.om-i.org/types/CommonCoordinateSpaceVersion" default_space = "atlas" - type_ = "https://openminds.ebrains.eu/sands/CommonCoordinateSpaceVersion" - properties = [ - Property("abbreviation", str, "vocab:abbreviation", doc="no description available"), - Property( - "accessibility", - "openminds.controlled_terms.ProductAccessibility", - "vocab:accessibility", - required=True, - doc="Level to which something is accessible to the common coordinate space version.", - ), - Property( - "anatomical_axes_orientation", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "vocab:anatomicalAxesOrientation", - required=True, - doc="Relation between reference planes used in anatomy and mathematics.", - ), - Property( - "authors", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:author", - multiple=True, - doc="Creator of a literary or creative work, as well as a dataset publication.", - ), - Property( - "axes_origins", - "openminds.core.QuantitativeValue", - "vocab:axesOrigin", - multiple=True, - required=True, - doc="Special point in a coordinate system used as a fixed point of reference for the geometry of the surrounding space.", - ), - Property( - "copyright", - "openminds.core.Copyright", - "vocab:copyright", - doc="Exclusive and assignable legal right of an originator to reproduce, publish, sell, or distribute the matter and form of a creative work for a defined time period.", - ), - Property( - "custodians", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:custodian", - multiple=True, - doc="The 'custodian' is a legal person who is responsible for the content and quality of the data, metadata, and/or code of a research product.", - ), - Property( - "default_images", - "openminds.core.File", - "vocab:defaultImage", - multiple=True, - doc="Two or three dimensional image that particluarly represents a specific coordinate space.", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the common coordinate space version.", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.ISBN", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property( - "full_documentation", - ["openminds.core.DOI", "openminds.core.File", "openminds.core.ISBN", "openminds.core.WebResource"], - "vocab:fullDocumentation", - required=True, - doc="Non-abridged instructions, comments, and information for using a particular product.", - ), - Property( - "full_name", - str, - "vocab:fullName", - doc="Whole, non-abbreviated name of the common coordinate space version.", - ), - Property( - "funding", - "openminds.core.Funding", - "vocab:funding", - multiple=True, - doc="Money provided by a legal person for a particular purpose.", - ), - Property("homepage", IRI, "vocab:homepage", doc="Main website of the common coordinate space version."), - Property( - "how_to_cite", - str, - "vocab:howToCite", - doc="Preferred format for citing a particular object or legal person.", - ), - Property( - "is_alternative_version_of", - "openminds.sands.CommonCoordinateSpaceVersion", - "vocab:isAlternativeVersionOf", - multiple=True, - doc="Reference to an original form where the essence was preserved, but presented in an alternative form.", - ), - Property( - "is_new_version_of", - "openminds.sands.CommonCoordinateSpaceVersion", - "vocab:isNewVersionOf", - doc="Reference to a previous (potentially outdated) particular form of something.", - ), - Property( - "keywords", - [ - "openminds.controlled_terms.ActionStatusType", - "openminds.controlled_terms.AgeCategory", - "openminds.controlled_terms.AnalysisTechnique", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "openminds.controlled_terms.AnatomicalIdentificationType", - "openminds.controlled_terms.AnatomicalPlane", - "openminds.controlled_terms.AnnotationCriteriaType", - "openminds.controlled_terms.AnnotationType", - "openminds.controlled_terms.AtlasType", - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalProcess", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.ChemicalMixtureType", - "openminds.controlled_terms.Colormap", - "openminds.controlled_terms.ContributionType", - "openminds.controlled_terms.CranialWindowConstructionType", - "openminds.controlled_terms.CranialWindowReinforcementType", - "openminds.controlled_terms.CriteriaQualityType", - "openminds.controlled_terms.DataType", - "openminds.controlled_terms.DeviceType", - "openminds.controlled_terms.DifferenceMeasure", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.EducationalLevel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.EthicsAssessment", - "openminds.controlled_terms.ExperimentalApproach", - "openminds.controlled_terms.FileBundleGrouping", - "openminds.controlled_terms.FileRepositoryType", - "openminds.controlled_terms.FileUsageRole", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.Language", - "openminds.controlled_terms.Laterality", - "openminds.controlled_terms.LearningResourceType", - "openminds.controlled_terms.MRAcquisitionType", - "openminds.controlled_terms.MRIPulseSequence", - "openminds.controlled_terms.MRIWeighting", - "openminds.controlled_terms.MeasuredQuantity", - "openminds.controlled_terms.MeasuredSignalType", - "openminds.controlled_terms.MetaDataModelType", - "openminds.controlled_terms.ModelAbstractionLevel", - "openminds.controlled_terms.ModelScope", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OperatingDevice", - "openminds.controlled_terms.OperatingSystem", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.PatchClampVariation", - "openminds.controlled_terms.PreparationType", - "openminds.controlled_terms.ProductAccessibility", - "openminds.controlled_terms.ProgrammingLanguage", - "openminds.controlled_terms.QualitativeOverlap", - "openminds.controlled_terms.SemanticDataType", - "openminds.controlled_terms.Service", - "openminds.controlled_terms.SetupType", - "openminds.controlled_terms.SoftwareApplicationCategory", - "openminds.controlled_terms.SoftwareFeature", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.StimulationApproach", - "openminds.controlled_terms.StimulationTechnique", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.SubjectAttribute", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.Technique", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.Terminology", - "openminds.controlled_terms.TissueSampleAttribute", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.TypeOfUncertainty", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.UnitOfMeasurement", - "openminds.controlled_terms.VisualStimulusType", - ], - "vocab:keyword", - multiple=True, - doc="Significant word or concept that are representative of the common coordinate space version.", - ), - Property( - "license", - "openminds.core.License", - "vocab:license", - doc="Grant by a party to another party as an element of an agreement between those parties that permits to do, use, or own something.", - ), - Property( - "native_unit", - "openminds.controlled_terms.UnitOfMeasurement", - "vocab:nativeUnit", - required=True, - doc="Determinate quantity used in the original measurement.", - ), - Property( - "ontology_identifiers", - str, - "vocab:ontologyIdentifier", - multiple=True, - doc="Term or code used to identify the common coordinate space version registered within a particular ontology.", - ), - Property( - "other_contributions", - "openminds.core.Contribution", - "vocab:otherContribution", - multiple=True, - doc="Giving or supplying of something (such as money or time) as a part or share other than what is covered elsewhere.", - ), - Property( - "related_publications", - [ - "openminds.core.DOI", - "openminds.core.HANDLE", - "openminds.core.ISBN", - "openminds.core.ISSN", - "openminds.publications.Book", - "openminds.publications.Chapter", - "openminds.publications.ScholarlyArticle", - ], - "vocab:relatedPublication", - multiple=True, - doc="Reference to something that was made available for the general public to see or buy.", - ), - Property( - "release_date", - date, - "vocab:releaseDate", - required=True, - doc="Fixed date on which a product is due to become or was made available for the general public to see or buy", - ), - Property( - "repository", - "openminds.core.FileRepository", - "vocab:repository", - doc="Place, room, or container where something is deposited or stored.", - ), - Property( - "short_name", - str, - "vocab:shortName", - required=True, - doc="Shortened or fully abbreviated name of the common coordinate space version.", - ), - Property( - "support_channels", - str, - "vocab:supportChannel", - multiple=True, - doc="Way of communication used to interact with users or customers.", - ), - Property( - "used_specimens", - [ - "openminds.core.Subject", - "openminds.core.SubjectGroup", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - ], - "vocab:usedSpecimen", - multiple=True, - doc="no description available", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - required=True, - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "comments", - "openminds.core.Comment", - "^vocab:about", + "openminds.latest.core.Comment", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), Property( "is_coordinate_space_of", - ["openminds.sands.BrainAtlasVersion", "openminds.sands.CustomAnnotation"], - "^vocab:coordinateSpace", + ["openminds.latest.sands.BrainAtlasVersion", "openminds.latest.sands.CustomAnnotation"], + "coordinateSpace", reverse="coordinate_space", multiple=True, - doc="reverse of 'coordinate_space'", + description="reverse of 'coordinate_space'", ), Property( "is_input_to", [ - "openminds.computation.DataAnalysis", - "openminds.core.DatasetVersion", - "openminds.core.ProtocolExecution", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.ProtocolExecution", ], - ["^vocab:input", "^vocab:inputData"], + ["input", "inputData"], reverse=["input_data", "inputs"], multiple=True, - doc="reverse of input_data, inputs", + description="reverse of input_data, inputs", ), Property( "is_old_version_of", - "openminds.sands.CommonCoordinateSpaceVersion", - "^vocab:isNewVersionOf", + "openminds.latest.sands.CommonCoordinateSpaceVersion", + "isNewVersionOf", reverse="is_new_version_of", multiple=True, - doc="reverse of 'is_new_version_of'", + description="reverse of 'is_new_version_of'", ), Property( "is_part_of", - ["openminds.core.Project", "openminds.core.ResearchProductGroup", "openminds.core.SoftwareVersion"], - "^vocab:hasPart", + [ + "openminds.latest.core.Project", + "openminds.latest.core.ResearchProductGroup", + "openminds.latest.core.SoftwareVersion", + ], + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "is_version_of", - "openminds.sands.CommonCoordinateSpace", - "^vocab:hasVersion", + "openminds.latest.sands.CommonCoordinateSpace", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "learning_resources", - "openminds.publications.LearningResource", - "^vocab:about", + "openminds.latest.publications.LearningResource", + "about", reverse="about", multiple=True, - doc="reverse of 'about'", + description="reverse of 'about'", ), ] aliases = {"name": "full_name", "alias": "short_name"} @@ -437,7 +155,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/atlas/parcellation_entity.py b/fairgraph/openminds/sands/atlas/parcellation_entity.py index d3279917..ed489a6d 100644 --- a/fairgraph/openminds/sands/atlas/parcellation_entity.py +++ b/fairgraph/openminds/sands/atlas/parcellation_entity.py @@ -4,127 +4,84 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import ParcellationEntity as OMParcellationEntity +from fairgraph import KGObject -class ParcellationEntity(KGObject): +class ParcellationEntity(KGObject, OMParcellationEntity): """ """ + type_ = "https://openminds.om-i.org/types/ParcellationEntity" default_space = "atlas" - type_ = "https://openminds.ebrains.eu/sands/ParcellationEntity" - properties = [ - Property("abbreviation", str, "vocab:abbreviation", doc="no description available"), - Property("alternate_names", str, "vocab:alternateName", multiple=True, doc="no description available"), - Property( - "definition", - str, - "vocab:definition", - doc="Short, but precise statement of the meaning of a word, word group, sign or a symbol.", - ), - Property( - "has_parents", - "openminds.sands.ParcellationEntity", - "vocab:hasParent", - multiple=True, - doc="Reference to a parent object or legal person.", - ), - Property( - "has_versions", - "openminds.sands.ParcellationEntityVersion", - "vocab:hasVersion", - multiple=True, - doc="Reference to variants of an original.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the parcellation entity.", - ), - Property( - "ontology_identifiers", - str, - "vocab:ontologyIdentifier", - multiple=True, - doc="Term or code used to identify the parcellation entity registered within a particular ontology.", - ), - Property( - "related_uberon_term", - ["openminds.controlled_terms.Organ", "openminds.controlled_terms.UBERONParcellation"], - "vocab:relatedUBERONTerm", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_children", - ["openminds.sands.ParcellationEntity", "openminds.sands.ParcellationEntityVersion"], - "^vocab:hasParent", + ["openminds.latest.sands.ParcellationEntity", "openminds.latest.sands.ParcellationEntityVersion"], + "hasParent", reverse="has_parents", multiple=True, - doc="reverse of 'has_parents'", + description="reverse of 'has_parents'", ), Property( "is_location_of", [ - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", ], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes"], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], multiple=True, - doc="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] aliases = {"versions": "has_versions"} @@ -152,7 +109,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/atlas/parcellation_entity_version.py b/fairgraph/openminds/sands/atlas/parcellation_entity_version.py index 8616a577..9ad33086 100644 --- a/fairgraph/openminds/sands/atlas/parcellation_entity_version.py +++ b/fairgraph/openminds/sands/atlas/parcellation_entity_version.py @@ -4,97 +4,39 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import ParcellationEntityVersion as OMParcellationEntityVersion +from fairgraph import KGObject -class ParcellationEntityVersion(KGObject): +class ParcellationEntityVersion(KGObject, OMParcellationEntityVersion): """ """ + type_ = "https://openminds.om-i.org/types/ParcellationEntityVersion" default_space = "atlas" - type_ = "https://openminds.ebrains.eu/sands/ParcellationEntityVersion" - properties = [ - Property("abbreviation", str, "vocab:abbreviation", doc="no description available"), - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property("alternate_names", str, "vocab:alternateName", multiple=True, doc="no description available"), - Property("corrected_name", str, "vocab:correctedName", doc="no description available"), - Property( - "has_annotations", - "openminds.sands.AtlasAnnotation", - "vocab:hasAnnotation", - multiple=True, - doc="no description available", - ), - Property( - "has_parents", - ["openminds.sands.ParcellationEntity", "openminds.sands.ParcellationEntityVersion"], - "vocab:hasParent", - multiple=True, - doc="Reference to a parent object or legal person.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the parcellation entity version.", - ), - Property( - "ontology_identifiers", - str, - "vocab:ontologyIdentifier", - multiple=True, - doc="Term or code used to identify the parcellation entity version registered within a particular ontology.", - ), - Property( - "relation_assessments", - ["openminds.sands.QualitativeRelationAssessment", "openminds.sands.QuantitativeRelationAssessment"], - "vocab:relationAssessment", - multiple=True, - doc="no description available", - ), - Property( - "version_identifier", - str, - "vocab:versionIdentifier", - required=True, - doc="Term or code used to identify the version of something.", - ), - Property( - "version_innovation", - str, - "vocab:versionInnovation", - doc="Documentation on what changed in comparison to a previously published form of something.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "has_children", - "openminds.sands.ParcellationEntityVersion", - "^vocab:hasParent", + "openminds.latest.sands.ParcellationEntityVersion", + "hasParent", reverse="has_parents", multiple=True, - doc="reverse of 'has_parents'", + description="reverse of 'has_parents'", ), Property( "is_location_of", [ - "openminds.core.ServiceLink", - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", + "openminds.latest.core.ServiceLink", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", ], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes", "^vocab:dataLocation"], + ["anatomicalLocation", "anatomicalLocationOfElectrodes", "dataLocation"], reverse=[ "anatomical_location", "anatomical_locations", @@ -102,66 +44,66 @@ class ParcellationEntityVersion(KGObject): "data_location", ], multiple=True, - doc="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes, data_location", + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes, data_location", ), Property( "is_part_of", - "openminds.sands.ParcellationTerminologyVersion", - "^vocab:hasEntity", + "openminds.latest.sands.ParcellationTerminologyVersion", + "hasEntity", reverse="has_entities", multiple=True, - doc="reverse of 'has_entities'", + description="reverse of 'has_entities'", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "is_version_of", - "openminds.sands.ParcellationEntity", - "^vocab:hasVersion", + "openminds.latest.sands.ParcellationEntity", + "hasVersion", reverse="has_versions", multiple=True, - doc="reverse of 'has_versions'", + description="reverse of 'has_versions'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name", "version_identifier") @@ -192,7 +134,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/atlas/parcellation_terminology.py b/fairgraph/openminds/sands/atlas/parcellation_terminology.py index b853aec2..fa7ad8b9 100644 --- a/fairgraph/openminds/sands/atlas/parcellation_terminology.py +++ b/fairgraph/openminds/sands/atlas/parcellation_terminology.py @@ -4,40 +4,18 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import ParcellationTerminology as OMParcellationTerminology +from fairgraph import EmbeddedMetadata -class ParcellationTerminology(EmbeddedMetadata): +class ParcellationTerminology(EmbeddedMetadata, OMParcellationTerminology): """ """ - type_ = "https://openminds.ebrains.eu/sands/ParcellationTerminology" - properties = [ - Property( - "data_locations", - "openminds.core.File", - "vocab:dataLocation", - multiple=True, - doc="no description available", - ), - Property( - "has_entities", - "openminds.sands.ParcellationEntity", - "vocab:hasEntity", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "ontology_identifiers", - str, - "vocab:ontologyIdentifier", - multiple=True, - doc="Term or code used to identify the parcellation terminology registered within a particular ontology.", - ), - ] + type_ = "https://openminds.om-i.org/types/ParcellationTerminology" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -50,7 +28,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, data_locations=data_locations, has_entities=has_entities, diff --git a/fairgraph/openminds/sands/atlas/parcellation_terminology_version.py b/fairgraph/openminds/sands/atlas/parcellation_terminology_version.py index d9d98398..93ca650b 100644 --- a/fairgraph/openminds/sands/atlas/parcellation_terminology_version.py +++ b/fairgraph/openminds/sands/atlas/parcellation_terminology_version.py @@ -4,40 +4,18 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import ParcellationTerminologyVersion as OMParcellationTerminologyVersion +from fairgraph import EmbeddedMetadata -class ParcellationTerminologyVersion(EmbeddedMetadata): +class ParcellationTerminologyVersion(EmbeddedMetadata, OMParcellationTerminologyVersion): """ """ - type_ = "https://openminds.ebrains.eu/sands/ParcellationTerminologyVersion" - properties = [ - Property( - "data_locations", - "openminds.core.File", - "vocab:dataLocation", - multiple=True, - doc="no description available", - ), - Property( - "has_entities", - "openminds.sands.ParcellationEntityVersion", - "vocab:hasEntity", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "ontology_identifiers", - str, - "vocab:ontologyIdentifier", - multiple=True, - doc="Term or code used to identify the parcellation terminology version registered within a particular ontology.", - ), - ] + type_ = "https://openminds.om-i.org/types/ParcellationTerminologyVersion" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -50,7 +28,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, data_locations=data_locations, has_entities=has_entities, diff --git a/fairgraph/openminds/sands/mathematical_shapes/circle.py b/fairgraph/openminds/sands/mathematical_shapes/circle.py index cdf8c833..1951488b 100644 --- a/fairgraph/openminds/sands/mathematical_shapes/circle.py +++ b/fairgraph/openminds/sands/mathematical_shapes/circle.py @@ -4,22 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import Circle as OMCircle +from fairgraph import EmbeddedMetadata -class Circle(EmbeddedMetadata): +class Circle(EmbeddedMetadata, OMCircle): """ """ - type_ = "https://openminds.ebrains.eu/sands/Circle" - properties = [ - Property( - "radius", "openminds.core.QuantitativeValue", "vocab:radius", required=True, doc="no description available" - ), - ] + type_ = "https://openminds.om-i.org/types/Circle" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, radius=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, radius=radius) + return EmbeddedMetadata.__init__(self, data=data, radius=radius) diff --git a/fairgraph/openminds/sands/mathematical_shapes/ellipse.py b/fairgraph/openminds/sands/mathematical_shapes/ellipse.py index cbd9358f..567b40b1 100644 --- a/fairgraph/openminds/sands/mathematical_shapes/ellipse.py +++ b/fairgraph/openminds/sands/mathematical_shapes/ellipse.py @@ -4,33 +4,21 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import Ellipse as OMEllipse +from fairgraph import EmbeddedMetadata -class Ellipse(EmbeddedMetadata): +class Ellipse(EmbeddedMetadata, OMEllipse): """ """ - type_ = "https://openminds.ebrains.eu/sands/Ellipse" - properties = [ - Property( - "semi_major_axis", - "openminds.core.QuantitativeValue", - "vocab:semiMajorAxis", - required=True, - doc="no description available", - ), - Property( - "semi_minor_axis", - "openminds.core.QuantitativeValue", - "vocab:semiMinorAxis", - required=True, - doc="no description available", - ), - ] + type_ = "https://openminds.om-i.org/types/Ellipse" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, semi_major_axis=None, semi_minor_axis=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, semi_major_axis=semi_major_axis, semi_minor_axis=semi_minor_axis) + return EmbeddedMetadata.__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/sands/mathematical_shapes/rectangle.py index 24a2d619..8894f237 100644 --- a/fairgraph/openminds/sands/mathematical_shapes/rectangle.py +++ b/fairgraph/openminds/sands/mathematical_shapes/rectangle.py @@ -4,25 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import Rectangle as OMRectangle +from fairgraph import EmbeddedMetadata -class Rectangle(EmbeddedMetadata): +class Rectangle(EmbeddedMetadata, OMRectangle): """ """ - type_ = "https://openminds.ebrains.eu/sands/Rectangle" - properties = [ - Property( - "length", "openminds.core.QuantitativeValue", "vocab:length", required=True, doc="no description available" - ), - Property( - "width", "openminds.core.QuantitativeValue", "vocab:width", required=True, doc="no description available" - ), - ] + type_ = "https://openminds.om-i.org/types/Rectangle" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, length=None, width=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, length=length, width=width) + return EmbeddedMetadata.__init__(self, data=data, length=length, width=width) diff --git a/fairgraph/openminds/sands/miscellaneous/anatomical_target_position.py b/fairgraph/openminds/sands/miscellaneous/anatomical_target_position.py index 3f283067..57139a50 100644 --- a/fairgraph/openminds/sands/miscellaneous/anatomical_target_position.py +++ b/fairgraph/openminds/sands/miscellaneous/anatomical_target_position.py @@ -4,55 +4,18 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import AnatomicalTargetPosition as OMAnatomicalTargetPosition +from fairgraph import EmbeddedMetadata -class AnatomicalTargetPosition(EmbeddedMetadata): +class AnatomicalTargetPosition(EmbeddedMetadata, OMAnatomicalTargetPosition): """ """ - type_ = "https://openminds.ebrains.eu/sands/AnatomicalTargetPosition" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "anatomical_targets", - [ - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.UBERONParcellation", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:anatomicalTarget", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "spatial_locations", - "openminds.sands.CoordinatePoint", - "vocab:spatialLocation", - multiple=True, - doc="no description available", - ), - Property( - "target_identification_type", - "openminds.controlled_terms.AnatomicalIdentificationType", - "vocab:targetIdentificationType", - required=True, - doc="no description available", - ), - ] + type_ = "https://openminds.om-i.org/types/AnatomicalTargetPosition" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -66,7 +29,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, additional_remarks=additional_remarks, anatomical_targets=anatomical_targets, diff --git a/fairgraph/openminds/sands/miscellaneous/coordinate_point.py b/fairgraph/openminds/sands/miscellaneous/coordinate_point.py index dc57ee06..06c643f3 100644 --- a/fairgraph/openminds/sands/miscellaneous/coordinate_point.py +++ b/fairgraph/openminds/sands/miscellaneous/coordinate_point.py @@ -4,34 +4,19 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import CoordinatePoint as OMCoordinatePoint +from fairgraph import EmbeddedMetadata -class CoordinatePoint(EmbeddedMetadata): +class CoordinatePoint(EmbeddedMetadata, OMCoordinatePoint): """ """ - type_ = "https://openminds.ebrains.eu/sands/CoordinatePoint" - properties = [ - Property( - "coordinate_space", - ["openminds.sands.CommonCoordinateSpaceVersion", "openminds.sands.CustomCoordinateSpace"], - "vocab:coordinateSpace", - required=True, - doc="Two or three dimensional geometric setting.", - ), - Property( - "coordinates", - "openminds.core.QuantitativeValue", - "vocab:coordinates", - multiple=True, - required=True, - doc="Pair or triplet of numbers defining a location in a given coordinate space.", - ), - ] + type_ = "https://openminds.om-i.org/types/CoordinatePoint" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__(self, coordinate_space=None, coordinates=None, id=None, data=None, space=None, scope=None): - return super().__init__(data=data, coordinate_space=coordinate_space, coordinates=coordinates) + return EmbeddedMetadata.__init__(self, data=data, coordinate_space=coordinate_space, coordinates=coordinates) diff --git a/fairgraph/openminds/sands/miscellaneous/qualitative_relation_assessment.py b/fairgraph/openminds/sands/miscellaneous/qualitative_relation_assessment.py index 299a355e..d822bb33 100644 --- a/fairgraph/openminds/sands/miscellaneous/qualitative_relation_assessment.py +++ b/fairgraph/openminds/sands/miscellaneous/qualitative_relation_assessment.py @@ -4,47 +4,23 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import QualitativeRelationAssessment as OMQualitativeRelationAssessment +from fairgraph import EmbeddedMetadata -class QualitativeRelationAssessment(EmbeddedMetadata): +class QualitativeRelationAssessment(EmbeddedMetadata, OMQualitativeRelationAssessment): """ """ - type_ = "https://openminds.ebrains.eu/sands/QualitativeRelationAssessment" - properties = [ - Property( - "criteria", - "openminds.core.ProtocolExecution", - "vocab:criteria", - doc="Aspects or standards on which a judgement or decision is based.", - ), - Property( - "in_relation_to", - [ - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:inRelationTo", - required=True, - doc="Reference to a related element.", - ), - Property( - "qualitative_overlap", - "openminds.controlled_terms.QualitativeOverlap", - "vocab:qualitativeOverlap", - required=True, - doc="Semantic characterization of how much two things occupy the same space.", - ), - ] + type_ = "https://openminds.om-i.org/types/QualitativeRelationAssessment" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( self, criteria=None, in_relation_to=None, qualitative_overlap=None, id=None, data=None, space=None, scope=None ): - return super().__init__( - data=data, criteria=criteria, in_relation_to=in_relation_to, qualitative_overlap=qualitative_overlap + return EmbeddedMetadata.__init__( + self, data=data, criteria=criteria, in_relation_to=in_relation_to, qualitative_overlap=qualitative_overlap ) diff --git a/fairgraph/openminds/sands/miscellaneous/quantitative_relation_assessment.py b/fairgraph/openminds/sands/miscellaneous/quantitative_relation_assessment.py index 2f0b0221..4d1a6166 100644 --- a/fairgraph/openminds/sands/miscellaneous/quantitative_relation_assessment.py +++ b/fairgraph/openminds/sands/miscellaneous/quantitative_relation_assessment.py @@ -4,43 +4,27 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import QuantitativeRelationAssessment as OMQuantitativeRelationAssessment +from fairgraph import EmbeddedMetadata -class QuantitativeRelationAssessment(EmbeddedMetadata): +class QuantitativeRelationAssessment(EmbeddedMetadata, OMQuantitativeRelationAssessment): """ """ - type_ = "https://openminds.ebrains.eu/sands/QuantitativeRelationAssessment" - properties = [ - Property( - "criteria", - "openminds.core.ProtocolExecution", - "vocab:criteria", - doc="Aspects or standards on which a judgement or decision is based.", - ), - Property( - "in_relation_to", - "openminds.sands.ParcellationEntityVersion", - "vocab:inRelationTo", - required=True, - doc="Reference to a related element.", - ), - Property( - "quantitative_overlap", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:quantitativeOverlap", - required=True, - doc="Numerical characterization of how much two things occupy the same space.", - ), - ] + type_ = "https://openminds.om-i.org/types/QuantitativeRelationAssessment" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( self, criteria=None, in_relation_to=None, quantitative_overlap=None, id=None, data=None, space=None, scope=None ): - return super().__init__( - data=data, criteria=criteria, in_relation_to=in_relation_to, quantitative_overlap=quantitative_overlap + return EmbeddedMetadata.__init__( + self, + data=data, + criteria=criteria, + in_relation_to=in_relation_to, + quantitative_overlap=quantitative_overlap, ) diff --git a/fairgraph/openminds/sands/miscellaneous/single_color.py b/fairgraph/openminds/sands/miscellaneous/single_color.py index fcee185e..e3980294 100644 --- a/fairgraph/openminds/sands/miscellaneous/single_color.py +++ b/fairgraph/openminds/sands/miscellaneous/single_color.py @@ -4,22 +4,21 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import SingleColor as OMSingleColor +from fairgraph import KGObject -class SingleColor(KGObject): +class SingleColor(KGObject, OMSingleColor): """ """ + type_ = "https://openminds.om-i.org/types/SingleColor" default_space = "atlas" - type_ = "https://openminds.ebrains.eu/sands/SingleColor" - properties = [ - Property("value", str, "vocab:value", required=True, doc="Entry for a property."), - ] + # 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, scope=None): - return super().__init__(id=id, space=space, scope=scope, data=data, value=value) + return KGObject.__init__(self, id=id, space=space, scope=scope, data=data, value=value) diff --git a/fairgraph/openminds/sands/miscellaneous/viewer_specification.py b/fairgraph/openminds/sands/miscellaneous/viewer_specification.py index fa9fdb56..9965a0d8 100644 --- a/fairgraph/openminds/sands/miscellaneous/viewer_specification.py +++ b/fairgraph/openminds/sands/miscellaneous/viewer_specification.py @@ -4,44 +4,18 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import ViewerSpecification as OMViewerSpecification +from fairgraph import EmbeddedMetadata -class ViewerSpecification(EmbeddedMetadata): +class ViewerSpecification(EmbeddedMetadata, OMViewerSpecification): """ """ - type_ = "https://openminds.ebrains.eu/sands/ViewerSpecification" - properties = [ - Property( - "additional_remarks", - str, - "vocab:additionalRemarks", - doc="Mention of what deserves additional attention or notice.", - ), - Property( - "anchor_points", - "openminds.core.QuantitativeValue", - "vocab:anchorPoint", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "camera_position", - "openminds.sands.CoordinatePoint", - "vocab:cameraPosition", - doc="no description available", - ), - Property( - "preferred_display_color", - ["openminds.controlled_terms.Colormap", "openminds.sands.SingleColor"], - "vocab:preferredDisplayColor", - doc="no description available", - ), - ] + type_ = "https://openminds.om-i.org/types/ViewerSpecification" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -55,7 +29,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, additional_remarks=additional_remarks, anchor_points=anchor_points, diff --git a/fairgraph/openminds/sands/non_atlas/custom_anatomical_entity.py b/fairgraph/openminds/sands/non_atlas/custom_anatomical_entity.py index 4fb7e9ae..61b876d8 100644 --- a/fairgraph/openminds/sands/non_atlas/custom_anatomical_entity.py +++ b/fairgraph/openminds/sands/non_atlas/custom_anatomical_entity.py @@ -4,103 +4,76 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import CustomAnatomicalEntity as OMCustomAnatomicalEntity +from fairgraph import KGObject -class CustomAnatomicalEntity(KGObject): +class CustomAnatomicalEntity(KGObject, OMCustomAnatomicalEntity): """ """ + type_ = "https://openminds.om-i.org/types/CustomAnatomicalEntity" default_space = "spatial" - type_ = "https://openminds.ebrains.eu/sands/CustomAnatomicalEntity" - properties = [ - Property( - "has_annotations", - "openminds.sands.CustomAnnotation", - "vocab:hasAnnotation", - multiple=True, - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the custom anatomical entity.", - ), - Property( - "related_uberon_term", - ["openminds.controlled_terms.Organ", "openminds.controlled_terms.UBERONParcellation"], - "vocab:relatedUBERONTerm", - doc="no description available", - ), - Property( - "relation_assessments", - ["openminds.sands.QualitativeRelationAssessment", "openminds.sands.QuantitativeRelationAssessment"], - "vocab:relationAssessment", - multiple=True, - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_location_of", [ - "openminds.core.TissueSample", - "openminds.core.TissueSampleCollection", - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", + "openminds.latest.core.TissueSample", + "openminds.latest.core.TissueSampleCollection", + "openminds.latest.ephys.ElectrodeArrayUsage", + "openminds.latest.ephys.ElectrodeUsage", + "openminds.latest.ephys.PipetteUsage", ], - ["^vocab:anatomicalLocation", "^vocab:anatomicalLocationOfElectrodes"], + ["anatomicalLocation", "anatomicalLocationOfElectrodes"], reverse=["anatomical_location", "anatomical_locations", "anatomical_locations_of_electrodes"], multiple=True, - doc="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", + description="reverse of anatomical_location, anatomical_locations, anatomical_locations_of_electrodes", ), Property( "is_target_of", - "openminds.sands.AnatomicalTargetPosition", - "^vocab:anatomicalTarget", + "openminds.latest.sands.AnatomicalTargetPosition", + "anatomicalTarget", reverse="anatomical_targets", multiple=True, - doc="reverse of 'anatomical_targets'", + description="reverse of 'anatomical_targets'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), Property( "studied_in", [ - "openminds.computation.DataAnalysis", - "openminds.computation.DataCopy", - "openminds.computation.GenericComputation", - "openminds.computation.ModelValidation", - "openminds.computation.Optimization", - "openminds.computation.Simulation", - "openminds.computation.ValidationTest", - "openminds.computation.Visualization", - "openminds.core.DatasetVersion", - "openminds.core.Model", - "openminds.core.ProtocolExecution", - "openminds.ephys.CellPatching", - "openminds.ephys.ElectrodePlacement", - "openminds.ephys.RecordingActivity", - "openminds.specimen_prep.CranialWindowPreparation", - "openminds.specimen_prep.TissueCulturePreparation", - "openminds.specimen_prep.TissueSampleSlicing", - "openminds.stimulation.StimulationActivity", + "openminds.latest.computation.DataAnalysis", + "openminds.latest.computation.DataCopy", + "openminds.latest.computation.GenericComputation", + "openminds.latest.computation.ModelValidation", + "openminds.latest.computation.Optimization", + "openminds.latest.computation.Simulation", + "openminds.latest.computation.ValidationTest", + "openminds.latest.computation.Visualization", + "openminds.latest.core.DatasetVersion", + "openminds.latest.core.Model", + "openminds.latest.core.ProtocolExecution", + "openminds.latest.ephys.CellPatching", + "openminds.latest.ephys.ElectrodePlacement", + "openminds.latest.ephys.RecordingActivity", + "openminds.latest.specimen_prep.CranialWindowPreparation", + "openminds.latest.specimen_prep.TissueCulturePreparation", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "openminds.latest.stimulation.StimulationActivity", ], - "^vocab:studyTarget", + "studyTarget", reverse="study_targets", multiple=True, - doc="reverse of 'study_targets'", + description="reverse of 'study_targets'", ), ] existence_query_properties = ("name",) @@ -120,7 +93,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/sands/non_atlas/custom_annotation.py b/fairgraph/openminds/sands/non_atlas/custom_annotation.py index 7b7d46b4..8f2d86dd 100644 --- a/fairgraph/openminds/sands/non_atlas/custom_annotation.py +++ b/fairgraph/openminds/sands/non_atlas/custom_annotation.py @@ -4,91 +4,18 @@ # this file was auto-generated -from fairgraph import EmbeddedMetadata, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import CustomAnnotation as OMCustomAnnotation +from fairgraph import EmbeddedMetadata -class CustomAnnotation(EmbeddedMetadata): +class CustomAnnotation(EmbeddedMetadata, OMCustomAnnotation): """ """ - type_ = "https://openminds.ebrains.eu/sands/CustomAnnotation" - properties = [ - Property( - "anchor_points", - "openminds.core.QuantitativeValue", - "vocab:anchorPoint", - multiple=True, - doc="no description available", - ), - Property( - "coordinate_space", - ["openminds.sands.CommonCoordinateSpaceVersion", "openminds.sands.CustomCoordinateSpace"], - "vocab:coordinateSpace", - required=True, - doc="Two or three dimensional geometric setting.", - ), - Property( - "criteria", - "openminds.core.ProtocolExecution", - "vocab:criteria", - doc="Aspects or standards on which a judgement or decision is based.", - ), - Property( - "criteria_quality_type", - "openminds.controlled_terms.CriteriaQualityType", - "vocab:criteriaQualityType", - required=True, - doc="Distinct class that defines how the judgement or decision was made for a particular criteria.", - ), - Property( - "criteria_type", - "openminds.controlled_terms.AnnotationCriteriaType", - "vocab:criteriaType", - required=True, - doc="no description available", - ), - Property( - "inspired_by", - "openminds.core.File", - "vocab:inspiredBy", - multiple=True, - doc="Reference to an inspiring element.", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - doc="Term or code that identifies the custom annotation within a particular product.", - ), - Property( - "lateralities", - "openminds.controlled_terms.Laterality", - "vocab:laterality", - multiple=True, - doc="Differentiation between a pair of lateral homologous parts of the body.", - ), - Property( - "preferred_visualization", - "openminds.sands.ViewerSpecification", - "vocab:preferredVisualization", - doc="no description available", - ), - Property( - "specification", - ["openminds.core.File", "openminds.core.PropertyValueList"], - "vocab:specification", - doc="Detailed and precise presentation of, or proposal for something.", - ), - Property( - "type", - "openminds.controlled_terms.AnnotationType", - "vocab:type", - required=True, - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + type_ = "https://openminds.om-i.org/types/CustomAnnotation" + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] def __init__( @@ -109,7 +36,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return EmbeddedMetadata.__init__( + self, data=data, anchor_points=anchor_points, coordinate_space=coordinate_space, diff --git a/fairgraph/openminds/sands/non_atlas/custom_coordinate_space.py b/fairgraph/openminds/sands/non_atlas/custom_coordinate_space.py index 6fafdda0..cc2fb703 100644 --- a/fairgraph/openminds/sands/non_atlas/custom_coordinate_space.py +++ b/fairgraph/openminds/sands/non_atlas/custom_coordinate_space.py @@ -4,71 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.sands import CustomCoordinateSpace as OMCustomCoordinateSpace +from fairgraph import KGObject -class CustomCoordinateSpace(KGObject): +class CustomCoordinateSpace(KGObject, OMCustomCoordinateSpace): """ """ + type_ = "https://openminds.om-i.org/types/CustomCoordinateSpace" default_space = "spatial" - type_ = "https://openminds.ebrains.eu/sands/CustomCoordinateSpace" - properties = [ - Property( - "anatomical_axes_orientation", - "openminds.controlled_terms.AnatomicalAxesOrientation", - "vocab:anatomicalAxesOrientation", - required=True, - doc="Relation between reference planes used in anatomy and mathematics.", - ), - Property( - "axes_origins", - "openminds.core.QuantitativeValue", - "vocab:axesOrigin", - multiple=True, - required=True, - doc="Special point in a coordinate system used as a fixed point of reference for the geometry of the surrounding space.", - ), - Property( - "default_images", - "openminds.core.File", - "vocab:defaultImage", - multiple=True, - doc="Two or three dimensional image that particluarly represents a specific coordinate space.", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the custom coordinate space.", - ), - Property( - "native_unit", - "openminds.controlled_terms.UnitOfMeasurement", - "vocab:nativeUnit", - required=True, - doc="Determinate quantity used in the original measurement.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_coordinate_space_of", - "openminds.sands.CustomAnnotation", - "^vocab:coordinateSpace", + "openminds.latest.sands.CustomAnnotation", + "coordinateSpace", reverse="coordinate_space", multiple=True, - doc="reverse of 'coordinate_space'", + description="reverse of 'coordinate_space'", ), Property( "is_used_to_group", - "openminds.core.FileBundle", - "^vocab:groupedBy", + "openminds.latest.core.FileBundle", + "groupedBy", reverse="grouped_by", multiple=True, - doc="reverse of 'grouped_by'", + description="reverse of 'grouped_by'", ), ] existence_query_properties = ("name",) @@ -87,7 +51,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/specimen_prep/activity/cranial_window_preparation.py b/fairgraph/openminds/specimen_prep/activity/cranial_window_preparation.py index 72d47acb..5df9fb4a 100644 --- a/fairgraph/openminds/specimen_prep/activity/cranial_window_preparation.py +++ b/fairgraph/openminds/specimen_prep/activity/cranial_window_preparation.py @@ -4,137 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.specimen_prep import CranialWindowPreparation as OMCranialWindowPreparation +from fairgraph import KGObject from datetime import datetime, time -class CranialWindowPreparation(KGObject): +class CranialWindowPreparation(KGObject, OMCranialWindowPreparation): """ """ + type_ = "https://openminds.om-i.org/types/CranialWindowPreparation" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/specimenPrep/CranialWindowPreparation" - properties = [ - Property( - "construction_type", - "openminds.controlled_terms.CranialWindowConstructionType", - "vocab:constructionType", - required=True, - doc="no description available", - ), - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the cranial window preparation.", - ), - Property( - "dimension", - ["openminds.sands.Circle", "openminds.sands.Ellipse", "openminds.sands.Rectangle"], - "vocab:dimension", - doc="no description available", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - "openminds.core.SubjectState", - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - "openminds.core.SubjectState", - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property( - "reinforcement_type", - "openminds.controlled_terms.CranialWindowReinforcementType", - "vocab:reinforcementType", - doc="no description available", - ), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("lookup_label",) @@ -160,7 +45,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/specimen_prep/activity/tissue_culture_preparation.py b/fairgraph/openminds/specimen_prep/activity/tissue_culture_preparation.py index 532c5887..84a83e9d 100644 --- a/fairgraph/openminds/specimen_prep/activity/tissue_culture_preparation.py +++ b/fairgraph/openminds/specimen_prep/activity/tissue_culture_preparation.py @@ -4,137 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.specimen_prep import TissueCulturePreparation as OMTissueCulturePreparation +from fairgraph import KGObject from datetime import datetime, time -class TissueCulturePreparation(KGObject): +class TissueCulturePreparation(KGObject, OMTissueCulturePreparation): """ """ + type_ = "https://openminds.om-i.org/types/TissueCulturePreparation" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/specimenPrep/TissueCulturePreparation" - properties = [ - Property( - "culture_medium", - "openminds.chemicals.ChemicalMixture", - "vocab:cultureMedium", - required=True, - doc="no description available", - ), - Property( - "culture_type", - "openminds.controlled_terms.CellCultureType", - "vocab:cultureType", - required=True, - doc="no description available", - ), - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the tissue culture preparation.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - [ - "openminds.core.TissueSampleState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - "openminds.core.TissueSampleState", - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("lookup_label",) @@ -159,7 +44,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/specimen_prep/activity/tissue_sample_slicing.py b/fairgraph/openminds/specimen_prep/activity/tissue_sample_slicing.py index ba374a8a..4dcec1f3 100644 --- a/fairgraph/openminds/specimen_prep/activity/tissue_sample_slicing.py +++ b/fairgraph/openminds/specimen_prep/activity/tissue_sample_slicing.py @@ -4,141 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.specimen_prep import TissueSampleSlicing as OMTissueSampleSlicing +from fairgraph import KGObject from datetime import datetime, time -class TissueSampleSlicing(KGObject): +class TissueSampleSlicing(KGObject, OMTissueSampleSlicing): """ """ + type_ = "https://openminds.om-i.org/types/TissueSampleSlicing" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/specimenPrep/TissueSampleSlicing" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the tissue sample slicing.", - ), - Property( - "device", - "openminds.specimen_prep.SlicingDeviceUsage", - "vocab:device", - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - [ - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - ["openminds.core.TissueSampleCollectionState", "openminds.core.TissueSampleState"], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - Property( - "temperature", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:temperature", - doc="no description available", - ), - Property( - "tissue_bath_solution", - "openminds.chemicals.ChemicalMixture", - "vocab:tissueBathSolution", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("lookup_label",) @@ -164,7 +45,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/specimen_prep/device/slicing_device.py b/fairgraph/openminds/specimen_prep/device/slicing_device.py index b9507e10..9fa935d7 100644 --- a/fairgraph/openminds/specimen_prep/device/slicing_device.py +++ b/fairgraph/openminds/specimen_prep/device/slicing_device.py @@ -4,77 +4,35 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.specimen_prep import SlicingDevice as OMSlicingDevice +from fairgraph import KGObject -class SlicingDevice(KGObject): +class SlicingDevice(KGObject, OMSlicingDevice): """ """ + type_ = "https://openminds.om-i.org/types/SlicingDevice" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/specimenPrep/SlicingDevice" - properties = [ - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the slicing device.", - ), - Property( - "device_type", - "openminds.controlled_terms.DeviceType", - "vocab:deviceType", - required=True, - doc="no description available", - ), - Property( - "digital_identifier", - ["openminds.core.DOI", "openminds.core.RRID"], - "vocab:digitalIdentifier", - doc="Digital handle to identify objects or legal persons.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "manufacturers", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:manufacturer", - multiple=True, - doc="no description available", - ), - Property( - "name", - str, - "vocab:name", - required=True, - doc="Word or phrase that constitutes the distinctive designation of the slicing device.", - ), - Property( - "owners", - ["openminds.core.Consortium", "openminds.core.Organization", "openminds.core.Person"], - "vocab:owner", - multiple=True, - doc="no description available", - ), - Property("serial_number", str, "vocab:serialNumber", doc="no description available"), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_part_of", - "openminds.core.Setup", - "^vocab:hasPart", + "openminds.latest.core.Setup", + "hasPart", reverse="has_parts", multiple=True, - doc="reverse of 'has_parts'", + description="reverse of 'has_parts'", ), Property( "usage", - "openminds.specimen_prep.SlicingDeviceUsage", - "^vocab:device", + "openminds.latest.specimen_prep.SlicingDeviceUsage", + "device", reverse="device", multiple=True, - doc="reverse of 'device'", + description="reverse of 'device'", ), ] existence_query_properties = ("lookup_label",) @@ -96,7 +54,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/specimen_prep/device/slicing_device_usage.py b/fairgraph/openminds/specimen_prep/device/slicing_device_usage.py index f833b719..8613e1f9 100644 --- a/fairgraph/openminds/specimen_prep/device/slicing_device_usage.py +++ b/fairgraph/openminds/specimen_prep/device/slicing_device_usage.py @@ -4,124 +4,67 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.specimen_prep import SlicingDeviceUsage as OMSlicingDeviceUsage +from fairgraph import KGObject -class SlicingDeviceUsage(KGObject): +class SlicingDeviceUsage(KGObject, OMSlicingDeviceUsage): """ """ + type_ = "https://openminds.om-i.org/types/SlicingDeviceUsage" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/specimenPrep/SlicingDeviceUsage" - properties = [ - Property( - "device", - "openminds.specimen_prep.SlicingDevice", - "vocab:device", - required=True, - doc="Piece of equipment or mechanism (hardware) designed to serve a special purpose or perform a special function.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "metadata_locations", - ["openminds.core.File", "openminds.core.FileBundle"], - "vocab:metadataLocation", - multiple=True, - doc="no description available", - ), - Property( - "oscillation_amplitude", - "openminds.core.QuantitativeValue", - "vocab:oscillationAmplitude", - doc="no description available", - ), - Property( - "slice_thickness", - ["openminds.core.QuantitativeValue", "openminds.core.QuantitativeValueRange"], - "vocab:sliceThickness", - required=True, - doc="no description available", - ), - Property( - "slicing_angles", - ["openminds.core.QuantitativeValue", "openminds.core.NumericalProperty"], - "vocab:slicingAngle", - multiple=True, - doc="no description available", - ), - Property( - "slicing_plane", - "openminds.controlled_terms.AnatomicalPlane", - "vocab:slicingPlane", - required=True, - doc="no description available", - ), - Property( - "slicing_speed", "openminds.core.QuantitativeValue", "vocab:slicingSpeed", doc="no description available" - ), - Property( - "used_specimen", - ["openminds.core.SubjectState", "openminds.core.TissueSampleState"], - "vocab:usedSpecimen", - doc="no description available", - ), - Property( - "vibration_frequency", - "openminds.core.QuantitativeValue", - "vocab:vibrationFrequency", - doc="no description available", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "generation_device", - "openminds.stimulation.EphysStimulus", - "^vocab:generatedBy", + "openminds.latest.stimulation.EphysStimulus", + "generatedBy", reverse="generated_by", multiple=True, - doc="reverse of 'generated_by'", + description="reverse of 'generated_by'", ), Property( "placed_by", - "openminds.ephys.ElectrodePlacement", - "^vocab:device", + "openminds.latest.ephys.ElectrodePlacement", + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_for", - "openminds.specimen_prep.TissueSampleSlicing", - "^vocab:device", + "openminds.latest.specimen_prep.TissueSampleSlicing", + "device", reverse="device", multiple=True, - doc="reverse of 'device'", + description="reverse of 'device'", ), Property( "used_in", - "openminds.ephys.CellPatching", - "^vocab:device", + "openminds.latest.ephys.CellPatching", + "device", reverse="devices", multiple=True, - doc="reverse of 'devices'", + description="reverse of 'devices'", ), Property( "used_to_measure", - "openminds.core.Measurement", - "^vocab:measuredWith", + "openminds.latest.core.Measurement", + "measuredWith", reverse="measured_with", multiple=True, - doc="reverse of 'measured_with'", + description="reverse of 'measured_with'", ), Property( "used_to_record", - "openminds.ephys.Recording", - "^vocab:recordedWith", + "openminds.latest.ephys.Recording", + "recordedWith", reverse="recorded_with", multiple=True, - doc="reverse of 'recorded_with'", + description="reverse of 'recorded_with'", ), ] existence_query_properties = ("lookup_label",) @@ -149,7 +92,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/stimulation/activity/stimulation_activity.py b/fairgraph/openminds/stimulation/activity/stimulation_activity.py index 3665b6ee..f2a4268e 100644 --- a/fairgraph/openminds/stimulation/activity/stimulation_activity.py +++ b/fairgraph/openminds/stimulation/activity/stimulation_activity.py @@ -4,139 +4,22 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.stimulation import StimulationActivity as OMStimulationActivity +from fairgraph import KGObject from datetime import datetime, time -class StimulationActivity(KGObject): +class StimulationActivity(KGObject, OMStimulationActivity): """ """ + type_ = "https://openminds.om-i.org/types/StimulationActivity" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/stimulation/StimulationActivity" - properties = [ - Property( - "custom_property_sets", - "openminds.core.CustomPropertySet", - "vocab:customPropertySet", - multiple=True, - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the stimulation activity.", - ), - Property("end_time", [datetime, time], "vocab:endTime", doc="no description available"), - Property( - "inputs", - [ - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - ], - "vocab:input", - multiple=True, - required=True, - doc="Something or someone that is put into or participates in a process or machine.", - ), - Property( - "is_part_of", - "openminds.core.DatasetVersion", - "vocab:isPartOf", - required=True, - doc="Reference to the ensemble of multiple things or beings.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "outputs", - [ - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.SubjectGroupState", - "openminds.core.SubjectState", - "openminds.core.TissueSampleCollectionState", - "openminds.core.TissueSampleState", - ], - "vocab:output", - multiple=True, - required=True, - doc="Something or someone that comes out of, is delivered or produced by a process or machine.", - ), - Property( - "performed_by", - ["openminds.computation.SoftwareAgent", "openminds.core.Person"], - "vocab:performedBy", - multiple=True, - doc="no description available", - ), - Property( - "preparation_design", - "openminds.controlled_terms.PreparationType", - "vocab:preparationDesign", - doc="no description available", - ), - Property( - "protocols", - "openminds.core.Protocol", - "vocab:protocol", - multiple=True, - required=True, - doc="Plan that describes the process of a scientific or medical experiment, treatment, or procedure.", - ), - Property("setup", "openminds.core.Setup", "vocab:setup", doc="no description available"), - Property("start_time", [datetime, time], "vocab:startTime", doc="no description available"), - Property( - "stimuli", - "openminds.stimulation.EphysStimulus", - "vocab:stimulus", - multiple=True, - required=True, - doc="no description available", - ), - Property( - "study_targets", - [ - "openminds.controlled_terms.AuditoryStimulusType", - "openminds.controlled_terms.BiologicalOrder", - "openminds.controlled_terms.BiologicalSex", - "openminds.controlled_terms.BreedingType", - "openminds.controlled_terms.CellCultureType", - "openminds.controlled_terms.CellType", - "openminds.controlled_terms.Disease", - "openminds.controlled_terms.DiseaseModel", - "openminds.controlled_terms.ElectricalStimulusType", - "openminds.controlled_terms.GeneticStrainType", - "openminds.controlled_terms.GustatoryStimulusType", - "openminds.controlled_terms.Handedness", - "openminds.controlled_terms.MolecularEntity", - "openminds.controlled_terms.OlfactoryStimulusType", - "openminds.controlled_terms.OpticalStimulusType", - "openminds.controlled_terms.Organ", - "openminds.controlled_terms.OrganismSubstance", - "openminds.controlled_terms.OrganismSystem", - "openminds.controlled_terms.Species", - "openminds.controlled_terms.SubcellularEntity", - "openminds.controlled_terms.TactileStimulusType", - "openminds.controlled_terms.TermSuggestion", - "openminds.controlled_terms.TissueSampleType", - "openminds.controlled_terms.UBERONParcellation", - "openminds.controlled_terms.VisualStimulusType", - "openminds.sands.CustomAnatomicalEntity", - "openminds.sands.ParcellationEntity", - "openminds.sands.ParcellationEntityVersion", - ], - "vocab:studyTarget", - multiple=True, - doc="Structure or function that was targeted within a study.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [] existence_query_properties = ("lookup_label",) @@ -161,7 +44,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/openminds/stimulation/stimulus/ephys_stimulus.py b/fairgraph/openminds/stimulation/stimulus/ephys_stimulus.py index 70574f12..2f900b8e 100644 --- a/fairgraph/openminds/stimulation/stimulus/ephys_stimulus.py +++ b/fairgraph/openminds/stimulation/stimulus/ephys_stimulus.py @@ -4,82 +4,27 @@ # this file was auto-generated -from fairgraph import KGObject, IRI -from fairgraph.properties import Property +from openminds.properties import Property +from openminds.latest.stimulation import EphysStimulus as OMEphysStimulus +from fairgraph import KGObject -class EphysStimulus(KGObject): +class EphysStimulus(KGObject, OMEphysStimulus): """ """ + type_ = "https://openminds.om-i.org/types/EphysStimulus" default_space = "in-depth" - type_ = "https://openminds.ebrains.eu/stimulation/EphysStimulus" - properties = [ - Property( - "delivered_by", - [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", - ], - "vocab:deliveredBy", - doc="no description available", - ), - Property( - "description", - str, - "vocab:description", - doc="Longer statement or account giving the characteristics of the ephys stimulus.", - ), - Property("epoch", "openminds.core.QuantitativeValue", "vocab:epoch", doc="no description available"), - Property( - "generated_by", - [ - "openminds.ephys.ElectrodeArrayUsage", - "openminds.ephys.ElectrodeUsage", - "openminds.ephys.PipetteUsage", - "openminds.specimen_prep.SlicingDeviceUsage", - ], - "vocab:generatedBy", - doc="no description available", - ), - Property( - "internal_identifier", - str, - "vocab:internalIdentifier", - required=True, - doc="Term or code that identifies the ephys stimulus within a particular product.", - ), - Property("lookup_label", str, "vocab:lookupLabel", doc="no description available"), - Property( - "specifications", - [ - "openminds.core.Configuration", - "openminds.core.File", - "openminds.core.FileBundle", - "openminds.core.PropertyValueList", - ], - "vocab:specification", - multiple=True, - doc="Detailed and precise presentation of, or proposal for something.", - ), - Property( - "type", - "openminds.controlled_terms.ElectricalStimulusType", - "vocab:type", - doc="Distinct class to which a group of entities or concepts with similar characteristics or attributes belong to.", - ), - ] + # forward properties are defined in the parent class (in openMINDS-Python) reverse_properties = [ Property( "is_stimulus_for", - "openminds.stimulation.StimulationActivity", - "^vocab:stimulus", + "openminds.latest.stimulation.StimulationActivity", + "stimulus", reverse="stimuli", multiple=True, - doc="reverse of 'stimuli'", + description="reverse of 'stimuli'", ), ] existence_query_properties = ("lookup_label",) @@ -100,7 +45,8 @@ def __init__( space=None, scope=None, ): - return super().__init__( + return KGObject.__init__( + self, id=id, space=space, scope=scope, diff --git a/fairgraph/properties.py b/fairgraph/properties.py deleted file mode 100644 index f1b20811..00000000 --- a/fairgraph/properties.py +++ /dev/null @@ -1,541 +0,0 @@ -""" -Representations of metadata properties. -""" - -# Copyright 2018-2024 CNRS - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations -import logging -import numbers -from datetime import date, datetime -from collections.abc import Iterable, Mapping -from typing import Any, Dict, List, Optional, Tuple, TYPE_CHECKING, Union -from uuid import UUID -from warnings import warn - -if TYPE_CHECKING: - from .client import KGClient - -from dateutil import parser as date_parser - -from .registry import lookup, lookup_type -from .utility import as_list -from .base import IRI, JSONdict, ContainsMetadata, ErrorHandling, default_context -from .kgproxy import KGProxy -from .kgquery import KGQuery -from .kgobject import KGObject -from .embedded import EmbeddedMetadata -from .utility import expand_uri, types_match -from .queries import Filter, QueryProperty - - -logger = logging.getLogger("fairgraph") - - -def is_resolved(item: JSONdict) -> bool: - return set(item.keys()) not in (set(["@id", "@type"]), set(["@id"])) - - -def build_kg_object( - possible_classes: Iterable[Union[EmbeddedMetadata, KGObject]], - data: Optional[Union[JSONdict, List[JSONdict]]], - client: Optional[KGClient] = None, -) -> Union[EmbeddedMetadata, KGObject, KGProxy, None, List[Union[EmbeddedMetadata, KGObject, KGProxy]]]: - """ - Build a KGObject, an EmbeddedMetadata, a KGProxy, or a list of such, based on the data provided. - - This takes care of the JSON-LD quirk that you get a list if there are multiple - objects, but you get the object directly if there is only one. - - Returns `None` if data is None. - """ - if data is None: - return None - if not isinstance(data, list): - if not isinstance(data, dict): - raise ValueError("data must be a list or dict") - if "@list" in data: - assert len(data) == 1 - data = data["@list"] - else: - data = [data] - assert isinstance(data, list) - - objects = [] - for item in data: - if item is None: - logger.error(f"Unexpected null. possible_classes={possible_classes} data={data}") - continue - logger.debug(f"Building {possible_classes} from {item.get('@id', 'not a node')}") - if possible_classes is None: - raise NotImplementedError - - assert isinstance(possible_classes, (list, tuple)) - assert all(issubclass(item, KGObject) for item in possible_classes) or all( - issubclass(item, EmbeddedMetadata) for item in possible_classes - ) - if len(possible_classes) > 1: - if "@type" in item: - for cls in possible_classes: - if types_match(item["@type"][0], cls.type_): - kg_cls = cls - break - else: - kg_cls = possible_classes - - else: - kg_cls = possible_classes[0] - - if "@id" in item: - # the following line is only relevant to test data, - # for real data it is always an expanded uri - item["@id"] = expand_uri(item["@id"], {"kg": "https://kg.ebrains.eu/api/instances/"}) - if is_resolved(item): - try: - obj = kg_cls.from_kg_instance(item, client) - except (ValueError, KeyError) as err: - # to add: emit a warning - logger.warning("Error in building {}: {}".format(kg_cls.__name__, err)) - obj = KGProxy(kg_cls, item["@id"]).resolve(client) - # todo: provide space and scope - else: - if "@type" in item and item["@type"] is not None and kg_cls not in as_list(lookup_type(item["@type"][0])): - raise Exception(f"mismatched types: {kg_cls} <> {item['@type']} (id: {item['@id']})") - obj = None - else: - obj = KGProxy(kg_cls, item["@id"]) - elif "@type" in item: # Embedded metadata - obj = kg_cls.from_kg_instance(item, client) - else: - # todo: add a logger.warning that we have dud data - obj = None - - if obj is not None: - objects.append(obj) - if len(objects) == 1: - return objects[0] - else: - return objects - - -class Property(object): - """ - Representation of a metadata property. - - Args: - name (str): The name of the property. - types (str, date, datetime, int, KGObject, EmbeddedMetadata): The types of values that the property can take. - path (URI): The globally unique identifier of this property. - required (bool, optional): Whether the property is required or not. Defaults to False. - default (Any, optional): The default value of the property if it is not provided. - multiple (bool, optional): Whether the property can have multiple values or not. Defaults to False. - error_handling (str, optional): How to handle errors, such as the wrong type of value being provided. - One of "error", "warning", "log", "none". Defaults to "warning". - reverse (str, optional): The name of the reverse property, if any. - doc (str, optional): The documentation of the property. - - The class also contains machinery for serialization into JSON-LD of values stored in properties in - KGObjects and EmbeddedMetadata instances, and for de-serialization from JSON-LD into Python objects. - """ - - def __init__( - self, - name: str, - types: Union[ - str, - type, - KGObject, - EmbeddedMetadata, - Iterable[Union[str, type, KGObject, EmbeddedMetadata]], - ], - path: str, - required: bool = False, - default: Any = None, - multiple: bool = False, - error_handling: ErrorHandling = ErrorHandling.log, - reverse: Optional[str] = None, - doc: str = "", - ): - self.name = name - self._types: Tuple[Union[str, type, KGObject, EmbeddedMetadata], ...] - if isinstance(types, (type, str)): - self._types = (types,) - else: - assert isinstance(types, Iterable) - self._types = tuple(types) - self._resolved_types = False - # later, may need to use lookup() to turn strings into classes - self.path = path - self.required = required - self.default = default - self.multiple = multiple - self.error_handling = error_handling - self.reverse = reverse - self.doc = doc - self.context = default_context["v3"] - - def __repr__(self): - return "Property(name='{}', types={}, path='{}', required={}, multiple={})".format( - self.name, self._types, self.path, self.required, self.multiple - ) - - @property - def types(self): - if not self._resolved_types: - self._types = tuple([lookup(obj) if isinstance(obj, str) else obj for obj in self._types]) - self._resolved_types = True - return self._types - - def check_value(self, value): - def check_single(item): - if not isinstance(item, self.types): - if not ( - isinstance(item, (KGProxy, KGQuery, EmbeddedMetadata)) - and any(issubclass(cls, _type) for _type in self.types for cls in item.classes) - ): - if item is None and self.required: - errmsg = "Property '{}' is required but was not provided.".format(self.name) - else: - errmsg = "Property '{}' should be of type {}, not {}".format(self.name, self.types, type(item)) - ErrorHandling.handle_violation(self.error_handling, errmsg) - - if self.required or value is not None: - if self.multiple and isinstance(value, Iterable) and not isinstance(value, Mapping): - for item in value: - check_single(item) - else: - check_single(value) - - @property - def intrinsic(self): - """ - Return True If the prop contains data that is directly stored in the instance, - False if the prop contains data that is obtained through a query - """ - return not self.reverse - - @property - def is_link(self) -> bool: - return issubclass(self.types[0], (KGObject, EmbeddedMetadata)) - - @property - def expanded_path(self) -> str: - return expand_uri(self.path, self.context) - - def serialize(self, value: Any, follow_links: bool = False): - """ - Serialize a value to JSON-LD. - - Args: - value (any): The value to be serialized. - follow_links (bool): If the value contains graph links, these links - will be represented using "@id" (follow_links=False) or fully - serialized recursively (follow_links=True). - """ - - def serialize_single(value): - if isinstance(value, (str, numbers.Real, dict)): - return value - elif isinstance(value, EmbeddedMetadata): - return value.to_jsonld(follow_links=follow_links) - elif isinstance(value, IRI): - return value.to_jsonld() - elif isinstance(value, KGObject): - if follow_links or value.id is None: - return value.to_jsonld(follow_links=follow_links) - else: - return {"@id": value.id} - elif isinstance(value, KGProxy): - return {"@id": value.id} - elif isinstance(value, (datetime, date)): - return value.isoformat() - elif value is None: - return None - else: - raise ValueError(f"fairgraph cannot serialize a value of type {type(value)} (for property '{self.name}')") - - if isinstance(value, (list, tuple)): - if self.multiple or self.error_handling != ErrorHandling.error: - value = [serialize_single(item) for item in value] - if len(value) == 1: - return value[0] - else: - return value - elif len(value) == 1: - return serialize_single(value[0]) - elif self.error_handling != ErrorHandling.none: - errmsg = f"Single item expected for prop {self.name} but received multiple" - ErrorHandling.handle_violation(self.error_handling, errmsg) - else: - return value - else: - return serialize_single(value) - - def deserialize(self, data: Union[JSONdict, List[JSONdict]], client: KGClient, belongs_to: Optional[str] = None): - """ - Deserialize a JSON-LD data structure into Python objects. - - Args: - data: the JSON-LD data - client: a KG client - belongs_to: the ID of the object this property belongs to - """ - if data == []: - return None - elif data is None: - if self.reverse: - if isinstance(self.reverse, list): - # todo: handle all possible reverses - # for now, we just take the first - return KGQuery(self.types, {self.reverse[0]: belongs_to}) - else: - return KGQuery(self.types, {self.reverse: belongs_to}) - else: - return None - try: - if issubclass(self.types[0], (KGObject, EmbeddedMetadata)): - return build_kg_object(self.types, data, client=client) - elif self.types[0] in (datetime, date): - if isinstance(data, str): - if data == "": # seems like the KG Editor puts empty strings here rather than None? - return None - return date_parser.parse(data) - elif isinstance(data, Iterable): - return [date_parser.parse(item) for item in data] - else: - raise ValueError("expecting a string or list") - elif self.types[0] == int: - if isinstance(data, str): - return int(data) - elif isinstance(data, Iterable): - return [int(item) for item in data] - else: - return int(data) - elif self.types[0] == IRI: - if data == "": - return None - return IRI(data) - else: - return data - except Exception as err: - ErrorHandling.handle_violation(self.error_handling, str(err)) - return None - - def _get_query_property_name(self, possible_classes): - if isinstance(self.path, str): - property_name = self.path - else: - assert isinstance(self.path, list) - found_match = False - for cls in possible_classes: - for path in self.path: - assert path.startswith("^") - for prop in cls.all_properties: - if path[1:] == prop.path: - property_name = path - found_match = True - break - if found_match: - break - if found_match: - break - assert found_match - if property_name.startswith("^"): - assert self.reverse - property_name = property_name[1:] - return property_name - - def get_query_properties(self, follow_links: Optional[Dict[str, Any]] = None) -> List[QueryProperty]: - """ - Generate one or more QueryProperty instances for this property, - for use in constructing a KG query definition. - """ - - properties = [] - if any(issubclass(_type, EmbeddedMetadata) for _type in self.types): - if not all(issubclass(_type, EmbeddedMetadata) for _type in self.types): - warn(f"Mixed types in {self}") - return properties - for cls in self.types: - if len(self.types) > 1: - property_name = f"{self.path}__{cls.__name__}" - type_filter = cls.type_ - else: - property_name = self.path - type_filter = None - if property_name.startswith("^"): - # used to mark reverse properties. Maybe not necessary? - assert self.reverse - property_name = property_name[1:] - properties.append( - QueryProperty( - self.expanded_path, - name=property_name, - reverse=self.reverse, - type_filter=type_filter, - ensure_order=self.multiple, - properties=cls.generate_query_properties(follow_links), - ) - ) - elif any(issubclass(_type, KGObject) for _type in self.types): - assert all(issubclass(_type, KGObject) for _type in self.types) - if follow_links is not None: - for cls in self.types: - property_name = self._get_query_property_name(possible_classes=[cls]) - if len(self.types) > 1: - property_name = f"{property_name}__{cls.__name__}" - type_filter = cls.type_ - else: - type_filter = None - properties.append( - QueryProperty( - self.expanded_path, - name=property_name, - reverse=self.reverse, - type_filter=type_filter, - ensure_order=self.multiple, - properties=[QueryProperty("@id"), *cls.generate_query_properties(follow_links)], - ) - ) - else: - if isinstance(self.path, str): - property_name = self.path - if property_name.startswith("^"): - assert self.reverse - property_name = property_name[1:] - properties.append( - QueryProperty( - self.expanded_path, - name=property_name, - reverse=self.reverse, - type_filter=None, - ensure_order=self.multiple, - properties=[ - QueryProperty("@id"), - QueryProperty("@type"), - ], - ) - ) - else: - assert isinstance(self.path, list) - logger.warning(f"Cannot yet handle case where self.path is a list: {self}") - else: - assert not self.reverse - properties.append( - QueryProperty( - self.expanded_path, - name=self.path, - reverse=self.reverse, - ensure_order=self.multiple, - ) - ) - return properties - - def get_query_filter_property(self, filter: Any) -> QueryProperty: - """ - Generate a QueryProperty instance containing a filter, - for use in constructing a KG query definition. - """ - assert filter is not None - if isinstance(filter, dict): - # we pass the filter through to the next level - filter_obj = None - else: - # we have a filter value for this property - if self.types[0] in (int, float, numbers.Real, bool, datetime, date): - op = "EQUALS" - else: - op = "CONTAINS" - filter_obj = Filter(op, value=filter) - - if any(issubclass(_type, ContainsMetadata) for _type in self.types): - assert all(issubclass(_type, ContainsMetadata) for _type in self.types) - prop = QueryProperty(self.expanded_path, name=f"Q{self.name}", required=True, reverse=self.reverse) - if filter_obj: - prop.properties.append(QueryProperty("@id", filter=filter_obj)) - else: - for cls in self.types: - child_properties = cls.generate_query_filter_properties(filter) - if child_properties: - # if the class has properties with the appropriate name - # we add them, then break to avoid adding the same - # prop twice - prop.properties.extend(child_properties) - break - else: - prop = QueryProperty(self.expanded_path, name=f"Q{self.name}", filter=filter_obj, required=True) - return prop - - def get_filter_value(self, value: Any) -> Union[str, List[str]]: - """ - Normalize a value for use in a KG query - - Example: - >>> import fairgraph.openminds.core as omcore - >>> person = omcore.Person.from_uuid("045f846f-f010-4db8-97b9-b95b20970bf2", kg_client) - >>> prop = Property(name='custodians', types=(omcore.Organization, omcore.Person), - ... path="vocab:custodian", multiple=True) - >>> prop.get_filter_value(person) - https://kg.ebrains.eu/api/instances/045f846f-f010-4db8-97b9-b95b20970bf2 - """ - - def is_valid(val): - if isinstance(val, str): - try: - val = UUID(val) - except ValueError: - pass - return isinstance(val, (IRI, UUID, *self.types)) or (isinstance(val, KGProxy) and val.cls in self.types) - - if isinstance(value, list) and len(value) > 0: - valid_type = all(is_valid(item) for item in value) - have_multiple = True - else: - valid_type = is_valid(value) - have_multiple = False - if not valid_type: - if self.name == "hash": # bit of a hack - filter_value = value - elif isinstance(value, str) and value.startswith("http"): # for @id - filter_value = value - else: - raise TypeError("{} must be of type {}, not {}".format(self.name, self.types, type(value))) - - filter_items = [] - for item in as_list(value): - if isinstance(item, IRI): - filter_item = item.value - elif isinstance(item, (date, datetime)): - filter_item = item.isoformat() - elif hasattr(item, "id"): - filter_item = item.id - elif isinstance(item, UUID): - # todo: consider using client.uri_from_uuid() - # would require passing client as arg - filter_item = f"https://kg.ebrains.eu/api/instances/{item}" - elif isinstance(item, str) and "+" in item: # workaround for KG bug - invalid_char_index = item.index("+") - if invalid_char_index < 3: - raise ValueError(f"Cannot use {item} as filter, contains invalid characters") - filter_item = item[:invalid_char_index] - warn(f"Truncating filter value {item} --> {filter_item}") - else: - filter_item = item - filter_items.append(filter_item) - - if have_multiple: - return filter_items - else: - return filter_items[0] diff --git a/fairgraph/queries.py b/fairgraph/queries.py index 8fc25ede..857ee335 100644 --- a/fairgraph/queries.py +++ b/fairgraph/queries.py @@ -17,8 +17,17 @@ # limitations under the License. from __future__ import annotations -from copy import deepcopy -from typing import Optional, List, Any, Dict +from typing import Optional, List, Any, Dict, Union +from uuid import UUID +from datetime import date, datetime +import logging +from warnings import warn + +from openminds.base import IRI, EmbeddedMetadata, LinkedMetadata, Node +from .utility import as_list, expand_uri + + +logger = logging.getLogger("fairgraph") class Filter: @@ -263,15 +272,217 @@ def serialize(self) -> Dict[str, Any]: # todo: I think only one property can have "sort": True - need to check this -def migrate_query(query): - """Map from v3 to v4+ openMINDS namespace""" - migrated_query = deepcopy(query) - type_ = migrated_query["meta"]["type"] - migrated_query["meta"]["type"] = f'https://openminds.om-i.org/types/{type_.split("/")[-1]}' - replacement = ("openminds.ebrains.eu/vocab", "openminds.om-i.org/props") - for item in migrated_query["structure"]: - if isinstance(item["path"], str): - item["path"] = item["path"].replace(*replacement) + +def _get_query_property_name(property, possible_classes): + if isinstance(property.path, str): + property_name = property.path + else: + assert isinstance(property.path, list) + found_match = False + for cls in possible_classes: + for path in property.path: + for prop in cls.properties: + if path == prop.path: + property_name = path + found_match = True + break + if found_match: + break + if found_match: + break + assert found_match + return property_name + + +def get_query_properties( + property, context, follow_links: Optional[Dict[str, Any]] = None, with_reverse_properties: Optional[bool] = False +) -> List[QueryProperty]: + """ + Generate one or more QueryProperty instances for this property, + for use in constructing a KG query definition. + """ + expanded_path = expand_uri(property.path, context) + properties = [] + + if any(issubclass(_type, EmbeddedMetadata) for _type in property.types): + if not all(issubclass(_type, EmbeddedMetadata) for _type in property.types): + warn(f"Mixed types in {property}") + return properties + for cls in property.types: + if len(property.types) > 1: + property_name = f"{property.path}__{cls.__name__}" + assert isinstance(cls.type_, str) + type_filter = cls.type_ + else: + property_name = property.path + type_filter = None + properties.append( + QueryProperty( + expanded_path, + name=property_name, + reverse=bool(property.reverse), + type_filter=type_filter, + ensure_order=property.multiple, + expect_single=property.is_link and not property.multiple, + properties=cls.generate_query_properties(follow_links, with_reverse_properties), + ) + ) + elif any(issubclass(_type, LinkedMetadata) for _type in property.types): + assert all(issubclass(_type, LinkedMetadata) for _type in property.types) + if follow_links is not None: + for cls in property.types: + property_name = _get_query_property_name(property, possible_classes=[cls]) + if len(property.types) > 1: + property_name = f"{property_name}__{cls.__name__}" + assert isinstance(cls.type_, str) + type_filter = cls.type_ + else: + type_filter = None + properties.append( + QueryProperty( + expanded_path, + name=property_name, + reverse=bool(property.reverse), + type_filter=type_filter, + ensure_order=property.multiple, + expect_single=property.is_link and not property.multiple, + properties=[ + QueryProperty("@id"), + *cls.generate_query_properties(follow_links, with_reverse_properties), + ], + ) + ) else: - item["path"]["@id"] = item["path"]["@id"].replace(*replacement) - return migrated_query + if isinstance(property.path, str): + property_name = property.path + properties.append( + QueryProperty( + expanded_path, + name=property_name, + reverse=bool(property.reverse), + type_filter=None, + ensure_order=property.multiple, + expect_single=property.is_link and not property.multiple, + properties=[ + QueryProperty("@id"), + QueryProperty("@type"), + ], + ) + ) + else: + assert isinstance(property.path, list) + logger.warning(f"Cannot yet handle case where property.path is a list: {property}") + else: + assert not property.reverse + properties.append( + QueryProperty( + expanded_path, + name=property.path, + reverse=bool(property.reverse), + ensure_order=property.multiple, + expect_single=property.is_link and not property.multiple, + ) + ) + return properties + + +def get_query_filter_property(property, context, filter: Any) -> QueryProperty: + """ + Generate a QueryProperty instance containing a filter, + for use in constructing a KG query definition. + """ + assert filter is not None + if isinstance(filter, dict): + # we pass the filter through to the next level + filter_obj = None + else: + # we have a filter value for this property + if property.types[0] in (int, float, bool, datetime, date): + op = "EQUALS" + else: + op = "CONTAINS" + filter_obj = Filter(op, value=filter) + + expanded_path = expand_uri(property.path, context) + + if any(issubclass(_type, Node) for _type in property.types): + assert all(issubclass(_type, Node) for _type in property.types) + prop = QueryProperty(expanded_path, name=f"Q{property.name}", required=True, reverse=property.reverse) + if filter_obj: + prop.properties.append(QueryProperty("@id", filter=filter_obj)) + else: + for cls in property.types: + child_properties = cls.generate_query_filter_properties(filter) + if child_properties: + # if the class has properties with the appropriate name + # we add them, then break to avoid adding the same + # prop twice + prop.properties.extend(child_properties) + break + else: + prop = QueryProperty(expanded_path, name=f"Q{property.name}", filter=filter_obj, required=True) + return prop + + +def get_filter_value(property, value: Any) -> Union[str, List[str]]: + """ + Normalize a value for use in a KG query + + Example: + >>> import fairgraph.openminds.core as omcore + >>> person = omcore.Person.from_uuid("045f846f-f010-4db8-97b9-b95b20970bf2", kg_client) + >>> prop = Property(name='custodians', types=(omcore.Organization, omcore.Person), + ... path="vocab:custodian", multiple=True) + >>> get_filter_value(prop, person) + https://kg.ebrains.eu/api/instances/045f846f-f010-4db8-97b9-b95b20970bf2 + """ + from .kgproxy import KGProxy + + def is_valid(val): + if isinstance(val, str): + try: + val = UUID(val) + except ValueError: + pass + return isinstance(val, (IRI, UUID, *property.types)) or (isinstance(val, KGProxy) and not set(val.classes).isdisjoint(property.types)) + + if isinstance(value, list) and len(value) > 0: + valid_type = all(is_valid(item) for item in value) + have_multiple = True + else: + valid_type = is_valid(value) + have_multiple = False + if not valid_type: + if property.name == "hash": # bit of a hack + filter_value = value + elif isinstance(value, str) and value.startswith("http"): # for @id + filter_value = value + else: + raise TypeError("{} must be of type {}, not {}".format(property.name, property.types, type(value))) + + filter_items = [] + for item in as_list(value): + if isinstance(item, IRI): + filter_item = item.value + elif isinstance(item, (date, datetime)): + filter_item = item.isoformat() + elif hasattr(item, "id"): + filter_item = item.id + elif isinstance(item, UUID): + # todo: consider using client.uri_from_uuid() + # would require passing client as arg + filter_item = f"https://kg.ebrains.eu/api/instances/{item}" + elif isinstance(item, str) and "+" in item: # workaround for KG bug + invalid_char_index = item.index("+") + if invalid_char_index < 3: + raise ValueError(f"Cannot use {item} as filter, contains invalid characters") + filter_item = item[:invalid_char_index] + warn(f"Truncating filter value {item} --> {filter_item}") + else: + filter_item = item + filter_items.append(filter_item) + + if have_multiple: + return filter_items + else: + return filter_items[0] diff --git a/fairgraph/registry.py b/fairgraph/registry.py index 3803d89c..5d2b1cd1 100644 --- a/fairgraph/registry.py +++ b/fairgraph/registry.py @@ -6,55 +6,16 @@ from __future__ import annotations from itertools import chain -from typing import TYPE_CHECKING, Union, List +from typing import TYPE_CHECKING, Union, List, Dict from warnings import warn +from openminds.properties import Property +from openminds.registry import Registry + +from .base import OPENMINDS_VERSION + if TYPE_CHECKING: - from .base import ContainsMetadata - -registry: dict = {"names": {}, "types": {}} - - -def register_class(target_class: ContainsMetadata): - """Add a class to the registry""" - if "openminds" in target_class.__module__: - parts = target_class.__module__.split(".") - name = ".".join(parts[1:3] + [target_class.__name__]) # e.g. openminds.core.Dataset - else: - name = target_class.__module__.split(".")[-1] + "." + target_class.__name__ - - registry["names"][name] = target_class - if hasattr(target_class, "type_"): - assert isinstance(target_class.type_, str) - type_ = target_class.type_ - if type_ in registry["types"]: - if isinstance(registry["types"][type_], list): - registry["types"][type_].append(target_class) - else: - registry["types"][type_] = [registry["types"][type_], target_class] - else: - registry["types"][type_] = target_class - # during the openMINDS v3 - v4 transition, we register both - # old and new type namespaces - if "openminds.ebrains.eu" in type_: - alt_type = f"https://openminds.om-i.org/types/{type_.split('/')[-1]}" - registry["types"][alt_type] = target_class - - -def lookup(class_name: str) -> ContainsMetadata: - """Return the class whose name is given.""" - return registry["names"][class_name] - - -def lookup_type(class_type: Union[str, List[str]]) -> ContainsMetadata: - """Return the class whose global type identifier (a URI) is given.""" - if isinstance(class_type, str): - if class_type in registry["types"]: - return registry["types"][class_type] - else: - return registry["types"][(class_type,)] - else: - return registry["types"][tuple(sorted(class_type))] + from .node import ContainsMetadata docstring_template = """ @@ -67,25 +28,32 @@ def lookup_type(class_type: Union[str, List[str]]) -> ContainsMetadata: """ -class Registry(type): +class Node(Registry): """Metaclass for registering Knowledge Graph classes.""" - properties = [] - reverse_properties = [] - aliases = {} + properties: List[Property] = [] + type_: Union[str, List[str]] + context: Dict[str, str] + _base_docstring: str def __new__(meta, name, bases, class_dict): - cls = type.__new__(meta, name, bases, class_dict) - cls._base_docstring = class_dict.get("__doc__", "").strip() - cls._property_lookup = { - prop.name: prop for prop in (cls.properties + cls.reverse_properties) - } - register_class(cls) + # 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' + # --> 'openminds.v4.sands.AnatomicalTargetPosition' + class_dict["class_name"] = ".".join( + class_dict["__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)} return cls def _get_doc(cls) -> str: """Dynamically generate docstrings""" - property_docs = [] + # todo: consider generating the docstring in the build pipeline, + # avoiding all this run-time messing about + field_docs = [] if hasattr(cls, "properties"): def gen_path(type_): @@ -94,24 +62,28 @@ def gen_path(type_): else: return "~{}.{}".format(type_.__module__, type_.__name__) - for prop in cls.all_properties: - doc = "{} : {}\n {}".format(prop.name, ", ".join(gen_path(t) for t in prop.types), prop.doc) - property_docs.append(doc) - return docstring_template.format(base=cls._base_docstring, args="\n".join(property_docs)) + for property in cls.all_properties: + doc = "{} : {}\n {}".format( + property.name, ", ".join(gen_path(t) for t in property.types), property.description + ) + # todo: add property.instructions if present + field_docs.append(doc) + # todo: also document id, data, space, scope + return docstring_template.format(base=cls._base_docstring, args="\n".join(field_docs)) - __doc__ = property(_get_doc) + __doc__ = property(_get_doc) # type: ignore[assignment] @property - def property_names(cls) -> List[str]: - return list(cls._property_lookup.keys()) + def all_properties(cls): + return chain(cls.properties, cls.reverse_properties) @property - def required_property_names(cls) -> List[str]: - return [f.name for f in cls.properties if f.required] + def all_property_names(cls): + return [p.name for p in cls.all_properties] @property - def all_properties(cls): - return chain(cls.properties, cls.reverse_properties) + def reverse_property_names(cls): + return [p.name for p in cls.reverse_properties] @property def fields(cls): diff --git a/fairgraph/utility.py b/fairgraph/utility.py index 9c10d3a2..66ff3b8b 100644 --- a/fairgraph/utility.py +++ b/fairgraph/utility.py @@ -18,11 +18,16 @@ # limitations under the License. from __future__ import annotations +from copy import deepcopy import hashlib import logging from typing import Any, Dict, Iterable, List, Optional, Tuple, Union, TYPE_CHECKING import warnings +from openminds.registry import lookup_type + +from .base import OPENMINDS_VERSION + if TYPE_CHECKING: from .client import KGClient from .kgobject import KGObject @@ -96,11 +101,14 @@ def expand_uri(uri_list: Union[str, List[str]], context: Dict[str, Any]) -> Unio if uri.startswith("http") or uri.startswith("@"): expanded_uris.append(uri) else: - prefix, identifier = uri.split(":") - if prefix.startswith("^"): # used to indicate a reverse connection - prefix = prefix[1:] + parts = uri.split(":") + if len(parts) == 1: + prefix = "@vocab" + identifier = uri + else: + prefix, identifier = parts if prefix not in context: - raise ValueError("prefix {prefix} not found in context") + raise ValueError(f"prefix {prefix} not found in context") base_url = context[prefix] if not base_url.endswith("/"): base_url += "/" @@ -142,7 +150,10 @@ def compact_uri( if uri.startswith(base_url): start = len(base_url) identifier = uri[start:].strip("/") - compacted_uris.append(f"{prefix}:{identifier}") + if prefix == "@vocab": + compacted_uris.append(identifier) + else: + compacted_uris.append(f"{prefix}:{identifier}") found = True break if not found: @@ -195,28 +206,30 @@ def normalize_data(data: Union[None, JSONdict], context: Dict[str, Any]) -> Unio normalized: JSONdict = {} for key, value in data.items(): assert isinstance(key, str) - if key.startswith("Q"): + if key == "@context": + continue + elif key.startswith("Q"): expanded_key = key else: result = expand_uri(key, context) assert isinstance(result, str) # for type checking expanded_key = result assert expanded_key.startswith("http") or expanded_key.startswith("@") or expanded_key.startswith("Q") + if hasattr(value, "__len__") and len(value) == 0: pass elif value is None: pass - elif isinstance(value, (list, tuple)) and key != "@type": - # note that we special-case "@type" for now + elif expanded_key == "@type": + normalized[expanded_key] = value + elif isinstance(value, (list, tuple)): normalized[expanded_key] = [] for item in value: if isinstance(item, dict): normalized[expanded_key].append(normalize_data(item, context)) else: normalized[expanded_key].append(item) - if len(value) == 1: - normalized[expanded_key] = normalized[expanded_key][0] - elif isinstance(value, dict) and expanded_key != "@context": + elif isinstance(value, dict): normalized[expanded_key] = normalize_data(value, context) else: normalized[expanded_key] = value @@ -429,7 +442,134 @@ def types_match(a, b): if a == b: return True elif a.split("/")[-1] == b.split("/")[-1]: - logger.warning(f"Replacing {a} with {b}") + logger.warning(f"Assuming {a} matches {b} in types_match()") return True else: return False + + +def _adapt_namespaces(data, adapt_keys, adapt_type, adapt_instance_uri): + if isinstance(data, list): + for item in data: + _adapt_namespaces(item, adapt_keys, adapt_type, adapt_instance_uri) + elif isinstance(data, dict): + # adapt property URIs + old_keys = tuple(data.keys()) + new_keys = adapt_keys(old_keys) + for old_key, new_key in zip(old_keys, new_keys): + data[new_key] = data.pop(old_key) + for key, value in data.items(): + if key == "@id": + data[key] = adapt_instance_uri(value) + elif isinstance(value, (list, dict)): + _adapt_namespaces(value, adapt_keys, adapt_type, adapt_instance_uri) + # adapt @type URIs + if "@type" in data: + data["@type"] = adapt_type(data["@type"]) + else: + pass + + +def adapt_namespaces_3to4(data): + + def adapt_keys_3to4(uri_list): + replacement = ("openminds.ebrains.eu/vocab", "openminds.om-i.org/props") + return (uri.replace(*replacement) for uri in uri_list) + + def adapt_type_3to4(uri): + if isinstance(uri, list): + assert len(uri) == 1 + uri = uri[0] + return f"https://openminds.om-i.org/types/{uri.split('/')[-1]}" + + def adapt_instance_uri_3to4(uri): + if uri.startswith("https://openminds"): + return uri.replace("ebrains.eu", "om-i.org") + else: + return uri + + return _adapt_namespaces(data, adapt_keys_3to4, adapt_type_3to4, adapt_instance_uri_3to4) + + +def adapt_type_4to3(uri): + if isinstance(uri, list): + assert len(uri) == 1 + uri = uri[0] + cls = lookup_type(uri, OPENMINDS_VERSION) + + if cls.__module__ == "test.test_client": + return cls.type_ + + module_name = cls.__module__.split(".")[2] # e.g., 'fairgraph.openminds.core.actors.person' -> "core" + module_name = { + "controlled_terms": "controlledTerms", + "specimen_prep": "specimenPrep" + }.get(module_name, module_name) + return f"https://openminds.ebrains.eu/{module_name}/{cls.__name__}" + + +def adapt_namespaces_4to3(data): + + def adapt_keys_4to3(uri_list): + replacement = ("openminds.om-i.org/props", "openminds.ebrains.eu/vocab") + return (uri.replace(*replacement) for uri in uri_list) + + def adapt_instance_uri_4to3(uri): + if uri.startswith("https://openminds"): + return uri.replace("om-i.org", "ebrains.eu") + else: + return uri + + return _adapt_namespaces(data, adapt_keys_4to3, adapt_type_4to3, adapt_instance_uri_4to3) + + +def adapt_namespaces_for_query(query): + """Map from v4+ to v3 openMINDS namespace""" + + def adapt_path(item_path, replacement): + if isinstance(item_path, str): + return item_path.replace(*replacement) + elif isinstance(item_path, list): + return [adapt_path(part, replacement) for part in item_path] + else: + assert isinstance(item_path, dict) + new_item_path = item_path.copy() + new_item_path["@id"] = item_path["@id"].replace(*replacement) + if "typeFilter" in item_path: + if isinstance(item_path["typeFilter"], list): + new_item_path["typeFilter"] = [ + {"@id": adapt_type_4to3(subitem["@id"])} + for subitem in item_path["typeFilter"] + ] + else: + new_item_path["typeFilter"]["@id"] = adapt_type_4to3(item_path["typeFilter"]["@id"]) + return new_item_path + + def adapt_structure(structure, replacement): + for item in structure: + item["path"] = adapt_path(item["path"], replacement) + if "structure" in item: + adapt_structure(item["structure"], replacement) + + migrated_query = deepcopy(query) + migrated_query["meta"]["type"] = adapt_type_4to3(migrated_query["meta"]["type"]) + replacement = ("openminds.om-i.org/props", "openminds.ebrains.eu/vocab") + adapt_structure(migrated_query["structure"], replacement) + return migrated_query + + +def initialise_instances(class_list): + """Cast openMINDS instances to their fairgraph subclass""" + for cls in class_list: + cls.set_error_handling(None) + # find parent openMINDS class + for parent_cls in cls.__mro__[1:]: + if parent_cls.__name__ == cls.__name__: + # could also do this by looking for issubclass(parent_cls, openminds.Node) + break + for key, value in parent_cls.__dict__.items(): + if isinstance(value, parent_cls): + fg_instance = cls.from_jsonld(value.to_jsonld()) + fg_instance._space = cls.default_space + setattr(cls, key, fg_instance) + cls.set_error_handling("log") \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 4626b53f..9da3fe3c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,7 @@ classifiers = [ keywords = ["ebrains", "hbp", "metadata", "electrophysiology", "knowledge-graph"] dependencies=[ "ebrains-kg-core", + "openminds", "python-dateutil", "tabulate", "requests" diff --git a/requirements.txt b/requirements.txt index 09fd6328..7d2404ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ ebrains-kg-core +openminds @ git+https://github.com/apdavison/openMINDS_Python@custom python-dateutil tabulate requests diff --git a/test/test_base.py b/test/test_base.py index 19ad0fe9..86774205 100644 --- a/test/test_base.py +++ b/test/test_base.py @@ -5,10 +5,11 @@ from datetime import date, datetime from numbers import Real +from openminds.base import LinkedMetadata, EmbeddedMetadata as OMEmbeddedMetadata +from openminds.properties import Property from fairgraph.embedded import EmbeddedMetadata from fairgraph.kgobject import KGObject from fairgraph.kgproxy import KGProxy -from fairgraph.properties import Property from fairgraph.caching import generate_cache_key from fairgraph.errors import CannotBuildExistenceQuery from fairgraph.base import ErrorHandling @@ -16,8 +17,10 @@ import pytest -class MockEmbeddedObject(EmbeddedMetadata): +class MockEmbeddedObject(EmbeddedMetadata, OMEmbeddedMetadata): type_ = "https://openminds.ebrains.eu/mock/MockEmbeddedObject" + schema_version = "latest" + preferred_import_path = "test.test_base.MockEmbeddedObject" context = { "schema": "http://schema.org/", "kg": "https://kg.ebrains.eu/api/instances/", @@ -51,9 +54,11 @@ class MockEmbeddedObject(EmbeddedMetadata): existence_query_properties = ("a_number",) -class MockKGObject2(KGObject): +class MockKGObject2(KGObject, LinkedMetadata): default_space = "mock" type_ = "https://openminds.ebrains.eu/mock/MockKGObject2" + schema_version = "latest" + preferred_import_path = "test.test_base.MockKGObject2" context = { "schema": "http://schema.org/", "kg": "https://kg.ebrains.eu/api/instances/", @@ -64,9 +69,11 @@ class MockKGObject2(KGObject): reverse_properties = [] -class MockKGObject(KGObject): +class MockKGObject(KGObject, LinkedMetadata): default_space = "mock" type_ = "https://openminds.ebrains.eu/mock/MockKGObject" + schema_version = "latest" + preferred_import_path = "test.test_base.MockKGObject" context = { "schema": "http://schema.org/", "kg": "https://kg.ebrains.eu/api/instances/", @@ -132,14 +139,14 @@ class MockKGObject(KGObject): ), Property( "a_required_linked_object", - ["test_base.MockKGObject", MockKGObject2], + ["test.test_base.MockKGObject", MockKGObject2], "https://openminds.ebrains.eu/vocab/aRequiredLinkedObject", multiple=False, required=True, ), Property( "a_required_list_of_linked_objects", - ["test_base.MockKGObject", MockKGObject2], + ["test.test_base.MockKGObject", MockKGObject2], "https://openminds.ebrains.eu/vocab/aRequiredListOfLinkedObjects", multiple=True, required=True, @@ -153,7 +160,7 @@ class MockKGObject(KGObject): ), Property( "an_optional_list_of_linked_objects", - ["test_base.MockKGObject", MockKGObject2], + ["test.test_base.MockKGObject", MockKGObject2], "https://openminds.ebrains.eu/vocab/anOptionalListOfLinkedObjects", multiple=True, required=False, @@ -203,13 +210,13 @@ class TestKGObject(object): object_counter = 0 def _construct_embedded_object_required_properties(self, n): - return MockEmbeddedObject(a_number=float(n)) + return MockEmbeddedObject(a_number=n) def _construct_object_required_properties(self): data = { "https://openminds.ebrains.eu/vocab/aRequiredDateTime": "1789-07-14T00:00:00", "https://openminds.ebrains.eu/vocab/aRequiredEmbeddedObject": { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": -1.0, }, "https://openminds.ebrains.eu/vocab/aRequiredLinkedObject": { @@ -221,11 +228,11 @@ def _construct_object_required_properties(self): ], "https://openminds.ebrains.eu/vocab/aRequiredListOfEmbeddedObjects": [ { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 100.0, }, { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 200.0, }, ], @@ -268,7 +275,7 @@ def _construct_object_all_properties(self): data = { "https://openminds.ebrains.eu/vocab/aRequiredDateTime": "1789-07-14T00:00:00", "https://openminds.ebrains.eu/vocab/aRequiredEmbeddedObject": { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": -1.0, }, "https://openminds.ebrains.eu/vocab/aRequiredLinkedObject": { @@ -280,11 +287,11 @@ def _construct_object_all_properties(self): ], "https://openminds.ebrains.eu/vocab/aRequiredListOfEmbeddedObjects": [ { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 100.0, }, { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 200.0, }, ], @@ -296,7 +303,7 @@ def _construct_object_all_properties(self): "https://openminds.ebrains.eu/vocab/aRequiredString": "apple", "https://openminds.ebrains.eu/vocab/anOptionalDateTime": "1605-11-05T00:00:00", "https://openminds.ebrains.eu/vocab/anOptionalEmbeddedObject": { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 17.0, }, "https://openminds.ebrains.eu/vocab/anOptionalLinkedObject": { @@ -308,11 +315,11 @@ def _construct_object_all_properties(self): ], "https://openminds.ebrains.eu/vocab/anOptionalListOfEmbeddedObjects": [ { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 18.0, }, { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 19.0, }, ], @@ -320,7 +327,7 @@ def _construct_object_all_properties(self): {"@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000001234"}, {"@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000000002"}, ], - "https://openminds.ebrains.eu/vocab/anOptionalListOfStrings": "plum, peach, apricot", + "https://openminds.ebrains.eu/vocab/anOptionalListOfStrings": ["plum, peach, apricot"], "https://openminds.ebrains.eu/vocab/anOptionalString": "melon", } return MockKGObject( @@ -329,7 +336,7 @@ def _construct_object_all_properties(self): a_required_string="apple", a_required_list_of_strings=["banana", "pear"], an_optional_string="melon", - an_optional_list_of_strings=["plum, peach, apricot"], + an_optional_list_of_strings=["plum, peach, apricot"], # note that this is a single string containing commas a_required_datetime=datetime(1789, 7, 14), a_required_list_of_datetimes=[datetime(1900, 1, 1), datetime(2000, 1, 1)], an_optional_datetime=datetime(1605, 11, 5), @@ -390,24 +397,27 @@ def test_build_existence_query_with_missing_properties(self): prop_name = MockKGObject.existence_query_properties[0] obj.id = None prop = obj._property_lookup[prop_name] - orig_error_handling = prop.error_handling - prop.error_handling = ErrorHandling.none + orig_error_handling = obj.__class__.error_handling + obj.__class__.error_handling = ErrorHandling.none setattr(obj, prop_name, None) # remove a required property with pytest.raises(CannotBuildExistenceQuery) as exc_info: obj._build_existence_query() assert exc_info.value.args[0] == f"Required value for '{prop_name}' is missing" - prop.error_handling = orig_error_handling + obj.__class__.error_handling = orig_error_handling def test_build_data_all_properties(self): obj = self._construct_object_all_properties() expected = { + "@context": { + "@vocab": "https://openminds.ebrains.eu/vocab/", + }, "@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000000001", - "@type": ["https://openminds.ebrains.eu/mock/MockKGObject"], + "@type": "https://openminds.ebrains.eu/mock/MockKGObject", "https://openminds.ebrains.eu/vocab/aRequiredDateTime": "1789-07-14T00:00:00", "https://openminds.ebrains.eu/vocab/aRequiredEmbeddedObject": { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": -1.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": -1, }, "https://openminds.ebrains.eu/vocab/aRequiredLinkedObject": { "@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000000002", @@ -418,12 +428,12 @@ def test_build_data_all_properties(self): ], "https://openminds.ebrains.eu/vocab/aRequiredListOfEmbeddedObjects": [ { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 100.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 100, }, { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 200.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 200, }, ], "https://openminds.ebrains.eu/vocab/aRequiredListOfLinkedObjects": [ @@ -434,8 +444,8 @@ def test_build_data_all_properties(self): "https://openminds.ebrains.eu/vocab/aRequiredString": "apple", "https://openminds.ebrains.eu/vocab/anOptionalDateTime": "1605-11-05T00:00:00", "https://openminds.ebrains.eu/vocab/anOptionalEmbeddedObject": { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 17.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 17, }, "https://openminds.ebrains.eu/vocab/anOptionalLinkedObject": { "@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000000123" @@ -446,22 +456,22 @@ def test_build_data_all_properties(self): ], "https://openminds.ebrains.eu/vocab/anOptionalListOfEmbeddedObjects": [ { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 18.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 18, }, { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 19.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 19, }, ], "https://openminds.ebrains.eu/vocab/anOptionalListOfLinkedObjects": [ {"@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000001234"}, {"@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000000002"}, ], - "https://openminds.ebrains.eu/vocab/anOptionalListOfStrings": "plum, peach, apricot", + "https://openminds.ebrains.eu/vocab/anOptionalListOfStrings": ["plum, peach, apricot"], "https://openminds.ebrains.eu/vocab/anOptionalString": "melon", } - assert obj.to_jsonld(include_empty_properties=True) == expected + assert obj.to_jsonld(include_empty_properties=False, embed_linked_nodes=False) == expected def test_modified_data(self): obj = self._construct_object_all_properties() @@ -477,11 +487,11 @@ def test_modified_data(self): "https://openminds.ebrains.eu/vocab/aRequiredString": "pomme", "https://openminds.ebrains.eu/vocab/anOptionalListOfEmbeddedObjects": [ { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": -18, }, { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", "https://openminds.ebrains.eu/vocab/aNumber": 19, }, ], @@ -497,7 +507,7 @@ def test_update(self): "https://openminds.ebrains.eu/vocab/aRequiredListOfStrings": ["kumquat", "bilberry"], "https://openminds.ebrains.eu/vocab/anOptionalDateTime": "1789-07-14T00:00:00", } - obj._update_empty_properties(new_data, client=None) + obj._update_empty_properties(new_data) assert obj.a_required_list_of_strings == [ "banana", "pear", @@ -509,34 +519,37 @@ def test_exists__it_does_exist(self): class MockClient: def instance_from_full_uri(self, id, use_cache=True, scope="in progress", require_full_data=True): - data = orig_object.to_jsonld(include_empty_properties=True) + data = orig_object.to_jsonld(include_empty_properties=False, embed_linked_nodes=False) data["https://core.kg.ebrains.eu/vocab/meta/space"] = "collab-foobar" data["@id"] = orig_object.id - data["@context"] = orig_object.context data["@type"] = orig_object.type_ return data MockKGObject.set_error_handling("none") # stop the constructor from complaining - new_obj = MockKGObject(id=orig_object.id, a_required_list_of_strings=["coconut"], an_optional_string="lime") + new_obj = MockKGObject( + id=orig_object.id, + a_required_list_of_strings=["coconut"], + an_optional_string="lime", + a_required_embedded_object=MockEmbeddedObject(a_number=41, a_string="forty one") + ) MockKGObject.set_error_handling("error") assert new_obj.a_required_list_of_strings == ["coconut"] assert new_obj.remote_data == {} - assert new_obj.a_required_embedded_object == None + assert new_obj.a_required_embedded_object.a_string == "forty one" assert ( new_obj.exists(MockClient()) and new_obj.space == "collab-foobar" ) # has the side-effect of setting .remote_data - assert new_obj.a_required_embedded_object == MockEmbeddedObject(a_number=41.0) + # check that all the metadata for the existing instance have been retrieved expected = { - "@context": MockKGObject.context, "@id": orig_object.id, "@type": MockKGObject.type_, "https://core.kg.ebrains.eu/vocab/meta/space": "collab-foobar", "https://openminds.ebrains.eu/vocab/aRequiredDateTime": "1789-07-14T00:00:00", "https://openminds.ebrains.eu/vocab/aRequiredEmbeddedObject": { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 41.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 41 }, "https://openminds.ebrains.eu/vocab/aRequiredLinkedObject": { "@id": "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000001234" @@ -547,12 +560,12 @@ def instance_from_full_uri(self, id, use_cache=True, scope="in progress", requir ], "https://openminds.ebrains.eu/vocab/aRequiredListOfEmbeddedObjects": [ { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 42.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 42, }, { - "@type": ["https://openminds.ebrains.eu/mock/MockEmbeddedObject"], - "https://openminds.ebrains.eu/vocab/aNumber": 43.0, + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + "https://openminds.ebrains.eu/vocab/aNumber": 43, }, ], "https://openminds.ebrains.eu/vocab/aRequiredListOfLinkedObjects": [ @@ -571,8 +584,16 @@ def instance_from_full_uri(self, id, use_cache=True, scope="in progress", requir assert new_obj.a_required_datetime == datetime(1789, 7, 14) expected = { - "https://openminds.ebrains.eu/vocab/aRequiredListOfStrings": "coconut", # note no square brackets, single item in list. Is this desired? + "https://openminds.ebrains.eu/vocab/aRequiredListOfStrings": ["coconut"], "https://openminds.ebrains.eu/vocab/anOptionalString": "lime", + "https://openminds.ebrains.eu/vocab/aRequiredEmbeddedObject": { + "@type": "https://openminds.ebrains.eu/mock/MockEmbeddedObject", + # modified embedded metadata needs to include _all_ properties, + # not just those that have changed + "https://openminds.ebrains.eu/vocab/aNumber": 41, + "https://openminds.ebrains.eu/vocab/aString": "forty one", + #"https://openminds.ebrains.eu/vocab/aDate": None, + }, } assert new_obj.modified_data() == expected @@ -582,12 +603,12 @@ def test_exists_insufficient_query_properties(self): obj = self._construct_object_required_properties() obj.id = None prop = obj._property_lookup[prop_name] - orig_error_handling = prop.error_handling - prop.error_handling = ErrorHandling.none + orig_error_handling = obj.__class__.error_handling + obj.__class__.error_handling = ErrorHandling.none setattr(obj, prop_name, None) # remove a required property exists = obj.exists(client=None) assert not exists - prop.error_handling = orig_error_handling + obj.__class__.error_handling = orig_error_handling def test_exists__it_does_not_exist(self): pass @@ -603,9 +624,9 @@ def test_repr(self): "a_required_list_of_linked_objects=[MockKGObject2(a=2345, space=None, " "id=https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000002345), " "MockKGObject2(a=3456, space=None, id=https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000003456)], " - "a_required_embedded_object=MockEmbeddedObject(a_number=41.0), " - "a_required_list_of_embedded_objects=[MockEmbeddedObject(a_number=42.0), " - "MockEmbeddedObject(a_number=43.0)], space=None, " + "a_required_embedded_object=MockEmbeddedObject(a_number=41), " + "a_required_list_of_embedded_objects=[MockEmbeddedObject(a_number=42), " + "MockEmbeddedObject(a_number=43)], space=None, " "id=https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000000002)" ) @@ -619,19 +640,19 @@ class TestKGProxy: def test_initialization_with_class(self): uri = "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000001234" proxy = KGProxy(MockKGObject, uri) - assert proxy.cls is MockKGObject + assert proxy.classes[0] is MockKGObject assert proxy.id == uri def test_initialization_with_string(self): uri = "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000001234" - proxy = KGProxy("test_base.MockKGObject", uri) - assert proxy.cls is MockKGObject + proxy = KGProxy("test.test_base.MockKGObject", uri) + assert proxy.classes[0] is MockKGObject assert proxy.id == uri def test_properties(self): uri = "https://kg.ebrains.eu/api/instances/00000000-0000-0000-0000-000000001234" proxy = KGProxy(MockKGObject, uri) - assert proxy.type == "https://openminds.ebrains.eu/mock/MockKGObject" + assert proxy.type == ["https://openminds.ebrains.eu/mock/MockKGObject"] assert proxy.classes == [MockKGObject] assert proxy.uuid == "00000000-0000-0000-0000-000000001234" diff --git a/test/test_client.py b/test/test_client.py index 60dea174..6c2da548 100644 --- a/test/test_client.py +++ b/test/test_client.py @@ -1,11 +1,12 @@ import os -import json import pytest from kg_core.response import Error as KGError +from fairgraph.kgobject import KGObject from fairgraph.queries import Query, QueryProperty, Filter from fairgraph.errors import AuthenticationError, AuthorizationError, ResourceExistsError -from .utils import kg_client, skip_if_no_connection, MockKGResponse +from fairgraph.base import OPENMINDS_VERSION +from .utils import kg_client, kg_client_curator, skip_if_no_connection, MockKGResponse @skip_if_no_connection @@ -42,8 +43,9 @@ def test_spaces_names_only(kg_client): @skip_if_no_connection def test_query_filter_by_space(kg_client): + query = Query( - node_type="https://openminds.ebrains.eu/core/Model", + node_type="https://openminds.om-i.org/types/Model", label="fg-testing-model", properties=[ QueryProperty("@type"), @@ -53,20 +55,20 @@ def test_query_filter_by_space(kg_client): filter=Filter("EQUALS", value="model"), ), QueryProperty( - "https://openminds.ebrains.eu/vocab/fullName", - name="vocab:fullName", + "https://openminds.om-i.org/props/fullName", + name="fullName", filter=Filter("CONTAINS", parameter="name"), sorted=True, required=True, ), QueryProperty( - "https://openminds.ebrains.eu/vocab/custodian", - name="vocab:custodian", - type_filter="https://openminds.ebrains.eu/core/Person", + "https://openminds.om-i.org/props/custodian", + name="custodian", + type_filter="https://openminds.om-i.org/types/Person", properties=[ QueryProperty( - "https://openminds.ebrains.eu/vocab/familyName", - name="vocab:familyName", + "https://openminds.om-i.org/props/familyName", + name="familyName", ), ], ), @@ -94,9 +96,10 @@ def test_get_admin_client(kg_client): @skip_if_no_connection def test_list_scopes(kg_client): + def _get_models(scope): return kg_client.list( - target_type="https://openminds.ebrains.eu/core/Model", + target_type="https://openminds.om-i.org/types/Model", space="model", from_index=0, size=10000, @@ -173,7 +176,8 @@ def test_store_and_retrieve_query(kg_client, mocker): @skip_if_no_connection def test_configure_space(kg_client, mocker): - class MockType: + class MockType(KGObject): + schema_version = OPENMINDS_VERSION type_ = "hello" mocker.patch.object(kg_client._kg_admin_client, "create_space_definition", lambda space: None) @@ -184,10 +188,12 @@ class MockType: @skip_if_no_connection -def test_is_released(kg_client): +def test_is_released(kg_client_curator): + if kg_client_curator is None: + pytest.skip("Need to set environment variable KG_AUTH_TOKEN_CURATOR") instance_id = "https://kg.ebrains.eu/api/instances/5ed1e9f9-482d-41c7-affd-f1aa887bd618" - kg_client.is_released(instance_id, with_children=True) - kg_client.is_released(instance_id, with_children=False) + kg_client_curator.is_released(instance_id, with_children=True) + kg_client_curator.is_released(instance_id, with_children=False) @skip_if_no_connection diff --git a/test/test_data/queries/openminds/core/accountinformation_simple_query.json b/test/test_data/queries/openminds/core/accountinformation_simple_query.json index f7097c04..5d740115 100644 --- a/test/test_data/queries/openminds/core/accountinformation_simple_query.json +++ b/test/test_data/queries/openminds/core/accountinformation_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/AccountInformation", + "type": "https://openminds.om-i.org/types/AccountInformation", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/service", - "propertyName": "vocab:service", + "path": "https://openminds.om-i.org/props/service", + "propertyName": "service", "structure": [ { "path": "@id" @@ -48,18 +48,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/userName", - "propertyName": "vocab:userName" + "path": "https://openminds.om-i.org/props/userName", + "propertyName": "userName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/associatedAccount", + "@id": "https://openminds.om-i.org/props/associatedAccount", "reverse": true }, - "propertyName": "vocab:associatedAccount", + "propertyName": "associatedAccount", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/behavioralprotocol_simple_query.json b/test/test_data/queries/openminds/core/behavioralprotocol_simple_query.json index dd92bdf3..427642ae 100644 --- a/test/test_data/queries/openminds/core/behavioralprotocol_simple_query.json +++ b/test/test_data/queries/openminds/core/behavioralprotocol_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/BehavioralProtocol", + "type": "https://openminds.om-i.org/types/BehavioralProtocol", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/describedIn", - "propertyName": "vocab:describedIn", + "path": "https://openminds.om-i.org/props/describedIn", + "propertyName": "describedIn", "ensureOrder": true, "structure": [ { @@ -52,21 +52,21 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/stimulation", - "propertyName": "vocab:stimulation", + "path": "https://openminds.om-i.org/props/stimulation", + "propertyName": "stimulation", "ensureOrder": true, "structure": [ { @@ -78,8 +78,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/stimulusType", - "propertyName": "vocab:stimulusType", + "path": "https://openminds.om-i.org/props/stimulusType", + "propertyName": "stimulusType", "ensureOrder": true, "structure": [ { @@ -92,10 +92,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -108,10 +108,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/behavioralProtocol", + "@id": "https://openminds.om-i.org/props/behavioralProtocol", "reverse": true }, - "propertyName": "vocab:behavioralProtocol", + "propertyName": "behavioralProtocol", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/comment_simple_query.json b/test/test_data/queries/openminds/core/comment_simple_query.json index 40085385..07595bd5 100644 --- a/test/test_data/queries/openminds/core/comment_simple_query.json +++ b/test/test_data/queries/openminds/core/comment_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Comment", + "type": "https://openminds.om-i.org/types/Comment", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/about", - "propertyName": "vocab:about", + "path": "https://openminds.om-i.org/props/about", + "propertyName": "about", "structure": [ { "path": "@id" @@ -48,15 +48,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/comment", - "propertyName": "vocab:comment" + "path": "https://openminds.om-i.org/props/comment", + "propertyName": "comment" }, { - "path": "https://openminds.ebrains.eu/vocab/commenter", - "propertyName": "vocab:commenter", + "path": "https://openminds.om-i.org/props/commenter", + "propertyName": "commenter", "structure": [ { "path": "@id" @@ -64,11 +65,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/timestamp", - "propertyName": "vocab:timestamp" + "path": "https://openminds.om-i.org/props/timestamp", + "propertyName": "timestamp" } ] } \ No newline at end of file diff --git a/test/test_data/queries/openminds/core/configuration_simple_query.json b/test/test_data/queries/openminds/core/configuration_simple_query.json index ed031fe3..5a44fb46 100644 --- a/test/test_data/queries/openminds/core/configuration_simple_query.json +++ b/test/test_data/queries/openminds/core/configuration_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Configuration", + "type": "https://openminds.om-i.org/types/Configuration", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/configuration", - "propertyName": "vocab:configuration" + "path": "https://openminds.om-i.org/props/configuration", + "propertyName": "configuration" }, { - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "structure": [ { "path": "@id" @@ -52,19 +52,20 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/configuration", + "@id": "https://openminds.om-i.org/props/configuration", "reverse": true }, - "propertyName": "vocab:configuration", + "propertyName": "configuration", "ensureOrder": true, "structure": [ { @@ -77,10 +78,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/specification", + "@id": "https://openminds.om-i.org/props/specification", "reverse": true }, - "propertyName": "vocab:specification", + "propertyName": "specification", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/consortium_simple_query.json b/test/test_data/queries/openminds/core/consortium_simple_query.json index 1d9dd4d0..ead5dfd2 100644 --- a/test/test_data/queries/openminds/core/consortium_simple_query.json +++ b/test/test_data/queries/openminds/core/consortium_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Consortium", + "type": "https://openminds.om-i.org/types/Consortium", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "path": "https://openminds.om-i.org/props/contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -48,27 +48,28 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -81,10 +82,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -97,10 +98,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -113,22 +114,22 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "reverse": true }, - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -136,20 +137,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -162,10 +164,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -178,10 +180,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -194,10 +196,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -210,10 +212,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/contactinformation_simple_query.json b/test/test_data/queries/openminds/core/contactinformation_simple_query.json index 3559e8f9..fc7141c9 100644 --- a/test/test_data/queries/openminds/core/contactinformation_simple_query.json +++ b/test/test_data/queries/openminds/core/contactinformation_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ContactInformation", + "type": "https://openminds.om-i.org/types/ContactInformation", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/email", - "propertyName": "vocab:email" + "path": "https://openminds.om-i.org/props/email", + "propertyName": "email" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/contactInformation", + "@id": "https://openminds.om-i.org/props/contactInformation", "reverse": true }, - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/contenttype_simple_query.json b/test/test_data/queries/openminds/core/contenttype_simple_query.json index f21c85b7..9651e773 100644 --- a/test/test_data/queries/openminds/core/contenttype_simple_query.json +++ b/test/test_data/queries/openminds/core/contenttype_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ContentType", + "type": "https://openminds.om-i.org/types/ContentType", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/dataType", - "propertyName": "vocab:dataType", + "path": "https://openminds.om-i.org/props/dataType", + "propertyName": "dataType", "ensureOrder": true, "structure": [ { @@ -52,42 +52,42 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/displayLabel", - "propertyName": "vocab:displayLabel" + "path": "https://openminds.om-i.org/props/displayLabel", + "propertyName": "displayLabel" }, { - "path": "https://openminds.ebrains.eu/vocab/fileExtension", - "propertyName": "vocab:fileExtension", + "path": "https://openminds.om-i.org/props/fileExtension", + "propertyName": "fileExtension", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/relatedMediaType", - "propertyName": "vocab:relatedMediaType" + "path": "https://openminds.om-i.org/props/relatedMediaType", + "propertyName": "relatedMediaType" }, { - "path": "https://openminds.ebrains.eu/vocab/specification", - "propertyName": "vocab:specification" + "path": "https://openminds.om-i.org/props/specification", + "propertyName": "specification" }, { - "path": "https://openminds.ebrains.eu/vocab/synonym", - "propertyName": "vocab:synonym", + "path": "https://openminds.om-i.org/props/synonym", + "propertyName": "synonym", "ensureOrder": true }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/contentType", + "@id": "https://openminds.om-i.org/props/contentType", "reverse": true }, - "propertyName": "vocab:contentType", + "propertyName": "contentType", "ensureOrder": true, "structure": [ { @@ -100,10 +100,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/format", + "@id": "https://openminds.om-i.org/props/format", "reverse": true }, - "propertyName": "vocab:format", + "propertyName": "format", "ensureOrder": true, "structure": [ { @@ -116,10 +116,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/outputFormat", + "@id": "https://openminds.om-i.org/props/outputFormat", "reverse": true }, - "propertyName": "vocab:outputFormat", + "propertyName": "outputFormat", "ensureOrder": true, "structure": [ { @@ -132,10 +132,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/specificationFormat", + "@id": "https://openminds.om-i.org/props/specificationFormat", "reverse": true }, - "propertyName": "vocab:specificationFormat", + "propertyName": "specificationFormat", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/contenttypepattern_simple_query.json b/test/test_data/queries/openminds/core/contenttypepattern_simple_query.json index 0cd6dbcf..c4ef9edb 100644 --- a/test/test_data/queries/openminds/core/contenttypepattern_simple_query.json +++ b/test/test_data/queries/openminds/core/contenttypepattern_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ContentTypePattern", + "type": "https://openminds.om-i.org/types/ContentTypePattern", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contentType", - "propertyName": "vocab:contentType", + "path": "https://openminds.om-i.org/props/contentType", + "propertyName": "contentType", "structure": [ { "path": "@id" @@ -48,23 +48,24 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/regex", - "propertyName": "vocab:regex" + "path": "https://openminds.om-i.org/props/regex", + "propertyName": "regex" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/contentTypePattern", + "@id": "https://openminds.om-i.org/props/contentTypePattern", "reverse": true }, - "propertyName": "vocab:contentTypePattern", + "propertyName": "contentTypePattern", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/dataset_simple_query.json b/test/test_data/queries/openminds/core/dataset_simple_query.json index b5d1faed..26c8c211 100644 --- a/test/test_data/queries/openminds/core/dataset_simple_query.json +++ b/test/test_data/queries/openminds/core/dataset_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Dataset", + "type": "https://openminds.om-i.org/types/Dataset", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/author", - "propertyName": "vocab:author", + "path": "https://openminds.om-i.org/props/author", + "propertyName": "author", "ensureOrder": true, "structure": [ { @@ -52,8 +52,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -65,12 +65,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -78,16 +78,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/hasVersion", - "propertyName": "vocab:hasVersion", + "path": "https://openminds.om-i.org/props/hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -99,23 +100,23 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -128,10 +129,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -144,10 +145,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/dataset_simple_query_v4.json b/test/test_data/queries/openminds/core/dataset_simple_query_v4.json deleted file mode 100644 index 1350b946..00000000 --- a/test/test_data/queries/openminds/core/dataset_simple_query_v4.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "@context": { - "@vocab": "https://core.kg.ebrains.eu/vocab/query/", - "query": "https://schema.hbp.eu/myQuery/", - "propertyName": { - "@id": "propertyName", - "@type": "@id" - }, - "merge": { - "@type": "@id", - "@id": "merge" - }, - "path": { - "@id": "path", - "@type": "@id" - } - }, - "meta": { - "type": "https://openminds.om-i.org/types/Dataset", - "description": "Automatically generated by fairgraph" - }, - "structure": [ - { - "path": "@id", - "filter": { - "op": "EQUALS", - "parameter": "id" - } - }, - { - "path": "https://core.kg.ebrains.eu/vocab/meta/space", - "propertyName": "query:space", - "filter": { - "op": "EQUALS", - "value": "collab-foobar" - } - }, - { - "path": "@type" - }, - { - "path": "https://openminds.om-i.org/props/author", - "propertyName": "vocab:author", - "ensureOrder": true, - "structure": [ - { - "path": "@id" - }, - { - "path": "@type" - } - ] - }, - { - "path": "https://openminds.om-i.org/props/custodian", - "propertyName": "vocab:custodian", - "ensureOrder": true, - "structure": [ - { - "path": "@id" - }, - { - "path": "@type" - } - ] - }, - { - "path": "https://openminds.om-i.org/props/description", - "propertyName": "vocab:description" - }, - { - "path": "https://openminds.om-i.org/props/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", - "structure": [ - { - "path": "@id" - }, - { - "path": "@type" - } - ] - }, - { - "path": "https://openminds.om-i.org/props/fullName", - "propertyName": "vocab:fullName", - "sort": true - }, - { - "path": "https://openminds.om-i.org/props/hasVersion", - "propertyName": "vocab:hasVersion", - "ensureOrder": true, - "structure": [ - { - "path": "@id" - }, - { - "path": "@type" - } - ] - }, - { - "path": "https://openminds.om-i.org/props/homepage", - "propertyName": "vocab:homepage" - }, - { - "path": "https://openminds.om-i.org/props/howToCite", - "propertyName": "vocab:howToCite" - }, - { - "path": "https://openminds.om-i.org/props/shortName", - "propertyName": "vocab:shortName" - }, - { - "path": { - "@id": "https://openminds.om-i.org/props/about", - "reverse": true - }, - "propertyName": "vocab:about", - "ensureOrder": true, - "structure": [ - { - "path": "@id" - }, - { - "path": "@type" - } - ] - }, - { - "path": { - "@id": "https://openminds.om-i.org/props/hasPart", - "reverse": true - }, - "propertyName": "vocab:hasPart", - "ensureOrder": true, - "structure": [ - { - "path": "@id" - }, - { - "path": "@type" - } - ] - }, - { - "path": { - "@id": "https://openminds.om-i.org/props/about", - "reverse": true - }, - "propertyName": "vocab:about", - "ensureOrder": true, - "structure": [ - { - "path": "@id" - }, - { - "path": "@type" - } - ] - } - ] -} \ No newline at end of file diff --git a/test/test_data/queries/openminds/core/datasetversion_simple_query.json b/test/test_data/queries/openminds/core/datasetversion_simple_query.json index 105fbe31..91674699 100644 --- a/test/test_data/queries/openminds/core/datasetversion_simple_query.json +++ b/test/test_data/queries/openminds/core/datasetversion_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/DatasetVersion", + "type": "https://openminds.om-i.org/types/DatasetVersion", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/accessibility", - "propertyName": "vocab:accessibility", + "path": "https://openminds.om-i.org/props/accessibility", + "propertyName": "accessibility", "structure": [ { "path": "@id" @@ -48,11 +48,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/author", - "propertyName": "vocab:author", + "path": "https://openminds.om-i.org/props/author", + "propertyName": "author", "ensureOrder": true, "structure": [ { @@ -64,8 +65,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/behavioralProtocol", - "propertyName": "vocab:behavioralProtocol", + "path": "https://openminds.om-i.org/props/behavioralProtocol", + "propertyName": "behavioralProtocol", "ensureOrder": true, "structure": [ { @@ -77,15 +78,15 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/copyright", - "propertyName": "vocab:copyright", + "path": "https://openminds.om-i.org/props/copyright", + "propertyName": "copyright", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/holder", - "propertyName": "vocab:holder", + "path": "https://openminds.om-i.org/props/holder", + "propertyName": "holder", "ensureOrder": true, "structure": [ { @@ -97,15 +98,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/year", - "propertyName": "vocab:year", + "path": "https://openminds.om-i.org/props/year", + "propertyName": "year", "ensureOrder": true } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -117,8 +119,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/dataType", - "propertyName": "vocab:dataType", + "path": "https://openminds.om-i.org/props/dataType", + "propertyName": "dataType", "ensureOrder": true, "structure": [ { @@ -130,12 +132,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -143,11 +145,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/ethicsAssessment", - "propertyName": "vocab:ethicsAssessment", + "path": "https://openminds.om-i.org/props/ethicsAssessment", + "propertyName": "ethicsAssessment", "structure": [ { "path": "@id" @@ -155,11 +158,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/experimentalApproach", - "propertyName": "vocab:experimentalApproach", + "path": "https://openminds.om-i.org/props/experimentalApproach", + "propertyName": "experimentalApproach", "ensureOrder": true, "structure": [ { @@ -171,8 +175,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullDocumentation", - "propertyName": "vocab:fullDocumentation", + "path": "https://openminds.om-i.org/props/fullDocumentation", + "propertyName": "fullDocumentation", "structure": [ { "path": "@id" @@ -180,16 +184,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/funding", - "propertyName": "vocab:funding", + "path": "https://openminds.om-i.org/props/funding", + "propertyName": "funding", "ensureOrder": true, "structure": [ { @@ -201,16 +206,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/inputData", - "propertyName": "vocab:inputData", + "path": "https://openminds.om-i.org/props/inputData", + "propertyName": "inputData", "ensureOrder": true, "structure": [ { @@ -222,8 +227,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isAlternativeVersionOf", - "propertyName": "vocab:isAlternativeVersionOf", + "path": "https://openminds.om-i.org/props/isAlternativeVersionOf", + "propertyName": "isAlternativeVersionOf", "ensureOrder": true, "structure": [ { @@ -235,8 +240,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isNewVersionOf", - "propertyName": "vocab:isNewVersionOf", + "path": "https://openminds.om-i.org/props/isNewVersionOf", + "propertyName": "isNewVersionOf", "structure": [ { "path": "@id" @@ -244,11 +249,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/keyword", - "propertyName": "vocab:keyword", + "path": "https://openminds.om-i.org/props/keyword", + "propertyName": "keyword", "ensureOrder": true, "structure": [ { @@ -260,8 +266,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/license", - "propertyName": "vocab:license", + "path": "https://openminds.om-i.org/props/license", + "propertyName": "license", "structure": [ { "path": "@id" @@ -269,19 +275,20 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/otherContribution", - "propertyName": "vocab:otherContribution", + "path": "https://openminds.om-i.org/props/otherContribution", + "propertyName": "otherContribution", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contributor", - "propertyName": "vocab:contributor", + "path": "https://openminds.om-i.org/props/contributor", + "propertyName": "contributor", "structure": [ { "path": "@id" @@ -289,11 +296,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "ensureOrder": true, "structure": [ { @@ -307,8 +315,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/preparationDesign", - "propertyName": "vocab:preparationDesign", + "path": "https://openminds.om-i.org/props/preparationDesign", + "propertyName": "preparationDesign", "ensureOrder": true, "structure": [ { @@ -320,8 +328,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/protocol", - "propertyName": "vocab:protocol", + "path": "https://openminds.om-i.org/props/protocol", + "propertyName": "protocol", "ensureOrder": true, "structure": [ { @@ -333,8 +341,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/relatedPublication", - "propertyName": "vocab:relatedPublication", + "path": "https://openminds.om-i.org/props/relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { @@ -346,12 +354,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/releaseDate", - "propertyName": "vocab:releaseDate" + "path": "https://openminds.om-i.org/props/releaseDate", + "propertyName": "releaseDate" }, { - "path": "https://openminds.ebrains.eu/vocab/repository", - "propertyName": "vocab:repository", + "path": "https://openminds.om-i.org/props/repository", + "propertyName": "repository", "structure": [ { "path": "@id" @@ -359,15 +367,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { - "path": "https://openminds.ebrains.eu/vocab/studiedSpecimen", - "propertyName": "vocab:studiedSpecimen", + "path": "https://openminds.om-i.org/props/studiedSpecimen", + "propertyName": "studiedSpecimen", "ensureOrder": true, "structure": [ { @@ -379,8 +388,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/studyTarget", - "propertyName": "vocab:studyTarget", + "path": "https://openminds.om-i.org/props/studyTarget", + "propertyName": "studyTarget", "ensureOrder": true, "structure": [ { @@ -392,13 +401,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/supportChannel", - "propertyName": "vocab:supportChannel", + "path": "https://openminds.om-i.org/props/supportChannel", + "propertyName": "supportChannel", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/technique", - "propertyName": "vocab:technique", + "path": "https://openminds.om-i.org/props/technique", + "propertyName": "technique", "ensureOrder": true, "structure": [ { @@ -410,19 +419,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/versionIdentifier", - "propertyName": "vocab:versionIdentifier" + "path": "https://openminds.om-i.org/props/versionIdentifier", + "propertyName": "versionIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/versionInnovation", - "propertyName": "vocab:versionInnovation" + "path": "https://openminds.om-i.org/props/versionInnovation", + "propertyName": "versionInnovation" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -435,10 +444,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isPartOf", + "@id": "https://openminds.om-i.org/props/isPartOf", "reverse": true }, - "propertyName": "vocab:isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { @@ -451,10 +460,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/input", + "@id": "https://openminds.om-i.org/props/input", "reverse": true }, - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -467,10 +476,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isNewVersionOf", + "@id": "https://openminds.om-i.org/props/isNewVersionOf", "reverse": true }, - "propertyName": "vocab:isNewVersionOf", + "propertyName": "isNewVersionOf", "ensureOrder": true, "structure": [ { @@ -483,10 +492,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -499,10 +508,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasVersion", + "@id": "https://openminds.om-i.org/props/hasVersion", "reverse": true }, - "propertyName": "vocab:hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -515,10 +524,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -531,10 +540,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/doi_simple_query.json b/test/test_data/queries/openminds/core/doi_simple_query.json index 6ff55a4e..8c15499b 100644 --- a/test/test_data/queries/openminds/core/doi_simple_query.json +++ b/test/test_data/queries/openminds/core/doi_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/DOI", + "type": "https://openminds.om-i.org/types/DOI", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/describedIn", + "@id": "https://openminds.om-i.org/props/describedIn", "reverse": true }, - "propertyName": "vocab:describedIn", + "propertyName": "describedIn", "ensureOrder": true, "structure": [ { @@ -60,10 +60,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -76,10 +76,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relatedPublication", + "@id": "https://openminds.om-i.org/props/relatedPublication", "reverse": true }, - "propertyName": "vocab:relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/experimentalactivity_simple_query.json b/test/test_data/queries/openminds/core/experimentalactivity_simple_query.json index d484b19b..ce102988 100644 --- a/test/test_data/queries/openminds/core/experimentalactivity_simple_query.json +++ b/test/test_data/queries/openminds/core/experimentalactivity_simple_query.json @@ -40,11 +40,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel" + "propertyName": "lookupLabel" }, { "path": "https://openminds.ebrains.eu/vocab/customPropertySet", - "propertyName": "vocab:customPropertySet", + "propertyName": "customPropertySet", "filter": { "op": "CONTAINS", "parameter": "custom_property_sets" @@ -56,11 +56,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/context", - "propertyName": "vocab:context" + "propertyName": "context" }, { "path": "https://openminds.ebrains.eu/vocab/definedIn", - "propertyName": "vocab:definedIn", + "propertyName": "definedIn", "structure": [ { "path": "@id" @@ -72,7 +72,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/relevantFor", - "propertyName": "vocab:relevantFor", + "propertyName": "relevantFor", "structure": [ { "path": "@id" @@ -86,15 +86,15 @@ }, { "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "propertyName": "description" }, { "path": "https://openminds.ebrains.eu/vocab/endedAtTime", - "propertyName": "vocab:endedAtTime" + "propertyName": "endedAtTime" }, { "path": "https://openminds.ebrains.eu/vocab/input", - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -107,7 +107,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/isPartOf", - "propertyName": "vocab:isPartOf", + "propertyName": "isPartOf", "structure": [ { "path": "@id" @@ -119,7 +119,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/output", - "propertyName": "vocab:output", + "propertyName": "output", "ensureOrder": true, "structure": [ { @@ -132,7 +132,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/performedBy", - "propertyName": "vocab:performedBy", + "propertyName": "performedBy", "ensureOrder": true, "structure": [ { @@ -145,7 +145,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/preparationDesign", - "propertyName": "vocab:preparationDesign", + "propertyName": "preparationDesign", "structure": [ { "path": "@id" @@ -157,7 +157,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/protocol", - "propertyName": "vocab:protocol", + "propertyName": "protocol", "ensureOrder": true, "structure": [ { @@ -170,11 +170,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/startedAtTime", - "propertyName": "vocab:startedAtTime" + "propertyName": "startedAtTime" }, { "path": "https://openminds.ebrains.eu/vocab/studyTarget", - "propertyName": "vocab:studyTarget", + "propertyName": "studyTarget", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/file_simple_query.json b/test/test_data/queries/openminds/core/file_simple_query.json index d708214b..b2073a8f 100644 --- a/test/test_data/queries/openminds/core/file_simple_query.json +++ b/test/test_data/queries/openminds/core/file_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/File", + "type": "https://openminds.om-i.org/types/File", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contentDescription", - "propertyName": "vocab:contentDescription" + "path": "https://openminds.om-i.org/props/contentDescription", + "propertyName": "contentDescription" }, { - "path": "https://openminds.ebrains.eu/vocab/dataType", - "propertyName": "vocab:dataType", + "path": "https://openminds.om-i.org/props/dataType", + "propertyName": "dataType", "ensureOrder": true, "structure": [ { @@ -56,8 +56,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fileRepository", - "propertyName": "vocab:fileRepository", + "path": "https://openminds.om-i.org/props/fileRepository", + "propertyName": "fileRepository", "structure": [ { "path": "@id" @@ -65,11 +65,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "structure": [ { "path": "@id" @@ -77,33 +78,34 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/hash", - "propertyName": "vocab:hash", + "path": "https://openminds.om-i.org/props/hash", + "propertyName": "hash", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/algorithm", - "propertyName": "vocab:algorithm" + "path": "https://openminds.om-i.org/props/algorithm", + "propertyName": "algorithm" }, { - "path": "https://openminds.ebrains.eu/vocab/digest", - "propertyName": "vocab:digest" + "path": "https://openminds.om-i.org/props/digest", + "propertyName": "digest" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/IRI", - "propertyName": "vocab:IRI" + "path": "https://openminds.om-i.org/props/IRI", + "propertyName": "IRI" }, { - "path": "https://openminds.ebrains.eu/vocab/isPartOf", - "propertyName": "vocab:isPartOf", + "path": "https://openminds.om-i.org/props/isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { @@ -115,13 +117,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/specialUsageRole", - "propertyName": "vocab:specialUsageRole", + "path": "https://openminds.om-i.org/props/specialUsageRole", + "propertyName": "specialUsageRole", "structure": [ { "path": "@id" @@ -129,18 +131,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/storageSize", - "propertyName": "vocab:storageSize", + "path": "https://openminds.om-i.org/props/storageSize", + "propertyName": "storageSize", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -148,16 +151,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -165,20 +169,22 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/fullDocumentation", + "@id": "https://openminds.om-i.org/props/fullDocumentation", "reverse": true }, - "propertyName": "vocab:fullDocumentation", + "propertyName": "fullDocumentation", "ensureOrder": true, "structure": [ { @@ -191,10 +197,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/copyOf", + "@id": "https://openminds.om-i.org/props/copyOf", "reverse": true }, - "propertyName": "vocab:copyOf", + "propertyName": "copyOf", "ensureOrder": true, "structure": [ { @@ -207,10 +213,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -223,10 +229,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/configuration", + "@id": "https://openminds.om-i.org/props/configuration", "reverse": true }, - "propertyName": "vocab:configuration", + "propertyName": "configuration", "ensureOrder": true, "structure": [ { @@ -239,10 +245,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/defaultImage", + "@id": "https://openminds.om-i.org/props/defaultImage", "reverse": true }, - "propertyName": "vocab:defaultImage", + "propertyName": "defaultImage", "ensureOrder": true, "structure": [ { @@ -255,10 +261,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/inputData", + "@id": "https://openminds.om-i.org/props/inputData", "reverse": true }, - "propertyName": "vocab:inputData", + "propertyName": "inputData", "ensureOrder": true, "structure": [ { @@ -271,10 +277,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/previewImage", + "@id": "https://openminds.om-i.org/props/previewImage", "reverse": true }, - "propertyName": "vocab:previewImage", + "propertyName": "previewImage", "ensureOrder": true, "structure": [ { @@ -287,10 +293,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/referenceData", + "@id": "https://openminds.om-i.org/props/referenceData", "reverse": true }, - "propertyName": "vocab:referenceData", + "propertyName": "referenceData", "ensureOrder": true, "structure": [ { @@ -303,10 +309,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/sourceData", + "@id": "https://openminds.om-i.org/props/sourceData", "reverse": true }, - "propertyName": "vocab:sourceData", + "propertyName": "sourceData", "ensureOrder": true, "structure": [ { @@ -319,10 +325,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/filearchive_simple_query.json b/test/test_data/queries/openminds/core/filearchive_simple_query.json index d6ac9e9d..9db348a4 100644 --- a/test/test_data/queries/openminds/core/filearchive_simple_query.json +++ b/test/test_data/queries/openminds/core/filearchive_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/FileArchive", + "type": "https://openminds.om-i.org/types/FileArchive", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "structure": [ { "path": "@id" @@ -48,15 +48,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/IRI", - "propertyName": "vocab:IRI" + "path": "https://openminds.om-i.org/props/IRI", + "propertyName": "IRI" }, { - "path": "https://openminds.ebrains.eu/vocab/sourceData", - "propertyName": "vocab:sourceData", + "path": "https://openminds.om-i.org/props/sourceData", + "propertyName": "sourceData", "ensureOrder": true, "structure": [ { @@ -69,10 +70,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/dataLocation", + "@id": "https://openminds.om-i.org/props/dataLocation", "reverse": true }, - "propertyName": "vocab:dataLocation", + "propertyName": "dataLocation", "ensureOrder": true, "structure": [ { @@ -85,10 +86,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/output", + "@id": "https://openminds.om-i.org/props/output", "reverse": true }, - "propertyName": "vocab:output", + "propertyName": "output", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/filebundle_simple_query.json b/test/test_data/queries/openminds/core/filebundle_simple_query.json index 5bc92186..8ac3f637 100644 --- a/test/test_data/queries/openminds/core/filebundle_simple_query.json +++ b/test/test_data/queries/openminds/core/filebundle_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/FileBundle", + "type": "https://openminds.om-i.org/types/FileBundle", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contentDescription", - "propertyName": "vocab:contentDescription" + "path": "https://openminds.om-i.org/props/contentDescription", + "propertyName": "contentDescription" }, { - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "structure": [ { "path": "@id" @@ -52,11 +52,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/groupedBy", - "propertyName": "vocab:groupedBy", + "path": "https://openminds.om-i.org/props/groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -68,8 +69,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/groupingType", - "propertyName": "vocab:groupingType", + "path": "https://openminds.om-i.org/props/groupingType", + "propertyName": "groupingType", "ensureOrder": true, "structure": [ { @@ -81,25 +82,26 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/hash", - "propertyName": "vocab:hash", + "path": "https://openminds.om-i.org/props/hash", + "propertyName": "hash", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/algorithm", - "propertyName": "vocab:algorithm" + "path": "https://openminds.om-i.org/props/algorithm", + "propertyName": "algorithm" }, { - "path": "https://openminds.ebrains.eu/vocab/digest", - "propertyName": "vocab:digest" + "path": "https://openminds.om-i.org/props/digest", + "propertyName": "digest" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/isPartOf", - "propertyName": "vocab:isPartOf", + "path": "https://openminds.om-i.org/props/isPartOf", + "propertyName": "isPartOf", "structure": [ { "path": "@id" @@ -107,23 +109,24 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/storageSize", - "propertyName": "vocab:storageSize", + "path": "https://openminds.om-i.org/props/storageSize", + "propertyName": "storageSize", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -131,16 +134,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -148,20 +152,22 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/metadataLocation", + "@id": "https://openminds.om-i.org/props/metadataLocation", "reverse": true }, - "propertyName": "vocab:metadataLocation", + "propertyName": "metadataLocation", "ensureOrder": true, "structure": [ { @@ -174,10 +180,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isPartOf", + "@id": "https://openminds.om-i.org/props/isPartOf", "reverse": true }, - "propertyName": "vocab:isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { @@ -190,10 +196,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -206,10 +212,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/inputData", + "@id": "https://openminds.om-i.org/props/inputData", "reverse": true }, - "propertyName": "vocab:inputData", + "propertyName": "inputData", "ensureOrder": true, "structure": [ { @@ -222,10 +228,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/dataLocation", + "@id": "https://openminds.om-i.org/props/dataLocation", "reverse": true }, - "propertyName": "vocab:dataLocation", + "propertyName": "dataLocation", "ensureOrder": true, "structure": [ { @@ -238,10 +244,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/referenceData", + "@id": "https://openminds.om-i.org/props/referenceData", "reverse": true }, - "propertyName": "vocab:referenceData", + "propertyName": "referenceData", "ensureOrder": true, "structure": [ { @@ -254,10 +260,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/specification", + "@id": "https://openminds.om-i.org/props/specification", "reverse": true }, - "propertyName": "vocab:specification", + "propertyName": "specification", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/filerepository_simple_query.json b/test/test_data/queries/openminds/core/filerepository_simple_query.json index daa14666..0f3a5cf0 100644 --- a/test/test_data/queries/openminds/core/filerepository_simple_query.json +++ b/test/test_data/queries/openminds/core/filerepository_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/FileRepository", + "type": "https://openminds.om-i.org/types/FileRepository", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contentTypePattern", - "propertyName": "vocab:contentTypePattern", + "path": "https://openminds.om-i.org/props/contentTypePattern", + "propertyName": "contentTypePattern", "ensureOrder": true, "structure": [ { @@ -52,8 +52,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "structure": [ { "path": "@id" @@ -61,28 +61,30 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/hash", - "propertyName": "vocab:hash", + "path": "https://openminds.om-i.org/props/hash", + "propertyName": "hash", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/algorithm", - "propertyName": "vocab:algorithm" + "path": "https://openminds.om-i.org/props/algorithm", + "propertyName": "algorithm" }, { - "path": "https://openminds.ebrains.eu/vocab/digest", - "propertyName": "vocab:digest" + "path": "https://openminds.om-i.org/props/digest", + "propertyName": "digest" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/hostedBy", - "propertyName": "vocab:hostedBy", + "path": "https://openminds.om-i.org/props/hostedBy", + "propertyName": "hostedBy", "structure": [ { "path": "@id" @@ -90,27 +92,28 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/IRI", - "propertyName": "vocab:IRI" + "path": "https://openminds.om-i.org/props/IRI", + "propertyName": "IRI" }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/storageSize", - "propertyName": "vocab:storageSize", + "path": "https://openminds.om-i.org/props/storageSize", + "propertyName": "storageSize", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -118,16 +121,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -135,17 +139,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/structurePattern", - "propertyName": "vocab:structurePattern", + "path": "https://openminds.om-i.org/props/structurePattern", + "propertyName": "structurePattern", "structure": [ { "path": "@id" @@ -153,11 +159,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "structure": [ { "path": "@id" @@ -165,14 +172,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/repository", + "@id": "https://openminds.om-i.org/props/repository", "reverse": true }, - "propertyName": "vocab:repository", + "propertyName": "repository", "ensureOrder": true, "structure": [ { @@ -185,10 +193,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/fileRepository", + "@id": "https://openminds.om-i.org/props/fileRepository", "reverse": true }, - "propertyName": "vocab:fileRepository", + "propertyName": "fileRepository", "ensureOrder": true, "structure": [ { @@ -201,10 +209,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isPartOf", + "@id": "https://openminds.om-i.org/props/isPartOf", "reverse": true }, - "propertyName": "vocab:isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/filerepositorystructure_simple_query.json b/test/test_data/queries/openminds/core/filerepositorystructure_simple_query.json index 41236e9c..b606b81e 100644 --- a/test/test_data/queries/openminds/core/filerepositorystructure_simple_query.json +++ b/test/test_data/queries/openminds/core/filerepositorystructure_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/FileRepositoryStructure", + "type": "https://openminds.om-i.org/types/FileRepositoryStructure", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,16 +39,16 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/filePathPattern", - "propertyName": "vocab:filePathPattern", + "path": "https://openminds.om-i.org/props/filePathPattern", + "propertyName": "filePathPattern", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/groupingType", - "propertyName": "vocab:groupingType", + "path": "https://openminds.om-i.org/props/groupingType", + "propertyName": "groupingType", "ensureOrder": true, "structure": [ { @@ -60,22 +60,22 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/regex", - "propertyName": "vocab:regex" + "path": "https://openminds.om-i.org/props/regex", + "propertyName": "regex" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/structurePattern", + "@id": "https://openminds.om-i.org/props/structurePattern", "reverse": true }, - "propertyName": "vocab:structurePattern", + "propertyName": "structurePattern", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/funding_simple_query.json b/test/test_data/queries/openminds/core/funding_simple_query.json index 3690dccd..0189ac84 100644 --- a/test/test_data/queries/openminds/core/funding_simple_query.json +++ b/test/test_data/queries/openminds/core/funding_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Funding", + "type": "https://openminds.om-i.org/types/Funding", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,20 +39,20 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/acknowledgement", - "propertyName": "vocab:acknowledgement" + "path": "https://openminds.om-i.org/props/acknowledgement", + "propertyName": "acknowledgement" }, { - "path": "https://openminds.ebrains.eu/vocab/awardNumber", - "propertyName": "vocab:awardNumber" + "path": "https://openminds.om-i.org/props/awardNumber", + "propertyName": "awardNumber" }, { - "path": "https://openminds.ebrains.eu/vocab/awardTitle", - "propertyName": "vocab:awardTitle" + "path": "https://openminds.om-i.org/props/awardTitle", + "propertyName": "awardTitle" }, { - "path": "https://openminds.ebrains.eu/vocab/funder", - "propertyName": "vocab:funder", + "path": "https://openminds.om-i.org/props/funder", + "propertyName": "funder", "structure": [ { "path": "@id" @@ -60,14 +60,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funding", + "@id": "https://openminds.om-i.org/props/funding", "reverse": true }, - "propertyName": "vocab:funding", + "propertyName": "funding", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/gridid_simple_query.json b/test/test_data/queries/openminds/core/gridid_simple_query.json index ca7c2995..9c2ef223 100644 --- a/test/test_data/queries/openminds/core/gridid_simple_query.json +++ b/test/test_data/queries/openminds/core/gridid_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/GRIDID", + "type": "https://openminds.om-i.org/types/GRIDID", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/handle_simple_query.json b/test/test_data/queries/openminds/core/handle_simple_query.json index 991f3fd1..bffcbd6e 100644 --- a/test/test_data/queries/openminds/core/handle_simple_query.json +++ b/test/test_data/queries/openminds/core/handle_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/HANDLE", + "type": "https://openminds.om-i.org/types/HANDLE", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relatedPublication", + "@id": "https://openminds.om-i.org/props/relatedPublication", "reverse": true }, - "propertyName": "vocab:relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/identifiersdotorgid_simple_query.json b/test/test_data/queries/openminds/core/identifiersdotorgid_simple_query.json index 9499f7e4..fba2c76a 100644 --- a/test/test_data/queries/openminds/core/identifiersdotorgid_simple_query.json +++ b/test/test_data/queries/openminds/core/identifiersdotorgid_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/IdentifiersDotOrgID", + "type": "https://openminds.om-i.org/types/IdentifiersDotOrgID", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/isbn_simple_query.json b/test/test_data/queries/openminds/core/isbn_simple_query.json index 5d09aaf0..33925758 100644 --- a/test/test_data/queries/openminds/core/isbn_simple_query.json +++ b/test/test_data/queries/openminds/core/isbn_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ISBN", + "type": "https://openminds.om-i.org/types/ISBN", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/citedPublication", + "@id": "https://openminds.om-i.org/props/citedPublication", "reverse": true }, - "propertyName": "vocab:citedPublication", + "propertyName": "citedPublication", "ensureOrder": true, "structure": [ { @@ -60,10 +60,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -76,10 +76,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relatedPublication", + "@id": "https://openminds.om-i.org/props/relatedPublication", "reverse": true }, - "propertyName": "vocab:relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/issn_simple_query.json b/test/test_data/queries/openminds/core/issn_simple_query.json index 0e809500..db0e3179 100644 --- a/test/test_data/queries/openminds/core/issn_simple_query.json +++ b/test/test_data/queries/openminds/core/issn_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ISSN", + "type": "https://openminds.om-i.org/types/ISSN", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -60,10 +60,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relatedPublication", + "@id": "https://openminds.om-i.org/props/relatedPublication", "reverse": true }, - "propertyName": "vocab:relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/license_simple_query.json b/test/test_data/queries/openminds/core/license_simple_query.json index bbd033bf..0bdbfd2c 100644 --- a/test/test_data/queries/openminds/core/license_simple_query.json +++ b/test/test_data/queries/openminds/core/license_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/License", + "type": "https://openminds.om-i.org/types/License", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,29 +39,29 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/legalCode", - "propertyName": "vocab:legalCode" + "path": "https://openminds.om-i.org/props/legalCode", + "propertyName": "legalCode" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { - "path": "https://openminds.ebrains.eu/vocab/webpage", - "propertyName": "vocab:webpage", + "path": "https://openminds.om-i.org/props/webpage", + "propertyName": "webpage", "ensureOrder": true }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/license", + "@id": "https://openminds.om-i.org/props/license", "reverse": true }, - "propertyName": "vocab:license", + "propertyName": "license", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/metadatamodel_simple_query.json b/test/test_data/queries/openminds/core/metadatamodel_simple_query.json index e494eb3d..c1148c9a 100644 --- a/test/test_data/queries/openminds/core/metadatamodel_simple_query.json +++ b/test/test_data/queries/openminds/core/metadatamodel_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/MetaDataModel", + "type": "https://openminds.om-i.org/types/MetaDataModel", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -52,12 +52,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -69,8 +69,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -78,16 +78,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/hasVersion", - "propertyName": "vocab:hasVersion", + "path": "https://openminds.om-i.org/props/hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -99,23 +100,23 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -128,10 +129,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -144,10 +145,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/metadatamodelversion_simple_query.json b/test/test_data/queries/openminds/core/metadatamodelversion_simple_query.json index 76ac65f2..48b24fe4 100644 --- a/test/test_data/queries/openminds/core/metadatamodelversion_simple_query.json +++ b/test/test_data/queries/openminds/core/metadatamodelversion_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/MetaDataModelVersion", + "type": "https://openminds.om-i.org/types/MetaDataModelVersion", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/accessibility", - "propertyName": "vocab:accessibility", + "path": "https://openminds.om-i.org/props/accessibility", + "propertyName": "accessibility", "structure": [ { "path": "@id" @@ -48,18 +48,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/copyright", - "propertyName": "vocab:copyright", + "path": "https://openminds.om-i.org/props/copyright", + "propertyName": "copyright", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/holder", - "propertyName": "vocab:holder", + "path": "https://openminds.om-i.org/props/holder", + "propertyName": "holder", "ensureOrder": true, "structure": [ { @@ -71,15 +72,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/year", - "propertyName": "vocab:year", + "path": "https://openminds.om-i.org/props/year", + "propertyName": "year", "ensureOrder": true } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -91,12 +93,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -108,8 +110,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -117,11 +119,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullDocumentation", - "propertyName": "vocab:fullDocumentation", + "path": "https://openminds.om-i.org/props/fullDocumentation", + "propertyName": "fullDocumentation", "structure": [ { "path": "@id" @@ -129,16 +132,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/funding", - "propertyName": "vocab:funding", + "path": "https://openminds.om-i.org/props/funding", + "propertyName": "funding", "ensureOrder": true, "structure": [ { @@ -150,16 +154,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/isAlternativeVersionOf", - "propertyName": "vocab:isAlternativeVersionOf", + "path": "https://openminds.om-i.org/props/isAlternativeVersionOf", + "propertyName": "isAlternativeVersionOf", "ensureOrder": true, "structure": [ { @@ -171,8 +175,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isNewVersionOf", - "propertyName": "vocab:isNewVersionOf", + "path": "https://openminds.om-i.org/props/isNewVersionOf", + "propertyName": "isNewVersionOf", "structure": [ { "path": "@id" @@ -180,11 +184,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/keyword", - "propertyName": "vocab:keyword", + "path": "https://openminds.om-i.org/props/keyword", + "propertyName": "keyword", "ensureOrder": true, "structure": [ { @@ -196,8 +201,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/license", - "propertyName": "vocab:license", + "path": "https://openminds.om-i.org/props/license", + "propertyName": "license", "structure": [ { "path": "@id" @@ -205,19 +210,20 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/otherContribution", - "propertyName": "vocab:otherContribution", + "path": "https://openminds.om-i.org/props/otherContribution", + "propertyName": "otherContribution", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contributor", - "propertyName": "vocab:contributor", + "path": "https://openminds.om-i.org/props/contributor", + "propertyName": "contributor", "structure": [ { "path": "@id" @@ -225,11 +231,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "ensureOrder": true, "structure": [ { @@ -243,8 +250,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/relatedPublication", - "propertyName": "vocab:relatedPublication", + "path": "https://openminds.om-i.org/props/relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { @@ -256,12 +263,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/releaseDate", - "propertyName": "vocab:releaseDate" + "path": "https://openminds.om-i.org/props/releaseDate", + "propertyName": "releaseDate" }, { - "path": "https://openminds.ebrains.eu/vocab/repository", - "propertyName": "vocab:repository", + "path": "https://openminds.om-i.org/props/repository", + "propertyName": "repository", "structure": [ { "path": "@id" @@ -269,11 +276,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/serializationFormat", - "propertyName": "vocab:serializationFormat", + "path": "https://openminds.om-i.org/props/serializationFormat", + "propertyName": "serializationFormat", "ensureOrder": true, "structure": [ { @@ -285,12 +293,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { - "path": "https://openminds.ebrains.eu/vocab/specificationFormat", - "propertyName": "vocab:specificationFormat", + "path": "https://openminds.om-i.org/props/specificationFormat", + "propertyName": "specificationFormat", "ensureOrder": true, "structure": [ { @@ -302,13 +310,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/supportChannel", - "propertyName": "vocab:supportChannel", + "path": "https://openminds.om-i.org/props/supportChannel", + "propertyName": "supportChannel", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "structure": [ { "path": "@id" @@ -316,22 +324,23 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/versionIdentifier", - "propertyName": "vocab:versionIdentifier" + "path": "https://openminds.om-i.org/props/versionIdentifier", + "propertyName": "versionIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/versionInnovation", - "propertyName": "vocab:versionInnovation" + "path": "https://openminds.om-i.org/props/versionInnovation", + "propertyName": "versionInnovation" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -344,10 +353,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isNewVersionOf", + "@id": "https://openminds.om-i.org/props/isNewVersionOf", "reverse": true }, - "propertyName": "vocab:isNewVersionOf", + "propertyName": "isNewVersionOf", "ensureOrder": true, "structure": [ { @@ -360,10 +369,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -376,10 +385,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasVersion", + "@id": "https://openminds.om-i.org/props/hasVersion", "reverse": true }, - "propertyName": "vocab:hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -392,10 +401,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/model_simple_query.json b/test/test_data/queries/openminds/core/model_simple_query.json index 9edb6bf4..eeb65908 100644 --- a/test/test_data/queries/openminds/core/model_simple_query.json +++ b/test/test_data/queries/openminds/core/model_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Model", + "type": "https://openminds.om-i.org/types/Model", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/abstractionLevel", - "propertyName": "vocab:abstractionLevel", + "path": "https://openminds.om-i.org/props/abstractionLevel", + "propertyName": "abstractionLevel", "structure": [ { "path": "@id" @@ -48,11 +48,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -64,12 +65,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -81,8 +82,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -90,16 +91,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/hasVersion", - "propertyName": "vocab:hasVersion", + "path": "https://openminds.om-i.org/props/hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -111,16 +113,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/scope", - "propertyName": "vocab:scope", + "path": "https://openminds.om-i.org/props/scope", + "propertyName": "scope", "structure": [ { "path": "@id" @@ -128,15 +130,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { - "path": "https://openminds.ebrains.eu/vocab/studyTarget", - "propertyName": "vocab:studyTarget", + "path": "https://openminds.om-i.org/props/studyTarget", + "propertyName": "studyTarget", "ensureOrder": true, "structure": [ { @@ -149,10 +152,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -165,10 +168,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -181,10 +184,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/modelversion_simple_query.json b/test/test_data/queries/openminds/core/modelversion_simple_query.json index fa6562bb..383fc8e0 100644 --- a/test/test_data/queries/openminds/core/modelversion_simple_query.json +++ b/test/test_data/queries/openminds/core/modelversion_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ModelVersion", + "type": "https://openminds.om-i.org/types/ModelVersion", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/accessibility", - "propertyName": "vocab:accessibility", + "path": "https://openminds.om-i.org/props/accessibility", + "propertyName": "accessibility", "structure": [ { "path": "@id" @@ -48,11 +48,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/configuration", - "propertyName": "vocab:configuration", + "path": "https://openminds.om-i.org/props/configuration", + "propertyName": "configuration", "structure": [ { "path": "@id" @@ -60,18 +61,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/copyright", - "propertyName": "vocab:copyright", + "path": "https://openminds.om-i.org/props/copyright", + "propertyName": "copyright", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/holder", - "propertyName": "vocab:holder", + "path": "https://openminds.om-i.org/props/holder", + "propertyName": "holder", "ensureOrder": true, "structure": [ { @@ -83,15 +85,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/year", - "propertyName": "vocab:year", + "path": "https://openminds.om-i.org/props/year", + "propertyName": "year", "ensureOrder": true } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -103,12 +106,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -120,8 +123,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -129,15 +132,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/entryPoint", - "propertyName": "vocab:entryPoint" + "path": "https://openminds.om-i.org/props/entryPoint", + "propertyName": "entryPoint" }, { - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "ensureOrder": true, "structure": [ { @@ -149,8 +153,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullDocumentation", - "propertyName": "vocab:fullDocumentation", + "path": "https://openminds.om-i.org/props/fullDocumentation", + "propertyName": "fullDocumentation", "structure": [ { "path": "@id" @@ -158,16 +162,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/funding", - "propertyName": "vocab:funding", + "path": "https://openminds.om-i.org/props/funding", + "propertyName": "funding", "ensureOrder": true, "structure": [ { @@ -179,16 +184,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/inputData", - "propertyName": "vocab:inputData", + "path": "https://openminds.om-i.org/props/inputData", + "propertyName": "inputData", "ensureOrder": true, "structure": [ { @@ -200,8 +205,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isAlternativeVersionOf", - "propertyName": "vocab:isAlternativeVersionOf", + "path": "https://openminds.om-i.org/props/isAlternativeVersionOf", + "propertyName": "isAlternativeVersionOf", "ensureOrder": true, "structure": [ { @@ -213,8 +218,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isNewVersionOf", - "propertyName": "vocab:isNewVersionOf", + "path": "https://openminds.om-i.org/props/isNewVersionOf", + "propertyName": "isNewVersionOf", "structure": [ { "path": "@id" @@ -222,11 +227,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/keyword", - "propertyName": "vocab:keyword", + "path": "https://openminds.om-i.org/props/keyword", + "propertyName": "keyword", "ensureOrder": true, "structure": [ { @@ -238,8 +244,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/license", - "propertyName": "vocab:license", + "path": "https://openminds.om-i.org/props/license", + "propertyName": "license", "ensureOrder": true, "structure": [ { @@ -251,16 +257,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/otherContribution", - "propertyName": "vocab:otherContribution", + "path": "https://openminds.om-i.org/props/otherContribution", + "propertyName": "otherContribution", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contributor", - "propertyName": "vocab:contributor", + "path": "https://openminds.om-i.org/props/contributor", + "propertyName": "contributor", "structure": [ { "path": "@id" @@ -268,11 +274,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "ensureOrder": true, "structure": [ { @@ -286,8 +293,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/outputData", - "propertyName": "vocab:outputData", + "path": "https://openminds.om-i.org/props/outputData", + "propertyName": "outputData", "ensureOrder": true, "structure": [ { @@ -299,8 +306,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/relatedPublication", - "propertyName": "vocab:relatedPublication", + "path": "https://openminds.om-i.org/props/relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { @@ -312,12 +319,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/releaseDate", - "propertyName": "vocab:releaseDate" + "path": "https://openminds.om-i.org/props/releaseDate", + "propertyName": "releaseDate" }, { - "path": "https://openminds.ebrains.eu/vocab/repository", - "propertyName": "vocab:repository", + "path": "https://openminds.om-i.org/props/repository", + "propertyName": "repository", "structure": [ { "path": "@id" @@ -325,31 +332,32 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { - "path": "https://openminds.ebrains.eu/vocab/supportChannel", - "propertyName": "vocab:supportChannel", + "path": "https://openminds.om-i.org/props/supportChannel", + "propertyName": "supportChannel", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/versionIdentifier", - "propertyName": "vocab:versionIdentifier" + "path": "https://openminds.om-i.org/props/versionIdentifier", + "propertyName": "versionIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/versionInnovation", - "propertyName": "vocab:versionInnovation" + "path": "https://openminds.om-i.org/props/versionInnovation", + "propertyName": "versionInnovation" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -362,10 +370,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/input", + "@id": "https://openminds.om-i.org/props/input", "reverse": true }, - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -378,10 +386,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/dataLocation", + "@id": "https://openminds.om-i.org/props/dataLocation", "reverse": true }, - "propertyName": "vocab:dataLocation", + "propertyName": "dataLocation", "ensureOrder": true, "structure": [ { @@ -394,10 +402,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isNewVersionOf", + "@id": "https://openminds.om-i.org/props/isNewVersionOf", "reverse": true }, - "propertyName": "vocab:isNewVersionOf", + "propertyName": "isNewVersionOf", "ensureOrder": true, "structure": [ { @@ -410,10 +418,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/output", + "@id": "https://openminds.om-i.org/props/output", "reverse": true }, - "propertyName": "vocab:output", + "propertyName": "output", "ensureOrder": true, "structure": [ { @@ -426,10 +434,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -442,10 +450,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasVersion", + "@id": "https://openminds.om-i.org/props/hasVersion", "reverse": true }, - "propertyName": "vocab:hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -458,10 +466,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -474,10 +482,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/orcid_simple_query.json b/test/test_data/queries/openminds/core/orcid_simple_query.json index ce9f71ce..d9e92ca4 100644 --- a/test/test_data/queries/openminds/core/orcid_simple_query.json +++ b/test/test_data/queries/openminds/core/orcid_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ORCID", + "type": "https://openminds.om-i.org/types/ORCID", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/organization_simple_query.json b/test/test_data/queries/openminds/core/organization_simple_query.json index af1dab7b..d045e237 100644 --- a/test/test_data/queries/openminds/core/organization_simple_query.json +++ b/test/test_data/queries/openminds/core/organization_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Organization", + "type": "https://openminds.om-i.org/types/Organization", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,20 +39,20 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -60,17 +60,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -82,13 +83,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "path": "https://openminds.om-i.org/props/hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -100,19 +101,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -125,10 +126,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -141,10 +142,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -157,10 +158,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasParent", + "@id": "https://openminds.om-i.org/props/hasParent", "reverse": true }, - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -173,22 +174,22 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "reverse": true }, - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -196,20 +197,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hostedBy", + "@id": "https://openminds.om-i.org/props/hostedBy", "reverse": true }, - "propertyName": "vocab:hostedBy", + "propertyName": "hostedBy", "ensureOrder": true, "structure": [ { @@ -222,10 +224,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -238,10 +240,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -254,10 +256,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -270,10 +272,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -286,10 +288,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/person_newstyle_query.json b/test/test_data/queries/openminds/core/person_newstyle_query.json index fa44783a..529fb424 100644 --- a/test/test_data/queries/openminds/core/person_newstyle_query.json +++ b/test/test_data/queries/openminds/core/person_newstyle_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Person", + "type": "https://openminds.om-i.org/types/Person", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -35,25 +35,25 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/Consortium" + "@id": "https://openminds.om-i.org/types/Consortium" } }, - "propertyName": "vocab:memberOf__Consortium", + "propertyName": "memberOf__Consortium", "structure": [ { "path": "@id" @@ -66,8 +66,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "path": "https://openminds.om-i.org/props/contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -75,26 +75,27 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName" + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName" }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -107,10 +108,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -123,10 +124,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -139,22 +140,22 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "reverse": true }, - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -162,20 +163,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -188,10 +190,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -204,10 +206,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -220,10 +222,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -236,10 +238,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -250,16 +252,17 @@ } ] } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/Organization" + "@id": "https://openminds.om-i.org/types/Organization" } }, - "propertyName": "vocab:memberOf__Organization", + "propertyName": "memberOf__Organization", "structure": [ { "path": "@id" @@ -272,20 +275,20 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -293,17 +296,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -315,12 +319,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName" + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName" }, { - "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "path": "https://openminds.om-i.org/props/hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -334,20 +338,20 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -355,17 +359,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -377,12 +382,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName" + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName" }, { - "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "path": "https://openminds.om-i.org/props/hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -394,19 +399,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -419,10 +424,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -435,10 +440,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -451,10 +456,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasParent", + "@id": "https://openminds.om-i.org/props/hasParent", "reverse": true }, - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -467,22 +472,22 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "reverse": true }, - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -490,20 +495,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hostedBy", + "@id": "https://openminds.om-i.org/props/hostedBy", "reverse": true }, - "propertyName": "vocab:hostedBy", + "propertyName": "hostedBy", "ensureOrder": true, "structure": [ { @@ -516,10 +522,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -532,10 +538,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -548,10 +554,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -564,10 +570,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -580,10 +586,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -597,19 +603,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -622,10 +628,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -638,10 +644,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -654,10 +660,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasParent", + "@id": "https://openminds.om-i.org/props/hasParent", "reverse": true }, - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -670,22 +676,22 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "reverse": true }, - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -693,20 +699,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hostedBy", + "@id": "https://openminds.om-i.org/props/hostedBy", "reverse": true }, - "propertyName": "vocab:hostedBy", + "propertyName": "hostedBy", "ensureOrder": true, "structure": [ { @@ -719,10 +726,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -735,10 +742,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -751,10 +758,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -767,10 +774,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -783,10 +790,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -797,22 +804,23 @@ } ] } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/alternateName", - "propertyName": "vocab:alternateName", + "path": "https://openminds.om-i.org/props/alternateName", + "propertyName": "alternateName", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/associatedAccount", - "propertyName": "vocab:associatedAccount", + "path": "https://openminds.om-i.org/props/associatedAccount", + "propertyName": "associatedAccount", "ensureOrder": true, "structure": [ { @@ -824,8 +832,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "path": "https://openminds.om-i.org/props/contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -838,15 +846,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/email", - "propertyName": "vocab:email" + "path": "https://openminds.om-i.org/props/email", + "propertyName": "email" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/contactInformation", + "@id": "https://openminds.om-i.org/props/contactInformation", "reverse": true }, - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "ensureOrder": true, "structure": [ { @@ -857,11 +865,12 @@ } ] } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -873,19 +882,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/familyName", - "propertyName": "vocab:familyName" + "path": "https://openminds.om-i.org/props/familyName", + "propertyName": "familyName" }, { - "path": "https://openminds.ebrains.eu/vocab/givenName", - "propertyName": "vocab:givenName" + "path": "https://openminds.om-i.org/props/givenName", + "propertyName": "givenName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/performedBy", + "@id": "https://openminds.om-i.org/props/performedBy", "reverse": true }, - "propertyName": "vocab:performedBy", + "propertyName": "performedBy", "ensureOrder": true, "structure": [ { @@ -898,10 +907,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/commenter", + "@id": "https://openminds.om-i.org/props/commenter", "reverse": true }, - "propertyName": "vocab:commenter", + "propertyName": "commenter", "ensureOrder": true, "structure": [ { @@ -914,10 +923,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -930,10 +939,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -946,10 +955,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -962,10 +971,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -978,10 +987,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -994,10 +1003,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -1010,10 +1019,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -1026,10 +1035,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -1042,10 +1051,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/startedBy", + "@id": "https://openminds.om-i.org/props/startedBy", "reverse": true }, - "propertyName": "vocab:startedBy", + "propertyName": "startedBy", "ensureOrder": true, "structure": [ { @@ -1057,22 +1066,22 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", + "path": "https://openminds.om-i.org/props/affiliation", "propertyName": "Qaffiliations", "required": true, "structure": [ { - "path": "https://openminds.ebrains.eu/vocab/memberOf", + "path": "https://openminds.om-i.org/props/memberOf", "propertyName": "Qmember_of", "required": true, "structure": [ { - "path": "https://openminds.ebrains.eu/vocab/hasParent", + "path": "https://openminds.om-i.org/props/hasParent", "propertyName": "Qhas_parents", "required": true, "structure": [ { - "path": "https://openminds.ebrains.eu/vocab/shortName", + "path": "https://openminds.om-i.org/props/shortName", "propertyName": "Qshort_name", "filter": { "op": "CONTAINS", diff --git a/test/test_data/queries/openminds/core/person_newstyle_query_alt.json b/test/test_data/queries/openminds/core/person_newstyle_query_alt.json index 2c477b07..20bfe758 100644 --- a/test/test_data/queries/openminds/core/person_newstyle_query_alt.json +++ b/test/test_data/queries/openminds/core/person_newstyle_query_alt.json @@ -36,7 +36,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { @@ -44,7 +44,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "propertyName": "endDate" }, { "path": { @@ -53,7 +53,7 @@ "@id": "https://openminds.ebrains.eu/core/Consortium" } }, - "propertyName": "vocab:memberOf__Consortium", + "propertyName": "memberOf__Consortium", "structure": [ { "path": "@id" @@ -63,16 +63,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -84,7 +84,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, @@ -95,7 +95,7 @@ "@id": "https://openminds.ebrains.eu/core/Organization" } }, - "propertyName": "vocab:memberOf__Organization", + "propertyName": "memberOf__Organization", "structure": [ { "path": "@id" @@ -105,16 +105,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { @@ -122,11 +122,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "propertyName": "endDate" }, { "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -138,13 +138,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "propertyName": "startDate" } ] }, { "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -157,7 +157,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -168,16 +168,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { @@ -185,11 +185,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "propertyName": "endDate" }, { "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -201,13 +201,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "propertyName": "startDate" } ] }, { "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -220,7 +220,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -233,30 +233,30 @@ }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, { "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "propertyName": "startDate" } ] }, { "path": "https://openminds.ebrains.eu/vocab/alternateName", - "propertyName": "vocab:alternateName", + "propertyName": "alternateName", "ensureOrder": true }, { "path": "https://openminds.ebrains.eu/vocab/associatedAccount", - "propertyName": "vocab:associatedAccount", + "propertyName": "associatedAccount", "ensureOrder": true, "structure": [ { @@ -269,7 +269,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -279,13 +279,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/email", - "propertyName": "vocab:email" + "propertyName": "email" } ] }, { "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -298,11 +298,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/familyName", - "propertyName": "vocab:familyName" + "propertyName": "familyName" }, { "path": "https://openminds.ebrains.eu/vocab/givenName", - "propertyName": "vocab:givenName" + "propertyName": "givenName" }, { "path": [ diff --git a/test/test_data/queries/openminds/core/person_resolved-1_query.json b/test/test_data/queries/openminds/core/person_resolved-1_query.json index 69cc0297..c31f15ed 100644 --- a/test/test_data/queries/openminds/core/person_resolved-1_query.json +++ b/test/test_data/queries/openminds/core/person_resolved-1_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Person", + "type": "https://openminds.om-i.org/types/Person", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -35,25 +35,25 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/Consortium" + "@id": "https://openminds.om-i.org/types/Consortium" } }, - "propertyName": "vocab:memberOf__Consortium", + "propertyName": "memberOf__Consortium", "structure": [ { "path": "@id" @@ -66,8 +66,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "path": "https://openminds.om-i.org/props/contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -75,26 +75,27 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName" + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName" }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -107,10 +108,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -123,10 +124,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -139,22 +140,22 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "reverse": true }, - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -162,20 +163,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -188,10 +190,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -204,10 +206,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -220,10 +222,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -236,10 +238,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -250,16 +252,17 @@ } ] } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/Organization" + "@id": "https://openminds.om-i.org/types/Organization" } }, - "propertyName": "vocab:memberOf__Organization", + "propertyName": "memberOf__Organization", "structure": [ { "path": "@id" @@ -272,20 +275,20 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -293,17 +296,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -315,12 +319,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName" + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName" }, { - "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "path": "https://openminds.om-i.org/props/hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -332,19 +336,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -357,10 +361,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -373,10 +377,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -389,10 +393,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasParent", + "@id": "https://openminds.om-i.org/props/hasParent", "reverse": true }, - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -405,22 +409,22 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/memberOf", + "@id": "https://openminds.om-i.org/props/memberOf", "reverse": true }, - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -428,20 +432,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hostedBy", + "@id": "https://openminds.om-i.org/props/hostedBy", "reverse": true }, - "propertyName": "vocab:hostedBy", + "propertyName": "hostedBy", "ensureOrder": true, "structure": [ { @@ -454,10 +459,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -470,10 +475,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -486,10 +491,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -502,10 +507,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -518,10 +523,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -532,22 +537,23 @@ } ] } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/alternateName", - "propertyName": "vocab:alternateName", + "path": "https://openminds.om-i.org/props/alternateName", + "propertyName": "alternateName", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/associatedAccount", - "propertyName": "vocab:associatedAccount", + "path": "https://openminds.om-i.org/props/associatedAccount", + "propertyName": "associatedAccount", "ensureOrder": true, "structure": [ { @@ -561,8 +567,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/service", - "propertyName": "vocab:service", + "path": "https://openminds.om-i.org/props/service", + "propertyName": "service", "structure": [ { "path": "@id" @@ -570,18 +576,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/userName", - "propertyName": "vocab:userName" + "path": "https://openminds.om-i.org/props/userName", + "propertyName": "userName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/associatedAccount", + "@id": "https://openminds.om-i.org/props/associatedAccount", "reverse": true }, - "propertyName": "vocab:associatedAccount", + "propertyName": "associatedAccount", "ensureOrder": true, "structure": [ { @@ -595,8 +602,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "path": "https://openminds.om-i.org/props/contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -609,15 +616,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/email", - "propertyName": "vocab:email" + "path": "https://openminds.om-i.org/props/email", + "propertyName": "email" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/contactInformation", + "@id": "https://openminds.om-i.org/props/contactInformation", "reverse": true }, - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "ensureOrder": true, "structure": [ { @@ -628,11 +635,12 @@ } ] } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -646,15 +654,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -668,19 +676,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/familyName", - "propertyName": "vocab:familyName" + "path": "https://openminds.om-i.org/props/familyName", + "propertyName": "familyName" }, { - "path": "https://openminds.ebrains.eu/vocab/givenName", - "propertyName": "vocab:givenName" + "path": "https://openminds.om-i.org/props/givenName", + "propertyName": "givenName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/performedBy", + "@id": "https://openminds.om-i.org/props/performedBy", "reverse": true }, - "propertyName": "vocab:performedBy", + "propertyName": "performedBy", "ensureOrder": true, "structure": [ { @@ -693,10 +701,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/commenter", + "@id": "https://openminds.om-i.org/props/commenter", "reverse": true }, - "propertyName": "vocab:commenter", + "propertyName": "commenter", "ensureOrder": true, "structure": [ { @@ -709,10 +717,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -725,10 +733,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -741,10 +749,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -757,10 +765,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -773,10 +781,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -789,10 +797,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -805,10 +813,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -821,10 +829,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -837,10 +845,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/startedBy", + "@id": "https://openminds.om-i.org/props/startedBy", "reverse": true }, - "propertyName": "vocab:startedBy", + "propertyName": "startedBy", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/person_resolved-2_query.json b/test/test_data/queries/openminds/core/person_resolved-2_query.json index cb9a1b5d..d6f5ee7c 100644 --- a/test/test_data/queries/openminds/core/person_resolved-2_query.json +++ b/test/test_data/queries/openminds/core/person_resolved-2_query.json @@ -36,7 +36,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { @@ -44,7 +44,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "propertyName": "endDate" }, { "path": { @@ -53,7 +53,7 @@ "@id": "https://openminds.ebrains.eu/core/Consortium" } }, - "propertyName": "vocab:memberOf__Consortium", + "propertyName": "memberOf__Consortium", "structure": [ { "path": "@id" @@ -63,16 +63,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -82,13 +82,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/email", - "propertyName": "vocab:email" + "propertyName": "email" } ] }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, @@ -99,7 +99,7 @@ "@id": "https://openminds.ebrains.eu/core/Organization" } }, - "propertyName": "vocab:memberOf__Organization", + "propertyName": "memberOf__Organization", "structure": [ { "path": "@id" @@ -109,16 +109,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { @@ -126,7 +126,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "propertyName": "endDate" }, { "path": { @@ -135,7 +135,7 @@ "@id": "https://openminds.ebrains.eu/core/Consortium" } }, - "propertyName": "vocab:memberOf__Consortium", + "propertyName": "memberOf__Consortium", "structure": [ { "path": "@id" @@ -145,16 +145,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -166,7 +166,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, @@ -177,7 +177,7 @@ "@id": "https://openminds.ebrains.eu/core/Organization" } }, - "propertyName": "vocab:memberOf__Organization", + "propertyName": "memberOf__Organization", "structure": [ { "path": "@id" @@ -187,16 +187,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { @@ -204,11 +204,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "propertyName": "endDate" }, { "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -220,13 +220,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "propertyName": "startDate" } ] }, { "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -239,7 +239,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -252,13 +252,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, { "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "propertyName": "startDate" } ] }, @@ -269,7 +269,7 @@ "@id": "https://openminds.ebrains.eu/core/GRIDID" } }, - "propertyName": "vocab:digitalIdentifier__GRIDID", + "propertyName": "digitalIdentifier__GRIDID", "ensureOrder": true, "structure": [ { @@ -280,7 +280,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "propertyName": "identifier" } ] }, @@ -291,7 +291,7 @@ "@id": "https://openminds.ebrains.eu/core/RORID" } }, - "propertyName": "vocab:digitalIdentifier__RORID", + "propertyName": "digitalIdentifier__RORID", "ensureOrder": true, "structure": [ { @@ -302,7 +302,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "propertyName": "identifier" } ] }, @@ -313,7 +313,7 @@ "@id": "https://openminds.ebrains.eu/core/RRID" } }, - "propertyName": "vocab:digitalIdentifier__RRID", + "propertyName": "digitalIdentifier__RRID", "ensureOrder": true, "structure": [ { @@ -324,13 +324,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "propertyName": "identifier" } ] }, { "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -341,16 +341,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { @@ -358,11 +358,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "propertyName": "endDate" }, { "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -374,13 +374,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "propertyName": "startDate" } ] }, { "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -393,7 +393,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/hasParent", - "propertyName": "vocab:hasParent", + "propertyName": "hasParent", "ensureOrder": true, "structure": [ { @@ -406,30 +406,30 @@ }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" } ] }, { "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "propertyName": "startDate" } ] }, { "path": "https://openminds.ebrains.eu/vocab/alternateName", - "propertyName": "vocab:alternateName", + "propertyName": "alternateName", "ensureOrder": true }, { "path": "https://openminds.ebrains.eu/vocab/associatedAccount", - "propertyName": "vocab:associatedAccount", + "propertyName": "associatedAccount", "ensureOrder": true, "structure": [ { @@ -440,7 +440,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/service", - "propertyName": "vocab:service", + "propertyName": "service", "structure": [ { "path": "@id" @@ -450,16 +450,16 @@ }, { "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "propertyName": "fullName", "sort": true }, { "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "propertyName": "shortName" }, { "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -472,11 +472,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "propertyName": "description" }, { "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -489,7 +489,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/hasVersion", - "propertyName": "vocab:hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -502,23 +502,23 @@ }, { "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "propertyName": "homepage" }, { "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "propertyName": "howToCite" } ] }, { "path": "https://openminds.ebrains.eu/vocab/userName", - "propertyName": "vocab:userName" + "propertyName": "userName" } ] }, { "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -528,13 +528,13 @@ }, { "path": "https://openminds.ebrains.eu/vocab/email", - "propertyName": "vocab:email" + "propertyName": "email" } ] }, { "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -545,17 +545,17 @@ }, { "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "propertyName": "identifier" } ] }, { "path": "https://openminds.ebrains.eu/vocab/familyName", - "propertyName": "vocab:familyName" + "propertyName": "familyName" }, { "path": "https://openminds.ebrains.eu/vocab/givenName", - "propertyName": "vocab:givenName" + "propertyName": "givenName" } ] } \ No newline at end of file diff --git a/test/test_data/queries/openminds/core/person_simple_query.json b/test/test_data/queries/openminds/core/person_simple_query.json index ce1a0495..af8ffa17 100644 --- a/test/test_data/queries/openminds/core/person_simple_query.json +++ b/test/test_data/queries/openminds/core/person_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Person", + "type": "https://openminds.om-i.org/types/Person", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,20 +39,20 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/endDate", - "propertyName": "vocab:endDate" + "path": "https://openminds.om-i.org/props/endDate", + "propertyName": "endDate" }, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [ { "path": "@id" @@ -60,22 +60,23 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate" + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/alternateName", - "propertyName": "vocab:alternateName", + "path": "https://openminds.om-i.org/props/alternateName", + "propertyName": "alternateName", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/associatedAccount", - "propertyName": "vocab:associatedAccount", + "path": "https://openminds.om-i.org/props/associatedAccount", + "propertyName": "associatedAccount", "ensureOrder": true, "structure": [ { @@ -87,8 +88,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/contactInformation", - "propertyName": "vocab:contactInformation", + "path": "https://openminds.om-i.org/props/contactInformation", + "propertyName": "contactInformation", "structure": [ { "path": "@id" @@ -96,11 +97,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { @@ -112,19 +114,19 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/familyName", - "propertyName": "vocab:familyName" + "path": "https://openminds.om-i.org/props/familyName", + "propertyName": "familyName" }, { - "path": "https://openminds.ebrains.eu/vocab/givenName", - "propertyName": "vocab:givenName" + "path": "https://openminds.om-i.org/props/givenName", + "propertyName": "givenName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/performedBy", + "@id": "https://openminds.om-i.org/props/performedBy", "reverse": true }, - "propertyName": "vocab:performedBy", + "propertyName": "performedBy", "ensureOrder": true, "structure": [ { @@ -137,10 +139,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/commenter", + "@id": "https://openminds.om-i.org/props/commenter", "reverse": true }, - "propertyName": "vocab:commenter", + "propertyName": "commenter", "ensureOrder": true, "structure": [ { @@ -153,10 +155,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/coordinator", + "@id": "https://openminds.om-i.org/props/coordinator", "reverse": true }, - "propertyName": "vocab:coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -169,10 +171,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/developer", + "@id": "https://openminds.om-i.org/props/developer", "reverse": true }, - "propertyName": "vocab:developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -185,10 +187,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/funder", + "@id": "https://openminds.om-i.org/props/funder", "reverse": true }, - "propertyName": "vocab:funder", + "propertyName": "funder", "ensureOrder": true, "structure": [ { @@ -201,10 +203,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", + "@id": "https://openminds.om-i.org/props/custodian", "reverse": true }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -217,10 +219,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/owner", + "@id": "https://openminds.om-i.org/props/owner", "reverse": true }, - "propertyName": "vocab:owner", + "propertyName": "owner", "ensureOrder": true, "structure": [ { @@ -233,10 +235,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/provider", + "@id": "https://openminds.om-i.org/props/provider", "reverse": true }, - "propertyName": "vocab:provider", + "propertyName": "provider", "ensureOrder": true, "structure": [ { @@ -249,10 +251,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/manufacturer", + "@id": "https://openminds.om-i.org/props/manufacturer", "reverse": true }, - "propertyName": "vocab:manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -265,10 +267,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/publisher", + "@id": "https://openminds.om-i.org/props/publisher", "reverse": true }, - "propertyName": "vocab:publisher", + "propertyName": "publisher", "ensureOrder": true, "structure": [ { @@ -281,10 +283,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/startedBy", + "@id": "https://openminds.om-i.org/props/startedBy", "reverse": true }, - "propertyName": "vocab:startedBy", + "propertyName": "startedBy", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/project_simple_query.json b/test/test_data/queries/openminds/core/project_simple_query.json index 2c85cdec..3aa3d385 100644 --- a/test/test_data/queries/openminds/core/project_simple_query.json +++ b/test/test_data/queries/openminds/core/project_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Project", + "type": "https://openminds.om-i.org/types/Project", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/coordinator", - "propertyName": "vocab:coordinator", + "path": "https://openminds.om-i.org/props/coordinator", + "propertyName": "coordinator", "ensureOrder": true, "structure": [ { @@ -52,17 +52,17 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/hasPart", - "propertyName": "vocab:hasPart", + "path": "https://openminds.om-i.org/props/hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -74,12 +74,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" } ] } \ No newline at end of file diff --git a/test/test_data/queries/openminds/core/propertyvaluelist_simple_query.json b/test/test_data/queries/openminds/core/propertyvaluelist_simple_query.json index aacc43ca..58868bc7 100644 --- a/test/test_data/queries/openminds/core/propertyvaluelist_simple_query.json +++ b/test/test_data/queries/openminds/core/propertyvaluelist_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/PropertyValueList", + "type": "https://openminds.om-i.org/types/PropertyValueList", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,43 +39,43 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/propertyValuePair", + "@id": "https://openminds.om-i.org/props/propertyValuePair", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/NumericalProperty" + "@id": "https://openminds.om-i.org/types/NumericalProperty" } }, - "propertyName": "vocab:propertyValuePair__NumericalProperty", + "propertyName": "propertyValuePair__NumericalProperty", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name" + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/value", + "@id": "https://openminds.om-i.org/props/value", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:value__QuantitativeValue", + "propertyName": "value__QuantitativeValue", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -83,16 +83,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -100,34 +101,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/value", + "@id": "https://openminds.om-i.org/props/value", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:value__QuantitativeValueRange", + "propertyName": "value__QuantitativeValueRange", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -135,15 +137,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -151,7 +154,8 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } ] } @@ -159,33 +163,33 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/propertyValuePair", + "@id": "https://openminds.om-i.org/props/propertyValuePair", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/StringProperty" + "@id": "https://openminds.om-i.org/types/StringProperty" } }, - "propertyName": "vocab:propertyValuePair__StringProperty", + "propertyName": "propertyValuePair__StringProperty", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name" + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/environmentVariable", + "@id": "https://openminds.om-i.org/props/environmentVariable", "reverse": true }, - "propertyName": "vocab:environmentVariable", + "propertyName": "environmentVariable", "ensureOrder": true, "structure": [ { @@ -198,10 +202,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/configuration", + "@id": "https://openminds.om-i.org/props/configuration", "reverse": true }, - "propertyName": "vocab:configuration", + "propertyName": "configuration", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/protocol_simple_query.json b/test/test_data/queries/openminds/core/protocol_simple_query.json index bb0a8af3..5fdcc914 100644 --- a/test/test_data/queries/openminds/core/protocol_simple_query.json +++ b/test/test_data/queries/openminds/core/protocol_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Protocol", + "type": "https://openminds.om-i.org/types/Protocol", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/describedIn", - "propertyName": "vocab:describedIn", + "path": "https://openminds.om-i.org/props/describedIn", + "propertyName": "describedIn", "structure": [ { "path": "@id" @@ -48,20 +48,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/stimulusType", - "propertyName": "vocab:stimulusType", + "path": "https://openminds.om-i.org/props/stimulusType", + "propertyName": "stimulusType", "ensureOrder": true, "structure": [ { @@ -73,8 +74,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/technique", - "propertyName": "vocab:technique", + "path": "https://openminds.om-i.org/props/technique", + "propertyName": "technique", "ensureOrder": true, "structure": [ { @@ -87,10 +88,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/protocol", + "@id": "https://openminds.om-i.org/props/protocol", "reverse": true }, - "propertyName": "vocab:protocol", + "propertyName": "protocol", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/protocolexecution_simple_query.json b/test/test_data/queries/openminds/core/protocolexecution_simple_query.json index f6d04e70..dc47184b 100644 --- a/test/test_data/queries/openminds/core/protocolexecution_simple_query.json +++ b/test/test_data/queries/openminds/core/protocolexecution_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ProtocolExecution", + "type": "https://openminds.om-i.org/types/ProtocolExecution", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/behavioralProtocol", - "propertyName": "vocab:behavioralProtocol", + "path": "https://openminds.om-i.org/props/behavioralProtocol", + "propertyName": "behavioralProtocol", "ensureOrder": true, "structure": [ { @@ -52,20 +52,20 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/customPropertySet", - "propertyName": "vocab:customPropertySet", + "path": "https://openminds.om-i.org/props/customPropertySet", + "propertyName": "customPropertySet", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/context", - "propertyName": "vocab:context" + "path": "https://openminds.om-i.org/props/context", + "propertyName": "context" }, { - "path": "https://openminds.ebrains.eu/vocab/dataLocation", - "propertyName": "vocab:dataLocation", + "path": "https://openminds.om-i.org/props/dataLocation", + "propertyName": "dataLocation", "structure": [ { "path": "@id" @@ -73,11 +73,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/relevantFor", - "propertyName": "vocab:relevantFor", + "path": "https://openminds.om-i.org/props/relevantFor", + "propertyName": "relevantFor", "structure": [ { "path": "@id" @@ -85,21 +86,22 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/endTime", - "propertyName": "vocab:endTime" + "path": "https://openminds.om-i.org/props/endTime", + "propertyName": "endTime" }, { - "path": "https://openminds.ebrains.eu/vocab/input", - "propertyName": "vocab:input", + "path": "https://openminds.om-i.org/props/input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -111,8 +113,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isPartOf", - "propertyName": "vocab:isPartOf", + "path": "https://openminds.om-i.org/props/isPartOf", + "propertyName": "isPartOf", "structure": [ { "path": "@id" @@ -120,16 +122,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/output", - "propertyName": "vocab:output", + "path": "https://openminds.om-i.org/props/output", + "propertyName": "output", "ensureOrder": true, "structure": [ { @@ -141,8 +144,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/performedBy", - "propertyName": "vocab:performedBy", + "path": "https://openminds.om-i.org/props/performedBy", + "propertyName": "performedBy", "ensureOrder": true, "structure": [ { @@ -154,8 +157,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/preparationDesign", - "propertyName": "vocab:preparationDesign", + "path": "https://openminds.om-i.org/props/preparationDesign", + "propertyName": "preparationDesign", "structure": [ { "path": "@id" @@ -163,11 +166,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/protocol", - "propertyName": "vocab:protocol", + "path": "https://openminds.om-i.org/props/protocol", + "propertyName": "protocol", "ensureOrder": true, "structure": [ { @@ -179,12 +183,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/startTime", - "propertyName": "vocab:startTime" + "path": "https://openminds.om-i.org/props/startTime", + "propertyName": "startTime" }, { - "path": "https://openminds.ebrains.eu/vocab/studyTarget", - "propertyName": "vocab:studyTarget", + "path": "https://openminds.om-i.org/props/studyTarget", + "propertyName": "studyTarget", "ensureOrder": true, "structure": [ { @@ -197,29 +201,29 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/criteria", + "@id": "https://openminds.om-i.org/props/criteria", "typeFilter": { - "@id": "https://openminds.ebrains.eu/sands/AtlasAnnotation" + "@id": "https://openminds.om-i.org/types/AtlasAnnotation" }, "reverse": true }, - "propertyName": "vocab:criteria__AtlasAnnotation", + "propertyName": "criteria__AtlasAnnotation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/anchorPoint", - "propertyName": "vocab:anchorPoint", + "path": "https://openminds.om-i.org/props/anchorPoint", + "propertyName": "anchorPoint", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -227,16 +231,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -244,17 +249,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/criteria", - "propertyName": "vocab:criteria", + "path": "https://openminds.om-i.org/props/criteria", + "propertyName": "criteria", "structure": [ { "path": "@id" @@ -262,11 +268,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/criteriaQualityType", - "propertyName": "vocab:criteriaQualityType", + "path": "https://openminds.om-i.org/props/criteriaQualityType", + "propertyName": "criteriaQualityType", "structure": [ { "path": "@id" @@ -274,11 +281,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/criteriaType", - "propertyName": "vocab:criteriaType", + "path": "https://openminds.om-i.org/props/criteriaType", + "propertyName": "criteriaType", "structure": [ { "path": "@id" @@ -286,11 +294,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/inspiredBy", - "propertyName": "vocab:inspiredBy", + "path": "https://openminds.om-i.org/props/inspiredBy", + "propertyName": "inspiredBy", "ensureOrder": true, "structure": [ { @@ -302,12 +311,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/laterality", - "propertyName": "vocab:laterality", + "path": "https://openminds.om-i.org/props/laterality", + "propertyName": "laterality", "ensureOrder": true, "structure": [ { @@ -319,27 +328,27 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/preferredVisualization", - "propertyName": "vocab:preferredVisualization", + "path": "https://openminds.om-i.org/props/preferredVisualization", + "propertyName": "preferredVisualization", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { - "path": "https://openminds.ebrains.eu/vocab/anchorPoint", - "propertyName": "vocab:anchorPoint", + "path": "https://openminds.om-i.org/props/anchorPoint", + "propertyName": "anchorPoint", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -347,16 +356,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -364,24 +374,25 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/cameraPosition", - "propertyName": "vocab:cameraPosition", + "path": "https://openminds.om-i.org/props/cameraPosition", + "propertyName": "cameraPosition", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/coordinateSpace", - "propertyName": "vocab:coordinateSpace", + "path": "https://openminds.om-i.org/props/coordinateSpace", + "propertyName": "coordinateSpace", "structure": [ { "path": "@id" @@ -389,19 +400,20 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/coordinates", - "propertyName": "vocab:coordinates", + "path": "https://openminds.om-i.org/props/coordinates", + "propertyName": "coordinates", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -409,16 +421,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -426,19 +439,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/preferredDisplayColor", - "propertyName": "vocab:preferredDisplayColor", + "path": "https://openminds.om-i.org/props/preferredDisplayColor", + "propertyName": "preferredDisplayColor", "structure": [ { "path": "@id" @@ -446,13 +461,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/specification", - "propertyName": "vocab:specification", + "path": "https://openminds.om-i.org/props/specification", + "propertyName": "specification", "structure": [ { "path": "@id" @@ -460,11 +477,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "structure": [ { "path": "@id" @@ -472,35 +490,36 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } ] }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/criteria", + "@id": "https://openminds.om-i.org/props/criteria", "typeFilter": { - "@id": "https://openminds.ebrains.eu/sands/CustomAnnotation" + "@id": "https://openminds.om-i.org/types/CustomAnnotation" }, "reverse": true }, - "propertyName": "vocab:criteria__CustomAnnotation", + "propertyName": "criteria__CustomAnnotation", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/anchorPoint", - "propertyName": "vocab:anchorPoint", + "path": "https://openminds.om-i.org/props/anchorPoint", + "propertyName": "anchorPoint", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -508,16 +527,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -525,17 +545,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/coordinateSpace", - "propertyName": "vocab:coordinateSpace", + "path": "https://openminds.om-i.org/props/coordinateSpace", + "propertyName": "coordinateSpace", "structure": [ { "path": "@id" @@ -543,11 +564,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/criteria", - "propertyName": "vocab:criteria", + "path": "https://openminds.om-i.org/props/criteria", + "propertyName": "criteria", "structure": [ { "path": "@id" @@ -555,11 +577,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/criteriaQualityType", - "propertyName": "vocab:criteriaQualityType", + "path": "https://openminds.om-i.org/props/criteriaQualityType", + "propertyName": "criteriaQualityType", "structure": [ { "path": "@id" @@ -567,11 +590,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/criteriaType", - "propertyName": "vocab:criteriaType", + "path": "https://openminds.om-i.org/props/criteriaType", + "propertyName": "criteriaType", "structure": [ { "path": "@id" @@ -579,11 +603,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/inspiredBy", - "propertyName": "vocab:inspiredBy", + "path": "https://openminds.om-i.org/props/inspiredBy", + "propertyName": "inspiredBy", "ensureOrder": true, "structure": [ { @@ -595,12 +620,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/laterality", - "propertyName": "vocab:laterality", + "path": "https://openminds.om-i.org/props/laterality", + "propertyName": "laterality", "ensureOrder": true, "structure": [ { @@ -612,27 +637,27 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/preferredVisualization", - "propertyName": "vocab:preferredVisualization", + "path": "https://openminds.om-i.org/props/preferredVisualization", + "propertyName": "preferredVisualization", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { - "path": "https://openminds.ebrains.eu/vocab/anchorPoint", - "propertyName": "vocab:anchorPoint", + "path": "https://openminds.om-i.org/props/anchorPoint", + "propertyName": "anchorPoint", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -640,16 +665,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -657,24 +683,25 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] }, { - "path": "https://openminds.ebrains.eu/vocab/cameraPosition", - "propertyName": "vocab:cameraPosition", + "path": "https://openminds.om-i.org/props/cameraPosition", + "propertyName": "cameraPosition", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/coordinateSpace", - "propertyName": "vocab:coordinateSpace", + "path": "https://openminds.om-i.org/props/coordinateSpace", + "propertyName": "coordinateSpace", "structure": [ { "path": "@id" @@ -682,19 +709,20 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/coordinates", - "propertyName": "vocab:coordinates", + "path": "https://openminds.om-i.org/props/coordinates", + "propertyName": "coordinates", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -702,16 +730,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -719,19 +748,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } ] } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/preferredDisplayColor", - "propertyName": "vocab:preferredDisplayColor", + "path": "https://openminds.om-i.org/props/preferredDisplayColor", + "propertyName": "preferredDisplayColor", "structure": [ { "path": "@id" @@ -739,13 +770,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/specification", - "propertyName": "vocab:specification", + "path": "https://openminds.om-i.org/props/specification", + "propertyName": "specification", "structure": [ { "path": "@id" @@ -753,11 +786,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "structure": [ { "path": "@id" @@ -765,7 +799,8 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } ] } diff --git a/test/test_data/queries/openminds/core/quantitativevaluearray_simple_query.json b/test/test_data/queries/openminds/core/quantitativevaluearray_simple_query.json index ea6e3c3a..e26b08e1 100644 --- a/test/test_data/queries/openminds/core/quantitativevaluearray_simple_query.json +++ b/test/test_data/queries/openminds/core/quantitativevaluearray_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/QuantitativeValueArray", + "type": "https://openminds.om-i.org/types/QuantitativeValueArray", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,18 +39,18 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/negativeUncertainties", - "propertyName": "vocab:negativeUncertainties", + "path": "https://openminds.om-i.org/props/negativeUncertainties", + "propertyName": "negativeUncertainties", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/positiveUncertainties", - "propertyName": "vocab:positiveUncertainties", + "path": "https://openminds.om-i.org/props/positiveUncertainties", + "propertyName": "positiveUncertainties", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -58,11 +58,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -70,11 +71,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/values", - "propertyName": "vocab:values", + "path": "https://openminds.om-i.org/props/values", + "propertyName": "values", "ensureOrder": true } ] diff --git a/test/test_data/queries/openminds/core/researchproductgroup_simple_query.json b/test/test_data/queries/openminds/core/researchproductgroup_simple_query.json index 1967de3f..31f2ed3c 100644 --- a/test/test_data/queries/openminds/core/researchproductgroup_simple_query.json +++ b/test/test_data/queries/openminds/core/researchproductgroup_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ResearchProductGroup", + "type": "https://openminds.om-i.org/types/ResearchProductGroup", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/context", - "propertyName": "vocab:context" + "path": "https://openminds.om-i.org/props/context", + "propertyName": "context" }, { - "path": "https://openminds.ebrains.eu/vocab/hasPart", - "propertyName": "vocab:hasPart", + "path": "https://openminds.om-i.org/props/hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/rorid_simple_query.json b/test/test_data/queries/openminds/core/rorid_simple_query.json index b99e0316..bc2e0171 100644 --- a/test/test_data/queries/openminds/core/rorid_simple_query.json +++ b/test/test_data/queries/openminds/core/rorid_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/RORID", + "type": "https://openminds.om-i.org/types/RORID", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/rrid_simple_query.json b/test/test_data/queries/openminds/core/rrid_simple_query.json index ca53084c..9ddf5749 100644 --- a/test/test_data/queries/openminds/core/rrid_simple_query.json +++ b/test/test_data/queries/openminds/core/rrid_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/RRID", + "type": "https://openminds.om-i.org/types/RRID", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/servicelink_simple_query.json b/test/test_data/queries/openminds/core/servicelink_simple_query.json index 8f0f5fe2..aea47af3 100644 --- a/test/test_data/queries/openminds/core/servicelink_simple_query.json +++ b/test/test_data/queries/openminds/core/servicelink_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/ServiceLink", + "type": "https://openminds.om-i.org/types/ServiceLink", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/dataLocation", - "propertyName": "vocab:dataLocation", + "path": "https://openminds.om-i.org/props/dataLocation", + "propertyName": "dataLocation", "structure": [ { "path": "@id" @@ -48,19 +48,20 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/displayLabel", - "propertyName": "vocab:displayLabel" + "path": "https://openminds.om-i.org/props/displayLabel", + "propertyName": "displayLabel" }, { - "path": "https://openminds.ebrains.eu/vocab/openDataIn", - "propertyName": "vocab:openDataIn" + "path": "https://openminds.om-i.org/props/openDataIn", + "propertyName": "openDataIn" }, { - "path": "https://openminds.ebrains.eu/vocab/previewImage", - "propertyName": "vocab:previewImage", + "path": "https://openminds.om-i.org/props/previewImage", + "propertyName": "previewImage", "structure": [ { "path": "@id" @@ -68,11 +69,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/service", - "propertyName": "vocab:service", + "path": "https://openminds.om-i.org/props/service", + "propertyName": "service", "structure": [ { "path": "@id" @@ -80,7 +82,8 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } ] } \ No newline at end of file diff --git a/test/test_data/queries/openminds/core/setup_simple_query.json b/test/test_data/queries/openminds/core/setup_simple_query.json index adffe2d6..2a2fb326 100644 --- a/test/test_data/queries/openminds/core/setup_simple_query.json +++ b/test/test_data/queries/openminds/core/setup_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Setup", + "type": "https://openminds.om-i.org/types/Setup", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/hasPart", - "propertyName": "vocab:hasPart", + "path": "https://openminds.om-i.org/props/hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -56,12 +56,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/location", - "propertyName": "vocab:location" + "path": "https://openminds.om-i.org/props/location", + "propertyName": "location" }, { - "path": "https://openminds.ebrains.eu/vocab/manufacturer", - "propertyName": "vocab:manufacturer", + "path": "https://openminds.om-i.org/props/manufacturer", + "propertyName": "manufacturer", "ensureOrder": true, "structure": [ { @@ -73,13 +73,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "ensureOrder": true, "structure": [ { @@ -92,10 +92,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -108,10 +108,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/setup", + "@id": "https://openminds.om-i.org/props/setup", "reverse": true }, - "propertyName": "vocab:setup", + "propertyName": "setup", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/software_simple_query.json b/test/test_data/queries/openminds/core/software_simple_query.json index 053d92a3..f045b6a4 100644 --- a/test/test_data/queries/openminds/core/software_simple_query.json +++ b/test/test_data/queries/openminds/core/software_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Software", + "type": "https://openminds.om-i.org/types/Software", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -52,12 +52,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -69,8 +69,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -78,16 +78,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/hasVersion", - "propertyName": "vocab:hasVersion", + "path": "https://openminds.om-i.org/props/hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -99,23 +100,23 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -128,10 +129,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -144,10 +145,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/softwareversion_simple_query.json b/test/test_data/queries/openminds/core/softwareversion_simple_query.json index 59a8485b..bdcfd18b 100644 --- a/test/test_data/queries/openminds/core/softwareversion_simple_query.json +++ b/test/test_data/queries/openminds/core/softwareversion_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/SoftwareVersion", + "type": "https://openminds.om-i.org/types/SoftwareVersion", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/accessibility", - "propertyName": "vocab:accessibility", + "path": "https://openminds.om-i.org/props/accessibility", + "propertyName": "accessibility", "structure": [ { "path": "@id" @@ -48,11 +48,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/applicationCategory", - "propertyName": "vocab:applicationCategory", + "path": "https://openminds.om-i.org/props/applicationCategory", + "propertyName": "applicationCategory", "ensureOrder": true, "structure": [ { @@ -64,15 +65,15 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/copyright", - "propertyName": "vocab:copyright", + "path": "https://openminds.om-i.org/props/copyright", + "propertyName": "copyright", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/holder", - "propertyName": "vocab:holder", + "path": "https://openminds.om-i.org/props/holder", + "propertyName": "holder", "ensureOrder": true, "structure": [ { @@ -84,15 +85,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/year", - "propertyName": "vocab:year", + "path": "https://openminds.om-i.org/props/year", + "propertyName": "year", "ensureOrder": true } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -104,12 +106,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -121,8 +123,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/device", - "propertyName": "vocab:device", + "path": "https://openminds.om-i.org/props/device", + "propertyName": "device", "ensureOrder": true, "structure": [ { @@ -134,8 +136,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -143,11 +145,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/feature", - "propertyName": "vocab:feature", + "path": "https://openminds.om-i.org/props/feature", + "propertyName": "feature", "ensureOrder": true, "structure": [ { @@ -159,8 +162,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullDocumentation", - "propertyName": "vocab:fullDocumentation", + "path": "https://openminds.om-i.org/props/fullDocumentation", + "propertyName": "fullDocumentation", "structure": [ { "path": "@id" @@ -168,16 +171,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/funding", - "propertyName": "vocab:funding", + "path": "https://openminds.om-i.org/props/funding", + "propertyName": "funding", "ensureOrder": true, "structure": [ { @@ -189,8 +193,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/hasPart", - "propertyName": "vocab:hasPart", + "path": "https://openminds.om-i.org/props/hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -202,16 +206,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/inputFormat", - "propertyName": "vocab:inputFormat", + "path": "https://openminds.om-i.org/props/inputFormat", + "propertyName": "inputFormat", "ensureOrder": true, "structure": [ { @@ -223,8 +227,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isAlternativeVersionOf", - "propertyName": "vocab:isAlternativeVersionOf", + "path": "https://openminds.om-i.org/props/isAlternativeVersionOf", + "propertyName": "isAlternativeVersionOf", "ensureOrder": true, "structure": [ { @@ -236,8 +240,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isNewVersionOf", - "propertyName": "vocab:isNewVersionOf", + "path": "https://openminds.om-i.org/props/isNewVersionOf", + "propertyName": "isNewVersionOf", "structure": [ { "path": "@id" @@ -245,11 +249,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/keyword", - "propertyName": "vocab:keyword", + "path": "https://openminds.om-i.org/props/keyword", + "propertyName": "keyword", "ensureOrder": true, "structure": [ { @@ -261,8 +266,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/language", - "propertyName": "vocab:language", + "path": "https://openminds.om-i.org/props/language", + "propertyName": "language", "ensureOrder": true, "structure": [ { @@ -274,8 +279,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/license", - "propertyName": "vocab:license", + "path": "https://openminds.om-i.org/props/license", + "propertyName": "license", "ensureOrder": true, "structure": [ { @@ -287,8 +292,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/operatingSystem", - "propertyName": "vocab:operatingSystem", + "path": "https://openminds.om-i.org/props/operatingSystem", + "propertyName": "operatingSystem", "ensureOrder": true, "structure": [ { @@ -300,16 +305,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/otherContribution", - "propertyName": "vocab:otherContribution", + "path": "https://openminds.om-i.org/props/otherContribution", + "propertyName": "otherContribution", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contributor", - "propertyName": "vocab:contributor", + "path": "https://openminds.om-i.org/props/contributor", + "propertyName": "contributor", "structure": [ { "path": "@id" @@ -317,11 +322,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "ensureOrder": true, "structure": [ { @@ -335,8 +341,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/outputFormat", - "propertyName": "vocab:outputFormat", + "path": "https://openminds.om-i.org/props/outputFormat", + "propertyName": "outputFormat", "ensureOrder": true, "structure": [ { @@ -348,8 +354,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/programmingLanguage", - "propertyName": "vocab:programmingLanguage", + "path": "https://openminds.om-i.org/props/programmingLanguage", + "propertyName": "programmingLanguage", "ensureOrder": true, "structure": [ { @@ -361,8 +367,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/relatedPublication", - "propertyName": "vocab:relatedPublication", + "path": "https://openminds.om-i.org/props/relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { @@ -374,12 +380,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/releaseDate", - "propertyName": "vocab:releaseDate" + "path": "https://openminds.om-i.org/props/releaseDate", + "propertyName": "releaseDate" }, { - "path": "https://openminds.ebrains.eu/vocab/repository", - "propertyName": "vocab:repository", + "path": "https://openminds.om-i.org/props/repository", + "propertyName": "repository", "structure": [ { "path": "@id" @@ -387,36 +393,37 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/requirement", - "propertyName": "vocab:requirement", + "path": "https://openminds.om-i.org/props/requirement", + "propertyName": "requirement", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { - "path": "https://openminds.ebrains.eu/vocab/supportChannel", - "propertyName": "vocab:supportChannel", + "path": "https://openminds.om-i.org/props/supportChannel", + "propertyName": "supportChannel", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/versionIdentifier", - "propertyName": "vocab:versionIdentifier" + "path": "https://openminds.om-i.org/props/versionIdentifier", + "propertyName": "versionIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/versionInnovation", - "propertyName": "vocab:versionInnovation" + "path": "https://openminds.om-i.org/props/versionInnovation", + "propertyName": "versionInnovation" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -429,10 +436,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/input", + "@id": "https://openminds.om-i.org/props/input", "reverse": true }, - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -445,10 +452,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isNewVersionOf", + "@id": "https://openminds.om-i.org/props/isNewVersionOf", "reverse": true }, - "propertyName": "vocab:isNewVersionOf", + "propertyName": "isNewVersionOf", "ensureOrder": true, "structure": [ { @@ -461,10 +468,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -477,10 +484,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasVersion", + "@id": "https://openminds.om-i.org/props/hasVersion", "reverse": true }, - "propertyName": "vocab:hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -493,10 +500,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -509,10 +516,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -525,10 +532,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/software", + "@id": "https://openminds.om-i.org/props/software", "reverse": true }, - "propertyName": "vocab:software", + "propertyName": "software", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/stimulation_simple_query.json b/test/test_data/queries/openminds/core/stimulation_simple_query.json index 520476b7..2d906f4b 100644 --- a/test/test_data/queries/openminds/core/stimulation_simple_query.json +++ b/test/test_data/queries/openminds/core/stimulation_simple_query.json @@ -40,11 +40,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel" + "propertyName": "lookupLabel" }, { "path": "https://openminds.ebrains.eu/vocab/customPropertySet", - "propertyName": "vocab:customPropertySet", + "propertyName": "customPropertySet", "filter": { "op": "CONTAINS", "parameter": "custom_property_sets" @@ -56,11 +56,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/context", - "propertyName": "vocab:context" + "propertyName": "context" }, { "path": "https://openminds.ebrains.eu/vocab/definedIn", - "propertyName": "vocab:definedIn", + "propertyName": "definedIn", "structure": [ { "path": "@id" @@ -72,7 +72,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/relevantFor", - "propertyName": "vocab:relevantFor", + "propertyName": "relevantFor", "structure": [ { "path": "@id" @@ -86,7 +86,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/dataLocation", - "propertyName": "vocab:dataLocation", + "propertyName": "dataLocation", "ensureOrder": true, "structure": [ { @@ -99,11 +99,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "propertyName": "description" }, { "path": "https://openminds.ebrains.eu/vocab/stimulationApproach", - "propertyName": "vocab:stimulationApproach", + "propertyName": "stimulationApproach", "structure": [ { "path": "@id" @@ -115,7 +115,7 @@ }, { "path": "https://openminds.ebrains.eu/vocab/stimulusType", - "propertyName": "vocab:stimulusType", + "propertyName": "stimulusType", "structure": [ { "path": "@id" diff --git a/test/test_data/queries/openminds/core/strain_simple_query.json b/test/test_data/queries/openminds/core/strain_simple_query.json index 8817af3b..08fe371a 100644 --- a/test/test_data/queries/openminds/core/strain_simple_query.json +++ b/test/test_data/queries/openminds/core/strain_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Strain", + "type": "https://openminds.om-i.org/types/Strain", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,13 +39,13 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/alternateIdentifier", - "propertyName": "vocab:alternateIdentifier", + "path": "https://openminds.om-i.org/props/alternateIdentifier", + "propertyName": "alternateIdentifier", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/backgroundStrain", - "propertyName": "vocab:backgroundStrain", + "path": "https://openminds.om-i.org/props/backgroundStrain", + "propertyName": "backgroundStrain", "ensureOrder": true, "structure": [ { @@ -57,8 +57,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/breedingType", - "propertyName": "vocab:breedingType", + "path": "https://openminds.om-i.org/props/breedingType", + "propertyName": "breedingType", "structure": [ { "path": "@id" @@ -66,15 +66,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/digitalIdentifier", - "propertyName": "vocab:digitalIdentifier", + "path": "https://openminds.om-i.org/props/digitalIdentifier", + "propertyName": "digitalIdentifier", "structure": [ { "path": "@id" @@ -82,11 +83,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/diseaseModel", - "propertyName": "vocab:diseaseModel", + "path": "https://openminds.om-i.org/props/diseaseModel", + "propertyName": "diseaseModel", "ensureOrder": true, "structure": [ { @@ -98,8 +100,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/geneticStrainType", - "propertyName": "vocab:geneticStrainType", + "path": "https://openminds.om-i.org/props/geneticStrainType", + "propertyName": "geneticStrainType", "structure": [ { "path": "@id" @@ -107,29 +109,30 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/laboratoryCode", - "propertyName": "vocab:laboratoryCode" + "path": "https://openminds.om-i.org/props/laboratoryCode", + "propertyName": "laboratoryCode" }, { - "path": "https://openminds.ebrains.eu/vocab/name", - "propertyName": "vocab:name", + "path": "https://openminds.om-i.org/props/name", + "propertyName": "name", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/ontologyIdentifier", - "propertyName": "vocab:ontologyIdentifier", + "path": "https://openminds.om-i.org/props/ontologyIdentifier", + "propertyName": "ontologyIdentifier", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/phenotype", - "propertyName": "vocab:phenotype" + "path": "https://openminds.om-i.org/props/phenotype", + "propertyName": "phenotype" }, { - "path": "https://openminds.ebrains.eu/vocab/species", - "propertyName": "vocab:species", + "path": "https://openminds.om-i.org/props/species", + "propertyName": "species", "structure": [ { "path": "@id" @@ -137,22 +140,23 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/stockNumber", - "propertyName": "vocab:stockNumber", + "path": "https://openminds.om-i.org/props/stockNumber", + "propertyName": "stockNumber", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { - "path": "https://openminds.ebrains.eu/vocab/vendor", - "propertyName": "vocab:vendor", + "path": "https://openminds.om-i.org/props/vendor", + "propertyName": "vendor", "structure": [ { "path": "@id" @@ -160,21 +164,23 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/synonym", - "propertyName": "vocab:synonym", + "path": "https://openminds.om-i.org/props/synonym", + "propertyName": "synonym", "ensureOrder": true }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/backgroundStrain", + "@id": "https://openminds.om-i.org/props/backgroundStrain", "reverse": true }, - "propertyName": "vocab:backgroundStrain", + "propertyName": "backgroundStrain", "ensureOrder": true, "structure": [ { @@ -187,10 +193,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/species", + "@id": "https://openminds.om-i.org/props/species", "reverse": true }, - "propertyName": "vocab:species", + "propertyName": "species", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/subject_simple_query.json b/test/test_data/queries/openminds/core/subject_simple_query.json index 71c0f4c4..3b7c982d 100644 --- a/test/test_data/queries/openminds/core/subject_simple_query.json +++ b/test/test_data/queries/openminds/core/subject_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/Subject", + "type": "https://openminds.om-i.org/types/Subject", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/biologicalSex", - "propertyName": "vocab:biologicalSex", + "path": "https://openminds.om-i.org/props/biologicalSex", + "propertyName": "biologicalSex", "structure": [ { "path": "@id" @@ -48,15 +48,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/isPartOf", - "propertyName": "vocab:isPartOf", + "path": "https://openminds.om-i.org/props/isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { @@ -68,13 +69,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/species", - "propertyName": "vocab:species", + "path": "https://openminds.om-i.org/props/species", + "propertyName": "species", "structure": [ { "path": "@id" @@ -82,11 +83,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/studiedState", - "propertyName": "vocab:studiedState", + "path": "https://openminds.om-i.org/props/studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -99,10 +101,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedSpecimen", + "@id": "https://openminds.om-i.org/props/studiedSpecimen", "reverse": true }, - "propertyName": "vocab:studiedSpecimen", + "propertyName": "studiedSpecimen", "ensureOrder": true, "structure": [ { @@ -115,10 +117,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -131,10 +133,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/usedSpecimen", + "@id": "https://openminds.om-i.org/props/usedSpecimen", "reverse": true }, - "propertyName": "vocab:usedSpecimen", + "propertyName": "usedSpecimen", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/subjectgroup_simple_query.json b/test/test_data/queries/openminds/core/subjectgroup_simple_query.json index 7faf0e0c..13b7b187 100644 --- a/test/test_data/queries/openminds/core/subjectgroup_simple_query.json +++ b/test/test_data/queries/openminds/core/subjectgroup_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/SubjectGroup", + "type": "https://openminds.om-i.org/types/SubjectGroup", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { - "path": "https://openminds.ebrains.eu/vocab/biologicalSex", - "propertyName": "vocab:biologicalSex", + "path": "https://openminds.om-i.org/props/biologicalSex", + "propertyName": "biologicalSex", "ensureOrder": true, "structure": [ { @@ -56,21 +56,21 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/numberOfSubjects", - "propertyName": "vocab:numberOfSubjects" + "path": "https://openminds.om-i.org/props/numberOfSubjects", + "propertyName": "numberOfSubjects" }, { - "path": "https://openminds.ebrains.eu/vocab/species", - "propertyName": "vocab:species", + "path": "https://openminds.om-i.org/props/species", + "propertyName": "species", "ensureOrder": true, "structure": [ { @@ -82,8 +82,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/studiedState", - "propertyName": "vocab:studiedState", + "path": "https://openminds.om-i.org/props/studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -96,10 +96,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isPartOf", + "@id": "https://openminds.om-i.org/props/isPartOf", "reverse": true }, - "propertyName": "vocab:isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { @@ -112,10 +112,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedSpecimen", + "@id": "https://openminds.om-i.org/props/studiedSpecimen", "reverse": true }, - "propertyName": "vocab:studiedSpecimen", + "propertyName": "studiedSpecimen", "ensureOrder": true, "structure": [ { @@ -128,10 +128,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -144,10 +144,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/usedSpecimen", + "@id": "https://openminds.om-i.org/props/usedSpecimen", "reverse": true }, - "propertyName": "vocab:usedSpecimen", + "propertyName": "usedSpecimen", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/subjectgroupstate_simple_query.json b/test/test_data/queries/openminds/core/subjectgroupstate_simple_query.json index 4b03eaf8..c8f09fd0 100644 --- a/test/test_data/queries/openminds/core/subjectgroupstate_simple_query.json +++ b/test/test_data/queries/openminds/core/subjectgroupstate_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/SubjectGroupState", + "type": "https://openminds.om-i.org/types/SubjectGroupState", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,24 +39,24 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:age__QuantitativeValue", + "propertyName": "age__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -64,16 +64,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -81,33 +82,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:age__QuantitativeValueRange", + "propertyName": "age__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -115,15 +118,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -131,13 +135,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/ageCategory", - "propertyName": "vocab:ageCategory", + "path": "https://openminds.om-i.org/props/ageCategory", + "propertyName": "ageCategory", "ensureOrder": true, "structure": [ { @@ -149,8 +155,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/attribute", - "propertyName": "vocab:attribute", + "path": "https://openminds.om-i.org/props/attribute", + "propertyName": "attribute", "ensureOrder": true, "structure": [ { @@ -162,8 +168,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/descendedFrom", - "propertyName": "vocab:descendedFrom", + "path": "https://openminds.om-i.org/props/descendedFrom", + "propertyName": "descendedFrom", "structure": [ { "path": "@id" @@ -171,11 +177,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/handedness", - "propertyName": "vocab:handedness", + "path": "https://openminds.om-i.org/props/handedness", + "propertyName": "handedness", "ensureOrder": true, "structure": [ { @@ -187,17 +194,17 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/pathology", - "propertyName": "vocab:pathology", + "path": "https://openminds.om-i.org/props/pathology", + "propertyName": "pathology", "ensureOrder": true, "structure": [ { @@ -210,19 +217,19 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValue", + "propertyName": "relativeTimeIndication__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -230,16 +237,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -247,33 +255,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValueRange", + "propertyName": "relativeTimeIndication__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -281,15 +291,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -297,25 +308,27 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:weight__QuantitativeValue", + "propertyName": "weight__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -323,16 +336,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -340,33 +354,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:weight__QuantitativeValueRange", + "propertyName": "weight__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -374,15 +390,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -390,16 +407,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/descendedFrom", + "@id": "https://openminds.om-i.org/props/descendedFrom", "reverse": true }, - "propertyName": "vocab:descendedFrom", + "propertyName": "descendedFrom", "ensureOrder": true, "structure": [ { @@ -412,10 +431,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/input", + "@id": "https://openminds.om-i.org/props/input", "reverse": true }, - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -428,10 +447,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/output", + "@id": "https://openminds.om-i.org/props/output", "reverse": true }, - "propertyName": "vocab:output", + "propertyName": "output", "ensureOrder": true, "structure": [ { @@ -444,10 +463,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedState", + "@id": "https://openminds.om-i.org/props/studiedState", "reverse": true }, - "propertyName": "vocab:studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -460,10 +479,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/subjectstate_simple_query.json b/test/test_data/queries/openminds/core/subjectstate_simple_query.json index cfc65389..aab6f1d0 100644 --- a/test/test_data/queries/openminds/core/subjectstate_simple_query.json +++ b/test/test_data/queries/openminds/core/subjectstate_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/SubjectState", + "type": "https://openminds.om-i.org/types/SubjectState", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,24 +39,24 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:age__QuantitativeValue", + "propertyName": "age__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -64,16 +64,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -81,33 +82,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:age__QuantitativeValueRange", + "propertyName": "age__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -115,15 +118,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -131,13 +135,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/ageCategory", - "propertyName": "vocab:ageCategory", + "path": "https://openminds.om-i.org/props/ageCategory", + "propertyName": "ageCategory", "structure": [ { "path": "@id" @@ -145,11 +151,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/attribute", - "propertyName": "vocab:attribute", + "path": "https://openminds.om-i.org/props/attribute", + "propertyName": "attribute", "ensureOrder": true, "structure": [ { @@ -161,8 +168,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/descendedFrom", - "propertyName": "vocab:descendedFrom", + "path": "https://openminds.om-i.org/props/descendedFrom", + "propertyName": "descendedFrom", "structure": [ { "path": "@id" @@ -170,11 +177,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/handedness", - "propertyName": "vocab:handedness", + "path": "https://openminds.om-i.org/props/handedness", + "propertyName": "handedness", "structure": [ { "path": "@id" @@ -182,20 +190,21 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/pathology", - "propertyName": "vocab:pathology", + "path": "https://openminds.om-i.org/props/pathology", + "propertyName": "pathology", "ensureOrder": true, "structure": [ { @@ -208,19 +217,19 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValue", + "propertyName": "relativeTimeIndication__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -228,16 +237,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -245,33 +255,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValueRange", + "propertyName": "relativeTimeIndication__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -279,15 +291,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -295,25 +308,27 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:weight__QuantitativeValue", + "propertyName": "weight__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -321,16 +336,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -338,33 +354,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:weight__QuantitativeValueRange", + "propertyName": "weight__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -372,15 +390,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -388,16 +407,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/descendedFrom", + "@id": "https://openminds.om-i.org/props/descendedFrom", "reverse": true }, - "propertyName": "vocab:descendedFrom", + "propertyName": "descendedFrom", "ensureOrder": true, "structure": [ { @@ -410,10 +431,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/input", + "@id": "https://openminds.om-i.org/props/input", "reverse": true }, - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -426,10 +447,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/output", + "@id": "https://openminds.om-i.org/props/output", "reverse": true }, - "propertyName": "vocab:output", + "propertyName": "output", "ensureOrder": true, "structure": [ { @@ -442,10 +463,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedState", + "@id": "https://openminds.om-i.org/props/studiedState", "reverse": true }, - "propertyName": "vocab:studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -458,10 +479,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -474,10 +495,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/usedSpecimen", + "@id": "https://openminds.om-i.org/props/usedSpecimen", "reverse": true }, - "propertyName": "vocab:usedSpecimen", + "propertyName": "usedSpecimen", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/swhid_simple_query.json b/test/test_data/queries/openminds/core/swhid_simple_query.json index 5d988de3..2bf90150 100644 --- a/test/test_data/queries/openminds/core/swhid_simple_query.json +++ b/test/test_data/queries/openminds/core/swhid_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/SWHID", + "type": "https://openminds.om-i.org/types/SWHID", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,15 +39,15 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/identifier", - "propertyName": "vocab:identifier" + "path": "https://openminds.om-i.org/props/identifier", + "propertyName": "identifier" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/digitalIdentifier", + "@id": "https://openminds.om-i.org/props/digitalIdentifier", "reverse": true }, - "propertyName": "vocab:digitalIdentifier", + "propertyName": "digitalIdentifier", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/tissuesample_simple_query.json b/test/test_data/queries/openminds/core/tissuesample_simple_query.json index 6c3c9c72..0978d25d 100644 --- a/test/test_data/queries/openminds/core/tissuesample_simple_query.json +++ b/test/test_data/queries/openminds/core/tissuesample_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/TissueSample", + "type": "https://openminds.om-i.org/types/TissueSample", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/anatomicalLocation", - "propertyName": "vocab:anatomicalLocation", + "path": "https://openminds.om-i.org/props/anatomicalLocation", + "propertyName": "anatomicalLocation", "ensureOrder": true, "structure": [ { @@ -52,8 +52,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/biologicalSex", - "propertyName": "vocab:biologicalSex", + "path": "https://openminds.om-i.org/props/biologicalSex", + "propertyName": "biologicalSex", "structure": [ { "path": "@id" @@ -61,15 +61,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/isPartOf", - "propertyName": "vocab:isPartOf", + "path": "https://openminds.om-i.org/props/isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { @@ -81,8 +82,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/laterality", - "propertyName": "vocab:laterality", + "path": "https://openminds.om-i.org/props/laterality", + "propertyName": "laterality", "ensureOrder": true, "structure": [ { @@ -94,13 +95,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/origin", - "propertyName": "vocab:origin", + "path": "https://openminds.om-i.org/props/origin", + "propertyName": "origin", "structure": [ { "path": "@id" @@ -108,11 +109,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/species", - "propertyName": "vocab:species", + "path": "https://openminds.om-i.org/props/species", + "propertyName": "species", "structure": [ { "path": "@id" @@ -120,11 +122,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/studiedState", - "propertyName": "vocab:studiedState", + "path": "https://openminds.om-i.org/props/studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -136,8 +139,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "structure": [ { "path": "@id" @@ -145,14 +148,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedSpecimen", + "@id": "https://openminds.om-i.org/props/studiedSpecimen", "reverse": true }, - "propertyName": "vocab:studiedSpecimen", + "propertyName": "studiedSpecimen", "ensureOrder": true, "structure": [ { @@ -165,10 +169,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -181,10 +185,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/usedSpecimen", + "@id": "https://openminds.om-i.org/props/usedSpecimen", "reverse": true }, - "propertyName": "vocab:usedSpecimen", + "propertyName": "usedSpecimen", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/tissuesamplecollection_simple_query.json b/test/test_data/queries/openminds/core/tissuesamplecollection_simple_query.json index 78a39ec6..2fdd4ffa 100644 --- a/test/test_data/queries/openminds/core/tissuesamplecollection_simple_query.json +++ b/test/test_data/queries/openminds/core/tissuesamplecollection_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/TissueSampleCollection", + "type": "https://openminds.om-i.org/types/TissueSampleCollection", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { - "path": "https://openminds.ebrains.eu/vocab/anatomicalLocation", - "propertyName": "vocab:anatomicalLocation", + "path": "https://openminds.om-i.org/props/anatomicalLocation", + "propertyName": "anatomicalLocation", "ensureOrder": true, "structure": [ { @@ -56,8 +56,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/biologicalSex", - "propertyName": "vocab:biologicalSex", + "path": "https://openminds.om-i.org/props/biologicalSex", + "propertyName": "biologicalSex", "ensureOrder": true, "structure": [ { @@ -69,12 +69,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/laterality", - "propertyName": "vocab:laterality", + "path": "https://openminds.om-i.org/props/laterality", + "propertyName": "laterality", "ensureOrder": true, "structure": [ { @@ -86,17 +86,17 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/numberOfTissueSamples", - "propertyName": "vocab:numberOfTissueSamples" + "path": "https://openminds.om-i.org/props/numberOfTissueSamples", + "propertyName": "numberOfTissueSamples" }, { - "path": "https://openminds.ebrains.eu/vocab/origin", - "propertyName": "vocab:origin", + "path": "https://openminds.om-i.org/props/origin", + "propertyName": "origin", "ensureOrder": true, "structure": [ { @@ -108,8 +108,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/species", - "propertyName": "vocab:species", + "path": "https://openminds.om-i.org/props/species", + "propertyName": "species", "ensureOrder": true, "structure": [ { @@ -121,8 +121,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/studiedState", - "propertyName": "vocab:studiedState", + "path": "https://openminds.om-i.org/props/studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -134,8 +134,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "ensureOrder": true, "structure": [ { @@ -148,10 +148,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isPartOf", + "@id": "https://openminds.om-i.org/props/isPartOf", "reverse": true }, - "propertyName": "vocab:isPartOf", + "propertyName": "isPartOf", "ensureOrder": true, "structure": [ { @@ -164,10 +164,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedSpecimen", + "@id": "https://openminds.om-i.org/props/studiedSpecimen", "reverse": true }, - "propertyName": "vocab:studiedSpecimen", + "propertyName": "studiedSpecimen", "ensureOrder": true, "structure": [ { @@ -180,10 +180,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -196,10 +196,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/usedSpecimen", + "@id": "https://openminds.om-i.org/props/usedSpecimen", "reverse": true }, - "propertyName": "vocab:usedSpecimen", + "propertyName": "usedSpecimen", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/tissuesamplecollectionstate_simple_query.json b/test/test_data/queries/openminds/core/tissuesamplecollectionstate_simple_query.json index ea8b9c0c..e026008d 100644 --- a/test/test_data/queries/openminds/core/tissuesamplecollectionstate_simple_query.json +++ b/test/test_data/queries/openminds/core/tissuesamplecollectionstate_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/TissueSampleCollectionState", + "type": "https://openminds.om-i.org/types/TissueSampleCollectionState", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,24 +39,24 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:age__QuantitativeValue", + "propertyName": "age__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -64,16 +64,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -81,33 +82,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:age__QuantitativeValueRange", + "propertyName": "age__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -115,15 +118,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -131,13 +135,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/attribute", - "propertyName": "vocab:attribute", + "path": "https://openminds.om-i.org/props/attribute", + "propertyName": "attribute", "ensureOrder": true, "structure": [ { @@ -149,8 +155,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/descendedFrom", - "propertyName": "vocab:descendedFrom", + "path": "https://openminds.om-i.org/props/descendedFrom", + "propertyName": "descendedFrom", "ensureOrder": true, "structure": [ { @@ -162,17 +168,17 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/pathology", - "propertyName": "vocab:pathology", + "path": "https://openminds.om-i.org/props/pathology", + "propertyName": "pathology", "ensureOrder": true, "structure": [ { @@ -185,19 +191,19 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValue", + "propertyName": "relativeTimeIndication__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -205,16 +211,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -222,33 +229,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValueRange", + "propertyName": "relativeTimeIndication__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -256,15 +265,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -272,25 +282,27 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:weight__QuantitativeValue", + "propertyName": "weight__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -298,16 +310,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -315,33 +328,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:weight__QuantitativeValueRange", + "propertyName": "weight__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -349,15 +364,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -365,16 +381,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/descendedFrom", + "@id": "https://openminds.om-i.org/props/descendedFrom", "reverse": true }, - "propertyName": "vocab:descendedFrom", + "propertyName": "descendedFrom", "ensureOrder": true, "structure": [ { @@ -387,10 +405,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/input", + "@id": "https://openminds.om-i.org/props/input", "reverse": true }, - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -403,10 +421,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/output", + "@id": "https://openminds.om-i.org/props/output", "reverse": true }, - "propertyName": "vocab:output", + "propertyName": "output", "ensureOrder": true, "structure": [ { @@ -419,10 +437,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedState", + "@id": "https://openminds.om-i.org/props/studiedState", "reverse": true }, - "propertyName": "vocab:studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -435,10 +453,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/tissuesamplestate_simple_query.json b/test/test_data/queries/openminds/core/tissuesamplestate_simple_query.json index 7aeb92f7..cca6d633 100644 --- a/test/test_data/queries/openminds/core/tissuesamplestate_simple_query.json +++ b/test/test_data/queries/openminds/core/tissuesamplestate_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/TissueSampleState", + "type": "https://openminds.om-i.org/types/TissueSampleState", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,24 +39,24 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/additionalRemarks", - "propertyName": "vocab:additionalRemarks" + "path": "https://openminds.om-i.org/props/additionalRemarks", + "propertyName": "additionalRemarks" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:age__QuantitativeValue", + "propertyName": "age__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -64,16 +64,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -81,33 +82,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/age", + "@id": "https://openminds.om-i.org/props/age", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:age__QuantitativeValueRange", + "propertyName": "age__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -115,15 +118,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -131,13 +135,15 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/attribute", - "propertyName": "vocab:attribute", + "path": "https://openminds.om-i.org/props/attribute", + "propertyName": "attribute", "ensureOrder": true, "structure": [ { @@ -149,8 +155,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/descendedFrom", - "propertyName": "vocab:descendedFrom", + "path": "https://openminds.om-i.org/props/descendedFrom", + "propertyName": "descendedFrom", "ensureOrder": true, "structure": [ { @@ -162,17 +168,17 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/internalIdentifier", - "propertyName": "vocab:internalIdentifier" + "path": "https://openminds.om-i.org/props/internalIdentifier", + "propertyName": "internalIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/lookupLabel", - "propertyName": "vocab:lookupLabel", + "path": "https://openminds.om-i.org/props/lookupLabel", + "propertyName": "lookupLabel", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/pathology", - "propertyName": "vocab:pathology", + "path": "https://openminds.om-i.org/props/pathology", + "propertyName": "pathology", "ensureOrder": true, "structure": [ { @@ -185,19 +191,19 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValue", + "propertyName": "relativeTimeIndication__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -205,16 +211,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -222,33 +229,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/relativeTimeIndication", + "@id": "https://openminds.om-i.org/props/relativeTimeIndication", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:relativeTimeIndication__QuantitativeValueRange", + "propertyName": "relativeTimeIndication__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -256,15 +265,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -272,25 +282,27 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValue" + "@id": "https://openminds.om-i.org/types/QuantitativeValue" } }, - "propertyName": "vocab:weight__QuantitativeValue", + "propertyName": "weight__QuantitativeValue", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/typeOfUncertainty", - "propertyName": "vocab:typeOfUncertainty", + "path": "https://openminds.om-i.org/props/typeOfUncertainty", + "propertyName": "typeOfUncertainty", "structure": [ { "path": "@id" @@ -298,16 +310,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/uncertainty", - "propertyName": "vocab:uncertainty", + "path": "https://openminds.om-i.org/props/uncertainty", + "propertyName": "uncertainty", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/unit", - "propertyName": "vocab:unit", + "path": "https://openminds.om-i.org/props/unit", + "propertyName": "unit", "structure": [ { "path": "@id" @@ -315,33 +328,35 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/value", - "propertyName": "vocab:value" + "path": "https://openminds.om-i.org/props/value", + "propertyName": "value" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/weight", + "@id": "https://openminds.om-i.org/props/weight", "typeFilter": { - "@id": "https://openminds.ebrains.eu/core/QuantitativeValueRange" + "@id": "https://openminds.om-i.org/types/QuantitativeValueRange" } }, - "propertyName": "vocab:weight__QuantitativeValueRange", + "propertyName": "weight__QuantitativeValueRange", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValue", - "propertyName": "vocab:maxValue" + "path": "https://openminds.om-i.org/props/maxValue", + "propertyName": "maxValue" }, { - "path": "https://openminds.ebrains.eu/vocab/maxValueUnit", - "propertyName": "vocab:maxValueUnit", + "path": "https://openminds.om-i.org/props/maxValueUnit", + "propertyName": "maxValueUnit", "structure": [ { "path": "@id" @@ -349,15 +364,16 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/minValue", - "propertyName": "vocab:minValue" + "path": "https://openminds.om-i.org/props/minValue", + "propertyName": "minValue" }, { - "path": "https://openminds.ebrains.eu/vocab/minValueUnit", - "propertyName": "vocab:minValueUnit", + "path": "https://openminds.om-i.org/props/minValueUnit", + "propertyName": "minValueUnit", "structure": [ { "path": "@id" @@ -365,16 +381,18 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" } - ] + ], + "singleValue": "FIRST" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/descendedFrom", + "@id": "https://openminds.om-i.org/props/descendedFrom", "reverse": true }, - "propertyName": "vocab:descendedFrom", + "propertyName": "descendedFrom", "ensureOrder": true, "structure": [ { @@ -387,10 +405,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/input", + "@id": "https://openminds.om-i.org/props/input", "reverse": true }, - "propertyName": "vocab:input", + "propertyName": "input", "ensureOrder": true, "structure": [ { @@ -403,10 +421,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/output", + "@id": "https://openminds.om-i.org/props/output", "reverse": true }, - "propertyName": "vocab:output", + "propertyName": "output", "ensureOrder": true, "structure": [ { @@ -419,10 +437,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/studiedState", + "@id": "https://openminds.om-i.org/props/studiedState", "reverse": true }, - "propertyName": "vocab:studiedState", + "propertyName": "studiedState", "ensureOrder": true, "structure": [ { @@ -435,10 +453,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/groupedBy", + "@id": "https://openminds.om-i.org/props/groupedBy", "reverse": true }, - "propertyName": "vocab:groupedBy", + "propertyName": "groupedBy", "ensureOrder": true, "structure": [ { @@ -451,10 +469,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/usedSpecimen", + "@id": "https://openminds.om-i.org/props/usedSpecimen", "reverse": true }, - "propertyName": "vocab:usedSpecimen", + "propertyName": "usedSpecimen", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/url_simple_query.json b/test/test_data/queries/openminds/core/url_simple_query.json index 72a691de..2ccf20c8 100644 --- a/test/test_data/queries/openminds/core/url_simple_query.json +++ b/test/test_data/queries/openminds/core/url_simple_query.json @@ -40,11 +40,11 @@ }, { "path": "https://openminds.ebrains.eu/vocab/URL", - "propertyName": "vocab:URL" + "propertyName": "URL" }, { "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "propertyName": "format", "structure": [ { "path": "@id" diff --git a/test/test_data/queries/openminds/core/webresource_simple_query.json b/test/test_data/queries/openminds/core/webresource_simple_query.json index 09b4d5f4..9f046d60 100644 --- a/test/test_data/queries/openminds/core/webresource_simple_query.json +++ b/test/test_data/queries/openminds/core/webresource_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/WebResource", + "type": "https://openminds.om-i.org/types/WebResource", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,12 +39,12 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contentDescription", - "propertyName": "vocab:contentDescription" + "path": "https://openminds.om-i.org/props/contentDescription", + "propertyName": "contentDescription" }, { - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "structure": [ { "path": "@id" @@ -52,18 +52,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/IRI", - "propertyName": "vocab:IRI" + "path": "https://openminds.om-i.org/props/IRI", + "propertyName": "IRI" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/describedIn", + "@id": "https://openminds.om-i.org/props/describedIn", "reverse": true }, - "propertyName": "vocab:describedIn", + "propertyName": "describedIn", "ensureOrder": true, "structure": [ { @@ -76,10 +77,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/fullDocumentation", + "@id": "https://openminds.om-i.org/props/fullDocumentation", "reverse": true }, - "propertyName": "vocab:fullDocumentation", + "propertyName": "fullDocumentation", "ensureOrder": true, "structure": [ { @@ -92,10 +93,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/license", + "@id": "https://openminds.om-i.org/props/license", "reverse": true }, - "propertyName": "vocab:license", + "propertyName": "license", "ensureOrder": true, "structure": [ { @@ -108,10 +109,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/outputData", + "@id": "https://openminds.om-i.org/props/outputData", "reverse": true }, - "propertyName": "vocab:outputData", + "propertyName": "outputData", "ensureOrder": true, "structure": [ { @@ -124,10 +125,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/referenceData", + "@id": "https://openminds.om-i.org/props/referenceData", "reverse": true }, - "propertyName": "vocab:referenceData", + "propertyName": "referenceData", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/webservice_simple_query.json b/test/test_data/queries/openminds/core/webservice_simple_query.json index 23c43eb9..ac1292e8 100644 --- a/test/test_data/queries/openminds/core/webservice_simple_query.json +++ b/test/test_data/queries/openminds/core/webservice_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/WebService", + "type": "https://openminds.om-i.org/types/WebService", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -52,12 +52,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -69,13 +69,13 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/hasVersion", - "propertyName": "vocab:hasVersion", + "path": "https://openminds.om-i.org/props/hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -87,23 +87,23 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -116,10 +116,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/service", + "@id": "https://openminds.om-i.org/props/service", "reverse": true }, - "propertyName": "vocab:service", + "propertyName": "service", "ensureOrder": true, "structure": [ { @@ -132,10 +132,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hostedBy", + "@id": "https://openminds.om-i.org/props/hostedBy", "reverse": true }, - "propertyName": "vocab:hostedBy", + "propertyName": "hostedBy", "ensureOrder": true, "structure": [ { @@ -148,10 +148,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -164,10 +164,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { diff --git a/test/test_data/queries/openminds/core/webserviceversion_simple_query.json b/test/test_data/queries/openminds/core/webserviceversion_simple_query.json index 64d1292f..afca5d11 100644 --- a/test/test_data/queries/openminds/core/webserviceversion_simple_query.json +++ b/test/test_data/queries/openminds/core/webserviceversion_simple_query.json @@ -16,7 +16,7 @@ } }, "meta": { - "type": "https://openminds.ebrains.eu/core/WebServiceVersion", + "type": "https://openminds.om-i.org/types/WebServiceVersion", "description": "Automatically generated by fairgraph" }, "structure": [ @@ -39,8 +39,8 @@ "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/accessibility", - "propertyName": "vocab:accessibility", + "path": "https://openminds.om-i.org/props/accessibility", + "propertyName": "accessibility", "structure": [ { "path": "@id" @@ -48,18 +48,19 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/copyright", - "propertyName": "vocab:copyright", + "path": "https://openminds.om-i.org/props/copyright", + "propertyName": "copyright", "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/holder", - "propertyName": "vocab:holder", + "path": "https://openminds.om-i.org/props/holder", + "propertyName": "holder", "ensureOrder": true, "structure": [ { @@ -71,15 +72,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/year", - "propertyName": "vocab:year", + "path": "https://openminds.om-i.org/props/year", + "propertyName": "year", "ensureOrder": true } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/custodian", - "propertyName": "vocab:custodian", + "path": "https://openminds.om-i.org/props/custodian", + "propertyName": "custodian", "ensureOrder": true, "structure": [ { @@ -91,12 +93,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/description", - "propertyName": "vocab:description" + "path": "https://openminds.om-i.org/props/description", + "propertyName": "description" }, { - "path": "https://openminds.ebrains.eu/vocab/developer", - "propertyName": "vocab:developer", + "path": "https://openminds.om-i.org/props/developer", + "propertyName": "developer", "ensureOrder": true, "structure": [ { @@ -108,8 +110,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/fullDocumentation", - "propertyName": "vocab:fullDocumentation", + "path": "https://openminds.om-i.org/props/fullDocumentation", + "propertyName": "fullDocumentation", "structure": [ { "path": "@id" @@ -117,16 +119,17 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "sort": true }, { - "path": "https://openminds.ebrains.eu/vocab/funding", - "propertyName": "vocab:funding", + "path": "https://openminds.om-i.org/props/funding", + "propertyName": "funding", "ensureOrder": true, "structure": [ { @@ -138,8 +141,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/hasPart", - "propertyName": "vocab:hasPart", + "path": "https://openminds.om-i.org/props/hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -151,16 +154,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/homepage", - "propertyName": "vocab:homepage" + "path": "https://openminds.om-i.org/props/homepage", + "propertyName": "homepage" }, { - "path": "https://openminds.ebrains.eu/vocab/howToCite", - "propertyName": "vocab:howToCite" + "path": "https://openminds.om-i.org/props/howToCite", + "propertyName": "howToCite" }, { - "path": "https://openminds.ebrains.eu/vocab/inputFormat", - "propertyName": "vocab:inputFormat", + "path": "https://openminds.om-i.org/props/inputFormat", + "propertyName": "inputFormat", "ensureOrder": true, "structure": [ { @@ -172,8 +175,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isAlternativeVersionOf", - "propertyName": "vocab:isAlternativeVersionOf", + "path": "https://openminds.om-i.org/props/isAlternativeVersionOf", + "propertyName": "isAlternativeVersionOf", "ensureOrder": true, "structure": [ { @@ -185,8 +188,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/isNewVersionOf", - "propertyName": "vocab:isNewVersionOf", + "path": "https://openminds.om-i.org/props/isNewVersionOf", + "propertyName": "isNewVersionOf", "structure": [ { "path": "@id" @@ -194,11 +197,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/keyword", - "propertyName": "vocab:keyword", + "path": "https://openminds.om-i.org/props/keyword", + "propertyName": "keyword", "ensureOrder": true, "structure": [ { @@ -210,16 +214,16 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/otherContribution", - "propertyName": "vocab:otherContribution", + "path": "https://openminds.om-i.org/props/otherContribution", + "propertyName": "otherContribution", "ensureOrder": true, "structure": [ { "path": "@type" }, { - "path": "https://openminds.ebrains.eu/vocab/contributor", - "propertyName": "vocab:contributor", + "path": "https://openminds.om-i.org/props/contributor", + "propertyName": "contributor", "structure": [ { "path": "@id" @@ -227,11 +231,12 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/type", - "propertyName": "vocab:type", + "path": "https://openminds.om-i.org/props/type", + "propertyName": "type", "ensureOrder": true, "structure": [ { @@ -245,8 +250,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/outputFormat", - "propertyName": "vocab:outputFormat", + "path": "https://openminds.om-i.org/props/outputFormat", + "propertyName": "outputFormat", "ensureOrder": true, "structure": [ { @@ -258,8 +263,8 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/relatedPublication", - "propertyName": "vocab:relatedPublication", + "path": "https://openminds.om-i.org/props/relatedPublication", + "propertyName": "relatedPublication", "ensureOrder": true, "structure": [ { @@ -271,12 +276,12 @@ ] }, { - "path": "https://openminds.ebrains.eu/vocab/releaseDate", - "propertyName": "vocab:releaseDate" + "path": "https://openminds.om-i.org/props/releaseDate", + "propertyName": "releaseDate" }, { - "path": "https://openminds.ebrains.eu/vocab/repository", - "propertyName": "vocab:repository", + "path": "https://openminds.om-i.org/props/repository", + "propertyName": "repository", "structure": [ { "path": "@id" @@ -284,31 +289,32 @@ { "path": "@type" } - ] + ], + "singleValue": "FIRST" }, { - "path": "https://openminds.ebrains.eu/vocab/shortName", - "propertyName": "vocab:shortName" + "path": "https://openminds.om-i.org/props/shortName", + "propertyName": "shortName" }, { - "path": "https://openminds.ebrains.eu/vocab/supportChannel", - "propertyName": "vocab:supportChannel", + "path": "https://openminds.om-i.org/props/supportChannel", + "propertyName": "supportChannel", "ensureOrder": true }, { - "path": "https://openminds.ebrains.eu/vocab/versionIdentifier", - "propertyName": "vocab:versionIdentifier" + "path": "https://openminds.om-i.org/props/versionIdentifier", + "propertyName": "versionIdentifier" }, { - "path": "https://openminds.ebrains.eu/vocab/versionInnovation", - "propertyName": "vocab:versionInnovation" + "path": "https://openminds.om-i.org/props/versionInnovation", + "propertyName": "versionInnovation" }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -321,10 +327,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/isNewVersionOf", + "@id": "https://openminds.om-i.org/props/isNewVersionOf", "reverse": true }, - "propertyName": "vocab:isNewVersionOf", + "propertyName": "isNewVersionOf", "ensureOrder": true, "structure": [ { @@ -337,10 +343,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasPart", + "@id": "https://openminds.om-i.org/props/hasPart", "reverse": true }, - "propertyName": "vocab:hasPart", + "propertyName": "hasPart", "ensureOrder": true, "structure": [ { @@ -353,10 +359,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/hasVersion", + "@id": "https://openminds.om-i.org/props/hasVersion", "reverse": true }, - "propertyName": "vocab:hasVersion", + "propertyName": "hasVersion", "ensureOrder": true, "structure": [ { @@ -369,10 +375,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/about", + "@id": "https://openminds.om-i.org/props/about", "reverse": true }, - "propertyName": "vocab:about", + "propertyName": "about", "ensureOrder": true, "structure": [ { @@ -385,10 +391,10 @@ }, { "path": { - "@id": "https://openminds.ebrains.eu/vocab/environment", + "@id": "https://openminds.om-i.org/props/environment", "reverse": true }, - "propertyName": "vocab:environment", + "propertyName": "environment", "ensureOrder": true, "structure": [ { diff --git a/test/test_openminds_computation.py b/test/test_openminds_computation.py index da96acdb..dd3b0ebf 100644 --- a/test/test_openminds_computation.py +++ b/test/test_openminds_computation.py @@ -15,6 +15,7 @@ def test_generate_query(self, mock_client): "description": "bar", "software": SoftwareVersion(id="another_id"), }, + with_reverse_properties=True ) expected = { "@context": { @@ -25,7 +26,7 @@ def test_generate_query(self, mock_client): "path": {"@id": "path", "@type": "@id"}, }, "meta": { - "type": "https://openminds.ebrains.eu/computation/Environment", + "type": "https://openminds.om-i.org/types/Environment", "description": "Automatically generated by fairgraph", }, "structure": [ @@ -37,49 +38,51 @@ def test_generate_query(self, mock_client): }, {"path": "@type"}, { - "path": "https://openminds.ebrains.eu/vocab/configuration", - "propertyName": "vocab:configuration", + "path": "https://openminds.om-i.org/props/configuration", + "propertyName": "configuration", + "singleValue": "FIRST", "structure": [{"path": "@id"}, {"path": "@type"}], }, - {"path": "https://openminds.ebrains.eu/vocab/description", "propertyName": "vocab:description"}, + {"path": "https://openminds.om-i.org/props/description", "propertyName": "description"}, { - "path": "https://openminds.ebrains.eu/vocab/hardware", - "propertyName": "vocab:hardware", + "path": "https://openminds.om-i.org/props/hardware", + "propertyName": "hardware", + "singleValue": "FIRST", "structure": [{"path": "@id"}, {"path": "@type"}], }, - {"path": "https://openminds.ebrains.eu/vocab/name", "propertyName": "vocab:name", "sort": True}, + {"path": "https://openminds.om-i.org/props/name", "propertyName": "name", "sort": True}, { - "path": "https://openminds.ebrains.eu/vocab/software", - "propertyName": "vocab:software", + "path": "https://openminds.om-i.org/props/software", + "propertyName": "software", "ensureOrder": True, "structure": [{"path": "@id"}, {"path": "@type"}], }, { - "path": {"@id": "https://openminds.ebrains.eu/vocab/environment", "reverse": True}, - "propertyName": "vocab:environment", + "path": {"@id": "https://openminds.om-i.org/props/environment", "reverse": True}, + "propertyName": "environment", "ensureOrder": True, "structure": [{"path": "@id"}, {"path": "@type"}], }, { - "path": "https://openminds.ebrains.eu/vocab/description", + "path": "https://openminds.om-i.org/props/description", "propertyName": "Qdescription", "filter": {"op": "CONTAINS", "value": "bar"}, "required": True, }, { - "path": "https://openminds.ebrains.eu/vocab/hardware", + "path": "https://openminds.om-i.org/props/hardware", "propertyName": "Qhardware", "required": True, "structure": [{"path": "@id", "filter": {"op": "CONTAINS", "value": "some_id"}}], }, { - "path": "https://openminds.ebrains.eu/vocab/name", + "path": "https://openminds.om-i.org/props/name", "propertyName": "Qname", "filter": {"op": "CONTAINS", "value": "foo"}, "required": True, }, { - "path": "https://openminds.ebrains.eu/vocab/software", + "path": "https://openminds.om-i.org/props/software", "propertyName": "Qsoftware", "required": True, "structure": [{"path": "@id", "filter": {"op": "CONTAINS", "value": "another_id"}}], diff --git a/test/test_openminds_core.py b/test/test_openminds_core.py index 6b7300a8..c8c59816 100644 --- a/test/test_openminds_core.py +++ b/test/test_openminds_core.py @@ -10,8 +10,9 @@ import pytest +from openminds import IRI + from fairgraph.utility import as_list -from fairgraph.base import IRI from fairgraph.kgproxy import KGProxy from fairgraph.kgquery import KGQuery from fairgraph.kgobject import KGObject @@ -24,7 +25,7 @@ def test_query_generation(mock_client): for cls in omcore.list_kg_classes(): - generated = cls.generate_query(space="collab-foobar", client=mock_client) + generated = cls.generate_query(space="collab-foobar", client=mock_client, with_reverse_properties=True) filename = f"test/test_data/queries/openminds/core/{cls.__name__.lower()}_simple_query.json" with open(filename, "r") as fp: expected = json.load(fp) @@ -143,13 +144,13 @@ def test_resolve_model(kg_client): assert model.name == "Scaffold Model of Cerebellum microcircuit version 2.0" assert isinstance(model.versions, KGProxy) resolved_model2 = deepcopy(model).resolve( - kg_client, scope="in progress", follow_links={"versions": {}, "custodians": {"affiliations": {}}} + kg_client, scope="released", follow_links={"versions": {}, "custodians": {"affiliations": {}}} ) assert isinstance(resolved_model2.versions, omcore.ModelVersion) assert isinstance(resolved_model2.custodians[0].affiliations[0].member_of, KGProxy) resolved_model4 = deepcopy(model).resolve( - kg_client, scope="in progress", follow_links={"custodians": {"affiliations": {"member_of": {}}}} + kg_client, scope="released", follow_links={"custodians": {"affiliations": {"member_of": {}}}} ) assert isinstance(resolved_model4.custodians[0].affiliations[0].member_of, omcore.Organization) @@ -163,7 +164,8 @@ def test_retrieve_released_models_follow_links(kg_client): api="query", size=5, from_index=randint(0, 80), - follow_links={"versions": {}, "developers": {"affiliation": {"member_of": {}}}, "abstraction_level": {}}, + follow_links={"versions": {}, "developers": {"affiliations": {"member_of": {}}}, "abstraction_level": {}}, + with_reverse_properties=True ) assert len(models) == 5 for model in models: @@ -192,6 +194,7 @@ def test_retrieve_released_model_versions_no_follow(kg_client): api=api, size=5, from_index=randint(0, 80), + with_reverse_properties=True ) for ver in versions: if ver.formats: @@ -199,10 +202,11 @@ def test_retrieve_released_model_versions_no_follow(kg_client): assert isinstance(ct_proxy, KGProxy) assert ct_proxy.classes == [omcore.ContentType] if api == "query": - assert isinstance(ver.is_version_of, KGProxy) + assert isinstance(ver.is_version_of[0], KGProxy) + assert ver.is_version_of[0].classes == [omcore.Model] else: assert isinstance(ver.is_version_of, KGQuery) - assert ver.is_version_of.classes == [omcore.Model] + assert ver.is_version_of.classes == [omcore.Model] @skip_if_no_connection @@ -223,6 +227,7 @@ def test_retrieve_released_model_versions_follow_reverse_links(kg_client): "developers": {"affiliation": {"member_of": {}}}, }, }, + with_reverse_properties=True ) for ver in versions: # check first level forward links have been resolved @@ -232,7 +237,7 @@ def test_retrieve_released_model_versions_follow_reverse_links(kg_client): for fmt in as_list(ver.formats): assert isinstance(fmt, omcore.ContentType) # check first level reverse links have been resolved - model = ver.is_version_of + model = ver.is_version_of[0] assert isinstance(model, omcore.Model) # check forward links from first level reverse links assert ver.id in [ver2.id for ver2 in as_list(model.versions)] @@ -290,7 +295,7 @@ def test_retrieve_released_model_versions_follow_reverse_links(kg_client): def test_query_across_links(kg_client): models = omcore.Model.list( kg_client, - scope="in progress", + scope="released", space="model", api="query", follow_links={"developers": {"affiliations": {"member_of": {}}}}, @@ -309,7 +314,7 @@ def test_query_across_links(kg_client): # check that "follow_links" is not needed for the cross-link filter to work models2 = omcore.Model.list( kg_client, - scope="in progress", + scope="released", space="model", api="query", follow_links=None, @@ -324,7 +329,7 @@ def test_query_across_links(kg_client): def test_query_across_reverse_links(kg_client): versions = omcore.ModelVersion.list( kg_client, - scope="in progress", + scope="released", space="model", api="query", follow_links={"is_version_of": {"developers": {"affiliations": {"member_of": {}}}}}, @@ -334,7 +339,7 @@ def test_query_across_reverse_links(kg_client): assert len(versions) < 100 for version in versions: orgs = [] - model = version.is_version_of + model = version.is_version_of[0] for dev in as_list(model.developers): for affil in as_list(dev.affiliations): if affil.member_of: @@ -408,7 +413,7 @@ def test_exists_method_without_id(kg_client): def test__update(): example_data = { "@id": "https://kg.ebrains.eu/api/instances/e90fc25a-fc35-4066-9ff2-ca3583a2d008", - "@type": ["https://openminds.ebrains.eu/core/Person"], + "@type": "https://openminds.om-i.org/types/Person", "http://schema.org/identifier": [ "ba78ffe138e3a79a7514f26441fba6ff", "https://nexus.humanbrainproject.org/v0/data/uniminds/core/person/v1.0.0/e90fc25a-fc35-4066-9ff2-ca3583a2d008", @@ -416,21 +421,20 @@ def test__update(): ], "https://core.kg.ebrains.eu/vocab/meta/revision": "_fCLxIMC---", "https://core.kg.ebrains.eu/vocab/meta/space": "common", - "https://openminds.ebrains.eu/vocab/affiliation": { - "@type": ["https://openminds.ebrains.eu/core/Affiliation"], - "https://openminds.ebrains.eu/vocab/memberOf": { + "https://openminds.om-i.org/props/affiliation": [{ + "@type": "https://openminds.om-i.org/types/Affiliation", + "https://openminds.om-i.org/props/memberOf": { "@id": "https://kg.ebrains.eu/api/instances/05c23d56-b27e-4cf2-8c47-ed12c1a441e7" }, - }, - "https://openminds.ebrains.eu/vocab/contactInformation": [ + }], + "https://openminds.om-i.org/props/contactInformation": [ {"@id": "https://kg.ebrains.eu/api/instances/4b88cd1e-e222-47e9-9b4a-32b648bddbca"}, {"@id": "https://kg.ebrains.eu/api/instances/bc036c71-084b-4ffa-8430-4543095660f2"}, ], - "https://openminds.ebrains.eu/vocab/familyName": "Bianchi", - "https://openminds.ebrains.eu/vocab/givenName": "Daniela", + "https://openminds.om-i.org/props/familyName": "Bianchi", + "https://openminds.om-i.org/props/givenName": "Daniela", } - client = None - person = omcore.Person.from_kg_instance(example_data, client=client, scope="in progress") + person = omcore.Person.from_jsonld(example_data, scope="in progress") for key in ( "http://schema.org/identifier", "https://core.kg.ebrains.eu/vocab/meta/revision", @@ -474,20 +478,25 @@ def test_to_jsonld(): affiliations=omcore.Affiliation(member_of=omcore.Organization(name="The Lonely Mountain")), ) expected1 = { + "@context": { + "@vocab": "https://openminds.om-i.org/props/" + }, "@id": "0000", - "@type": ["https://openminds.ebrains.eu/core/Person"], - "https://openminds.ebrains.eu/vocab/affiliation": { - "@type": ["https://openminds.ebrains.eu/core/Affiliation"], - "https://openminds.ebrains.eu/vocab/memberOf": { - "@type": ["https://openminds.ebrains.eu/core/Organization"], - "https://openminds.ebrains.eu/vocab/fullName": "The Lonely Mountain", + "@type": "https://openminds.om-i.org/types/Person", + "affiliation": [{ + "@type": "https://openminds.om-i.org/types/Affiliation", + "memberOf": { + "@type": "https://openminds.om-i.org/types/Organization", + "fullName": "The Lonely Mountain", }, - }, - "https://openminds.ebrains.eu/vocab/familyName": "Oakenshield", - "https://openminds.ebrains.eu/vocab/givenName": "Thorin", + }], + "familyName": "Oakenshield", + "givenName": "Thorin", } - assert person1.to_jsonld(follow_links=True) == expected1 - assert person1.to_jsonld(follow_links=False) == expected1 + assert person1.to_jsonld(embed_linked_nodes=True, include_empty_properties=False) == expected1 + with pytest.raises(ValueError) as err: + person1.to_jsonld(embed_linked_nodes=False, include_empty_properties=False) + assert "Exporting as a stand-alone JSON-LD document requires @id to be defined" in err person2 = omcore.Person( id="0000", @@ -496,31 +505,37 @@ def test_to_jsonld(): affiliations=omcore.Affiliation(member_of=omcore.Organization(id="1111", name="The Lonely Mountain")), ) expected2a = { + "@context": { + "@vocab": "https://openminds.om-i.org/props/" + }, "@id": "0000", - "@type": ["https://openminds.ebrains.eu/core/Person"], - "https://openminds.ebrains.eu/vocab/affiliation": { - "@type": ["https://openminds.ebrains.eu/core/Affiliation"], - "https://openminds.ebrains.eu/vocab/memberOf": { + "@type": "https://openminds.om-i.org/types/Person", + "affiliation": [{ + "@type": "https://openminds.om-i.org/types/Affiliation", + "memberOf": { "@id": "1111", - "@type": ["https://openminds.ebrains.eu/core/Organization"], - "https://openminds.ebrains.eu/vocab/fullName": "The Lonely Mountain", + "@type": "https://openminds.om-i.org/types/Organization", + "fullName": "The Lonely Mountain", }, - }, - "https://openminds.ebrains.eu/vocab/familyName": "Oakenshield", - "https://openminds.ebrains.eu/vocab/givenName": "Thorin", + }], + "familyName": "Oakenshield", + "givenName": "Thorin", } expected2b = { - "@id": "0000", - "@type": ["https://openminds.ebrains.eu/core/Person"], - "https://openminds.ebrains.eu/vocab/affiliation": { - "@type": ["https://openminds.ebrains.eu/core/Affiliation"], - "https://openminds.ebrains.eu/vocab/memberOf": {"@id": "1111"}, + "@context": { + "@vocab": "https://openminds.om-i.org/props/" }, - "https://openminds.ebrains.eu/vocab/familyName": "Oakenshield", - "https://openminds.ebrains.eu/vocab/givenName": "Thorin", + "@id": "0000", + "@type": "https://openminds.om-i.org/types/Person", + "affiliation": [{ + "@type": "https://openminds.om-i.org/types/Affiliation", + "memberOf": {"@id": "1111"}, + }], + "familyName": "Oakenshield", + "givenName": "Thorin", } - assert person2.to_jsonld(follow_links=True) == expected2a - assert person2.to_jsonld(follow_links=False) == expected2b + assert person2.to_jsonld(embed_linked_nodes=True, include_empty_properties=False) == expected2a + assert person2.to_jsonld(embed_linked_nodes=False, include_empty_properties=False) == expected2b @skip_if_using_production_server @@ -684,6 +699,20 @@ def test_normalize_filter(): assert result == expected +def test_normalize_filter_with_invalid_keys(): + with pytest.raises(ValueError) as excinfo: + omcore.ModelVersion.normalize_filter({ + "authors": {"given_name": "Zaphod"}, + "documentation": {"iri": "http://example.org"} + }) # should be "developers", "full_documentation" + assert str(excinfo.value) == "Invalid filters: authors, documentation" + with pytest.raises(ValueError) as excinfo: + omcore.ModelVersion.normalize_filter({ + "developers": {"digital_identifiers": {"id": "https://orcid.org/some-id"}} + }) # should be "identifier", not "id" + assert str(excinfo.value) == "Invalid filter: id" + + def test_class_docstring(): assert "email address" in omcore.Person.__doc__ @@ -696,7 +725,9 @@ def test_property_names(): "contact_information", "digital_identifiers", "family_name", - "given_name", + "given_name" + ] + assert omcore.Person.reverse_property_names == [ "activities", "comments", "coordinated_projects", @@ -717,20 +748,20 @@ def test_diff(): id="0000", given_name="Thorin", family_name="Oakenshield", - affiliations=omcore.Affiliation(member_of=omcore.Organization(name="The Lonely Mountain")), + affiliations=omcore.Affiliation(member_of=omcore.Organization(id="1000", name="The Lonely Mountain")), ) person2 = omcore.Person( given_name="Thorin son of Thráin", family_name="Oakenshield", - affiliations=omcore.Affiliation(member_of=omcore.Organization(name="Erebor")), + affiliations=omcore.Affiliation(member_of=omcore.Organization(id="1001", name="Erebor")), ) expected = { "id": ("0000", None), "properties": { "given_name": ("Thorin", "Thorin son of Thráin"), "affiliations": ( - omcore.Affiliation(member_of=omcore.Organization(name="The Lonely Mountain")), - omcore.Affiliation(member_of=omcore.Organization(name="Erebor")), + omcore.Affiliation(member_of=omcore.Organization(id="1000", name="The Lonely Mountain")), + omcore.Affiliation(member_of=omcore.Organization(id="1001", name="Erebor")), ), }, } @@ -812,7 +843,7 @@ def test_with_new_namespace_from_core(): "https://openminds.om-i.org/props/hasVersion": { "@id": "https://kg.ebrains.eu/api/instances/7035d53f-1597-4a45-9f72-23c2c933ec66" }, - "@type": ["https://openminds.om-i.org/types/Model"], + "@type": "https://openminds.om-i.org/types/Model", "https://openminds.om-i.org/props/description": "The scaffolding procedure has been enhanced compared to version 1.0. It's able to generate a scalable cerebellar structure, embedding specific 3D positions for each neuron and specific pair connections. Customized placement strategies allow to match layered density and encumbrance for each neuron type. Customized connection strategies allow to match anisotropic geometrical fields of intersection, and statistical convergence and divergence ratios.\nThe scaffold can host different neuron models. Several input stimulation patterns can be used to investigate network complex dynamics, revealing the relationships between structural constraints and underlying neuron mechanisms with the cerebellar circuit functioning, over space and time.\n\nMain link to Sonata conversion can be found here:\nhttps://github.com/SelezioneCasuale/scaffold/tree/sonata-version/scaffold", "https://openminds.om-i.org/props/studyTarget": [ {"@id": "https://kg.ebrains.eu/api/instances/ab532423-1fd7-4255-8c6f-f99dc6df814f"}, @@ -847,7 +878,7 @@ def test_with_new_namespace_from_core(): "https://core.kg.ebrains.eu/vocab/meta/lastReleasedAt": "2023-03-23T10:09:30.130Z", } orig_type = omcore.Model.type_ - obj = omcore.Model.from_kg_instance(data, client=None, scope="released") + obj = omcore.Model.from_jsonld(data, scope="released") assert obj.abstraction_level assert len(obj.developers) == 5 omcore.Model.type_ = orig_type @@ -857,87 +888,87 @@ def test_with_new_namespace_from_query(): data = { "@id": "https://kg.ebrains.eu/api/instances/708024f7-9dd7-4c92-ae95-936db23c6d99", "https://schema.hbp.eu/myQuery/space": "model", - "@type": ["https://openminds.om-i.org/types/Model"], - "vocab:abstractionLevel": {"@id": "https://kg.ebrains.eu/api/instances/57becc19-f0a1-4d23-99bb-eb3b7d3cdb9a"}, - "vocab:custodian": [ + "@type": "https://openminds.om-i.org/types/Model", + "abstractionLevel": {"@id": "https://kg.ebrains.eu/api/instances/57becc19-f0a1-4d23-99bb-eb3b7d3cdb9a"}, + "custodian": [ { "@id": "https://kg.ebrains.eu/api/instances/2905ce6c-bc89-4c99-b8b0-0fa9a17d1897", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/3477f916-5494-42ae-8b07-d2cb48231657", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/a594cfe2-f53a-470f-b52e-697b8d5a8958", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/5dcb9bd9-f93f-48c4-88e0-ff0ed4221ac8", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/5ad4749a-6e5a-4512-86ff-b89834c1b87c", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, ], - "vocab:description": "The scaffolding procedure has been enhanced compared to version 1.0. It's able to generate a scalable cerebellar structure, embedding specific 3D positions for each neuron and specific pair connections. Customized placement strategies allow to match layered density and encumbrance for each neuron type. Customized connection strategies allow to match anisotropic geometrical fields of intersection, and statistical convergence and divergence ratios.\nThe scaffold can host different neuron models. Several input stimulation patterns can be used to investigate network complex dynamics, revealing the relationships between structural constraints and underlying neuron mechanisms with the cerebellar circuit functioning, over space and time.\n\nMain link to Sonata conversion can be found here:\nhttps://github.com/SelezioneCasuale/scaffold/tree/sonata-version/scaffold", - "vocab:developer": [ + "description": "The scaffolding procedure has been enhanced compared to version 1.0. It's able to generate a scalable cerebellar structure, embedding specific 3D positions for each neuron and specific pair connections. Customized placement strategies allow to match layered density and encumbrance for each neuron type. Customized connection strategies allow to match anisotropic geometrical fields of intersection, and statistical convergence and divergence ratios.\nThe scaffold can host different neuron models. Several input stimulation patterns can be used to investigate network complex dynamics, revealing the relationships between structural constraints and underlying neuron mechanisms with the cerebellar circuit functioning, over space and time.\n\nMain link to Sonata conversion can be found here:\nhttps://github.com/SelezioneCasuale/scaffold/tree/sonata-version/scaffold", + "developer": [ { "@id": "https://kg.ebrains.eu/api/instances/2905ce6c-bc89-4c99-b8b0-0fa9a17d1897", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/3477f916-5494-42ae-8b07-d2cb48231657", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/a594cfe2-f53a-470f-b52e-697b8d5a8958", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/5dcb9bd9-f93f-48c4-88e0-ff0ed4221ac8", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, { "@id": "https://kg.ebrains.eu/api/instances/5ad4749a-6e5a-4512-86ff-b89834c1b87c", - "@type": ["https://openminds.om-i.org/types/Person"], + "@type": "https://openminds.om-i.org/types/Person", }, ], - "vocab:digitalIdentifier": [], - "vocab:fullName": "Scaffold Model of Cerebellum microcircuit version 2.0", - "vocab:hasVersion": [ + "digitalIdentifier": [], + "fullName": "Scaffold Model of Cerebellum microcircuit version 2.0", + "hasVersion": [ { "@id": "https://kg.ebrains.eu/api/instances/7035d53f-1597-4a45-9f72-23c2c933ec66", - "@type": ["https://openminds.om-i.org/types/ModelVersion"], + "@type": "https://openminds.om-i.org/types/ModelVersion", } ], - "vocab:homepage": None, - "vocab:howToCite": None, - "vocab:scope": [ + "homepage": None, + "howToCite": None, + "scope": [ { "@id": "https://kg.ebrains.eu/api/instances/6c678004-b8e0-4339-90c5-824e66503eb9", - "@type": ["https://openminds.om-i.org/types/ModelScope"], + "@type": "https://openminds.om-i.org/types/ModelScope", } ], - "vocab:shortName": None, - "vocab:studyTarget": [ + "shortName": None, + "studyTarget": [ { "@id": "https://kg.ebrains.eu/api/instances/ab532423-1fd7-4255-8c6f-f99dc6df814f", - "@type": ["https://openminds.om-i.org/types/Species"], + "@type": "https://openminds.om-i.org/types/Species", }, { "@id": "https://kg.ebrains.eu/api/instances/a70b0307-22fc-4730-a61f-fd279f43a3cf", - "@type": ["https://openminds.om-i.org/types/UBERONParcellation"], + "@type": "https://openminds.om-i.org/types/UBERONParcellation", }, ], - "vocab:about": [], - "vocab:hasPart": [], - "@context": {"vocab": "https://openminds.om-i.org/props/"}, + "about": [], + "hasPart": [], + "@context": {"@vocab": "https://openminds.om-i.org/props/"}, } #omcore.set_error_handling("error") orig_types = (omcore.Model.type_, omcore.Person.type_) - obj = omcore.Model.from_kg_instance(data, client=None, scope="released") + obj = omcore.Model.from_jsonld(data, scope="released") assert obj.abstraction_level assert len(obj.developers) == 5 omcore.Model.type_, omcore.Person.type_ = orig_types diff --git a/test/test_properties.py b/test/test_properties.py deleted file mode 100644 index 09b8d4a0..00000000 --- a/test/test_properties.py +++ /dev/null @@ -1,190 +0,0 @@ -from datetime import date -from uuid import uuid4 -from fairgraph.base import ErrorHandling -from fairgraph.properties import Property -from fairgraph.kgobject import KGObject -from fairgraph.embedded import EmbeddedMetadata -from fairgraph.kgproxy import KGProxy -import pytest - - -class SomeOrganization(KGObject): - default_space = "common" - type_ = "https://openminds.ebrains.eu/test/Organization" - context = { - "vocab": "https://openminds.ebrains.eu/vocab/", - } - properties = [ - Property("name", str, "vocab:fullName", multiple=False, required=True), - Property("alias", str, "vocab:shortName", multiple=False, required=False), - ] - reverse_properties = [] - existence_query_properties = ("name",) - - -class SomeAffiliation(EmbeddedMetadata): - type_ = "https://openminds.ebrains.eu/test/Affiliation" - context = { - "vocab": "https://openminds.ebrains.eu/vocab/", - } - properties = [ - Property("end_date", date, "vocab:endDate", multiple=False, required=False), - Property("member_of", (SomeOrganization,), "vocab:memberOf", multiple=False, required=False), - Property("start_date", date, "vocab:startDate", multiple=False, required=False), - ] - reverse_properties = [] - - -class SomeContactInformation(KGObject): - default_space = "restricted" - type_ = "https://openminds.ebrains.eu/test/ContactInformation" - context = { - "vocab": "https://openminds.ebrains.eu/vocab/", - } - properties = [Property("email", str, "vocab:email", multiple=False, required=True)] - reverse_properties = [] - existence_query_properties = ("email",) - - -def test_serialize_embedded(): - property_embedded_metadata = Property( - "affiliations", (SomeAffiliation,), "vocab:affiliation", multiple=True, required=False - ) - - client = None - test_affiliation = SomeAffiliation( - start_date=date(2023, 1, 1), - member_of=SomeOrganization( - name="Acme Corporation", - alias="acme", - id=f"https://kg.ebrains.eu/api/instances/{uuid4()}", - ), - ) - result = property_embedded_metadata.serialize(test_affiliation, follow_links=False) - expected = { - "@type": [SomeAffiliation.type_], - "https://openminds.ebrains.eu/vocab/memberOf": {"@id": test_affiliation.member_of.id}, - "https://openminds.ebrains.eu/vocab/startDate": "2023-01-01", - } - assert result == expected - - -def test_serialize_no_multiple(): - property_no_multiple = Property( - "contact_information", - (SomeContactInformation,), - "vocab:contactInformation", - multiple=False, - required=False, - error_handling=ErrorHandling.error, - ) - client = None - - # single object - test_info = SomeContactInformation( - email="someone@example.com", id=f"https://kg.ebrains.eu/api/instances/{uuid4()}" - ) - result = property_no_multiple.serialize(test_info, follow_links=False) - expected = {"@id": test_info.id} - assert result == expected - - # single proxy - test_info = KGProxy(SomeContactInformation, f"https://kg.ebrains.eu/api/instances/{uuid4()}") - result = property_no_multiple.serialize(test_info, follow_links=False) - expected = {"@id": test_info.id} - assert result == expected - - # two objects, strict - property_no_multiple.error_handling = ErrorHandling.error - test_info = [ - SomeContactInformation(email="someone@example.com", id=f"https://kg.ebrains.eu/api/instances/{uuid4()}"), - SomeContactInformation(email="sameperson@example.com", id=f"https://kg.ebrains.eu/api/instances/{uuid4()}"), - ] - with pytest.raises(ValueError): - result = property_no_multiple.serialize(test_info, follow_links=False) - - # two objects, not strict - property_no_multiple.error_handling = ErrorHandling.none - test_info = [ - SomeContactInformation(email="someone@example.com", id=f"https://kg.ebrains.eu/api/instances/{uuid4()}"), - SomeContactInformation(email="sameperson@example.com", id=f"https://kg.ebrains.eu/api/instances/{uuid4()}"), - ] - result = property_no_multiple.serialize(test_info, follow_links=False) - expected = [{"@id": test_info[0].id}, {"@id": test_info[1].id}] - assert result == expected - - # two proxies, not strict - property_no_multiple.error_handling = ErrorHandling.none - test_info = [ - KGProxy(SomeContactInformation, f"https://kg.ebrains.eu/api/instances/{uuid4()}"), - KGProxy(SomeContactInformation, f"https://kg.ebrains.eu/api/instances/{uuid4()}"), - ] - result = property_no_multiple.serialize(test_info, follow_links=False) - expected = [{"@id": test_info[0].id}, {"@id": test_info[1].id}] - assert result == expected - - -def test_serialize_unknown(): - some_property = Property( - "contact_information", - (SomeContactInformation,), - "vocab:contactInformation", - multiple=False, - required=False, - error_handling=ErrorHandling.error, - ) - client = None - - # single object - test_info = complex(1, -1) - with pytest.raises(ValueError) as excinfo: - result = some_property.serialize(test_info, follow_links=False) - expected_error_message = ( - "fairgraph cannot serialize a value of type " - "(for property 'contact_information')" - ) - assert excinfo.value.args[0] == expected_error_message - - -def test_deserialize(): - date_property = Property("the_date", date, "TheDate", error_handling=ErrorHandling.error) - with pytest.raises(ValueError): - date_property.deserialize(42, client=None) - - integer_property = Property("the_number", int, "TheNumber", error_handling=ErrorHandling.error) - assert integer_property.deserialize(42, client=None) == 42 - assert integer_property.deserialize(42.0, client=None) == 42 - assert integer_property.deserialize("42", client=None) == 42 - assert integer_property.deserialize([42, 42, 42], client=None) == [42, 42, 42] - assert integer_property.deserialize(["42", 42, "42"], client=None) == [42, 42, 42] - - object_property = Property("the_object", SomeOrganization, "TheObject", error_handling=ErrorHandling.error) - obj_data = { - "@id": "https://kg.ebrains.eu/api/instances/the_id", - "@type": SomeOrganization.type_, - "https://openminds.ebrains.eu/vocab/fullName": "The University", - "https://openminds.ebrains.eu/vocab/shortName": "TU", - } - expected_obj = SomeOrganization(name="The University", alias="TU", id="https://kg.ebrains.eu/api/instances/the_id") - assert object_property.deserialize(obj_data, client=None) == expected_obj - - assert object_property.deserialize(None, client=None) is None - - assert object_property.deserialize([None, obj_data, None, obj_data], client=None) == [expected_obj, expected_obj] - - assert object_property.deserialize({"@list": [None, obj_data, None, obj_data]}, client=None) == [ - expected_obj, - expected_obj, - ] - - -def test_get_filter_value(): - date_property = Property("the_date", date, "TheDate", error_handling=ErrorHandling.error) - assert date_property.get_filter_value(date(2023, 6, 2)) == "2023-06-02" - - integer_property = Property("the_number", int, "TheNumber", error_handling=ErrorHandling.error) - assert integer_property.get_filter_value(42) == 42 - - object_property = Property("the_object", SomeOrganization, "TheObject", error_handling=ErrorHandling.error) - obj = SomeOrganization(name="The University", alias="TU", id="https://kg.ebrains.eu/api/instances/the_id") - assert object_property.get_filter_value(obj) == "https://kg.ebrains.eu/api/instances/the_id" diff --git a/test/test_queries.py b/test/test_queries.py index 25fc7ab9..ed8cc787 100644 --- a/test/test_queries.py +++ b/test/test_queries.py @@ -2,7 +2,8 @@ import json import pytest from kg_core.request import Stage, Pagination -from fairgraph.queries import Query, QueryProperty, Filter, migrate_query +from fairgraph.queries import Query, QueryProperty, Filter +from fairgraph.utility import adapt_namespaces_for_query import fairgraph.openminds.core as omcore from .utils import kg_client, mock_client, skip_if_no_connection @@ -10,7 +11,7 @@ @pytest.fixture() def example_query_model_version(): return Query( - node_type="https://openminds.ebrains.eu/core/ModelVersion", + node_type="https://openminds.om-i.org/types/ModelVersion", label="fg-testing-modelversion", space="model", properties=[ @@ -20,21 +21,21 @@ def example_query_model_version(): ), QueryProperty("@type"), QueryProperty( - "https://openminds.ebrains.eu/vocab/fullName", - name="vocab:fullName", + "https://openminds.om-i.org/props/fullName", + name="fullName", filter=Filter("CONTAINS", parameter="name"), sorted=True, required=True, ), QueryProperty( - "https://openminds.ebrains.eu/vocab/versionIdentifier", - name="vocab:versionIdentifier", + "https://openminds.om-i.org/props/versionIdentifier", + name="versionIdentifier", filter=Filter("EQUALS", parameter="version"), required=True, ), QueryProperty( - "https://openminds.ebrains.eu/vocab/format", - name="vocab:format", + "https://openminds.om-i.org/props/format", + name="format", ensure_order=True, properties=[ QueryProperty("@id", filter=Filter("EQUALS", parameter="format")), @@ -42,25 +43,25 @@ def example_query_model_version(): ], ), QueryProperty( - "https://openminds.ebrains.eu/vocab/custodian", - name="vocab:custodian", + "https://openminds.om-i.org/props/custodian", + name="custodian", ensure_order=True, - type_filter="https://openminds.ebrains.eu/core/Person", + type_filter="https://openminds.om-i.org/types/Person", properties=[ QueryProperty("@id", filter=Filter("EQUALS", parameter="custodian")), QueryProperty( - "https://openminds.ebrains.eu/vocab/affiliation", - name="vocab:affiliation", + "https://openminds.om-i.org/props/affiliation", + name="affiliation", properties=[ QueryProperty("@type"), QueryProperty( - "https://openminds.ebrains.eu/vocab/memberOf", - name="vocab:memberOf", + "https://openminds.om-i.org/props/memberOf", + name="memberOf", properties=[QueryProperty("@id")], ), QueryProperty( - "https://openminds.ebrains.eu/vocab/startDate", - name="vocab:startDate", + "https://openminds.om-i.org/props/startDate", + name="startDate", ), ], ), @@ -73,7 +74,7 @@ def example_query_model_version(): @pytest.fixture() def example_query_model(): return Query( - node_type="https://openminds.ebrains.eu/core/Model", + node_type="https://openminds.om-i.org/types/Model", label="fg-testing-model", space="model", properties=[ @@ -83,33 +84,33 @@ def example_query_model(): ), QueryProperty("@type"), QueryProperty( - "https://openminds.ebrains.eu/vocab/fullName", - name="vocab:fullName", + "https://openminds.om-i.org/props/fullName", + name="fullName", filter=Filter("CONTAINS", parameter="name"), sorted=True, required=True, ), QueryProperty( - "https://openminds.ebrains.eu/vocab/custodian", - name="vocab:custodian", - type_filter="https://openminds.ebrains.eu/core/Person", + "https://openminds.om-i.org/props/custodian", + name="custodian", + type_filter="https://openminds.om-i.org/types/Person", properties=[ # QueryProperty("@type"), QueryProperty( - "https://openminds.ebrains.eu/vocab/familyName", - name="vocab:familyName", + "https://openminds.om-i.org/props/familyName", + name="familyName", ), ], ), QueryProperty( - "https://openminds.ebrains.eu/vocab/custodian", - name="vocab:organization", - type_filter="https://openminds.ebrains.eu/core/Organization", + "https://openminds.om-i.org/props/custodian", + name="organization", + type_filter="https://openminds.om-i.org/types/Organization", properties=[ # QueryProperty("@type"), QueryProperty( - "https://openminds.ebrains.eu/vocab/shortName", - name="vocab:shortName", + "https://openminds.om-i.org/props/shortName", + name="shortName", ), ], ), @@ -120,50 +121,50 @@ def example_query_model(): @pytest.fixture() def example_query_repository_with_reverse(): return Query( - node_type="https://openminds.ebrains.eu/core/FileRepository", + node_type="https://openminds.om-i.org/types/FileRepository", properties=[ QueryProperty( "https://core.kg.ebrains.eu/vocab/meta/space", name="query:space" ), - QueryProperty("https://openminds.ebrains.eu/vocab/IRI", name="location"), + QueryProperty("https://openminds.om-i.org/props/IRI", name="location"), QueryProperty( - "https://openminds.ebrains.eu/vocab/fileRepository", + "https://openminds.om-i.org/props/fileRepository", reverse=True, name="files", properties=[ - QueryProperty("https://openminds.ebrains.eu/vocab/name", name="filename"), + QueryProperty("https://openminds.om-i.org/props/name", name="filename"), QueryProperty( [ - "https://openminds.ebrains.eu/vocab/format", - "https://openminds.ebrains.eu/vocab/name", + "https://openminds.om-i.org/props/format", + "https://openminds.om-i.org/props/name", ], name="format", ), QueryProperty( - "https://openminds.ebrains.eu/vocab/hash", + "https://openminds.om-i.org/props/hash", name="hash", properties=[ QueryProperty( - "https://openminds.ebrains.eu/vocab/digest", + "https://openminds.om-i.org/props/digest", name="digest", ), QueryProperty( - "https://openminds.ebrains.eu/vocab/algorithm", + "https://openminds.om-i.org/props/algorithm", name="algorithm", ), ], ), QueryProperty( - "https://openminds.ebrains.eu/vocab/storageSize", + "https://openminds.om-i.org/props/storageSize", name="size", expect_single=True, properties=[ - QueryProperty("https://openminds.ebrains.eu/vocab/value", name="value"), + QueryProperty("https://openminds.om-i.org/props/value", name="value"), QueryProperty( [ - "https://openminds.ebrains.eu/vocab/unit", - "https://openminds.ebrains.eu/vocab/name", + "https://openminds.om-i.org/props/unit", + "https://openminds.om-i.org/props/name", ], name="units", expect_single=True, @@ -173,14 +174,14 @@ def example_query_repository_with_reverse(): ], ), QueryProperty( - "https://openminds.ebrains.eu/vocab/repository", + "https://openminds.om-i.org/props/repository", reverse=True, required=True, name="contains_dataset_version", properties=[ QueryProperty("@id"), QueryProperty( - "https://openminds.ebrains.eu/vocab/shortName", + "https://openminds.om-i.org/props/shortName", name="alias", filter=Filter("EQUALS", parameter="dataset_alias"), ), @@ -203,7 +204,7 @@ def test_query_builder(example_query_model_version): "meta": { "description": "Automatically generated by fairgraph", "name": "fg-testing-modelversion", - "type": "https://openminds.ebrains.eu/core/ModelVersion", + "type": "https://openminds.om-i.org/types/ModelVersion", }, "structure": [ { @@ -218,21 +219,21 @@ def test_query_builder(example_query_model_version): {"path": "@type"}, { "filter": {"op": "CONTAINS", "parameter": "name"}, - "path": "https://openminds.ebrains.eu/vocab/fullName", - "propertyName": "vocab:fullName", + "path": "https://openminds.om-i.org/props/fullName", + "propertyName": "fullName", "required": True, "sort": True, }, { "filter": {"op": "EQUALS", "parameter": "version"}, - "path": "https://openminds.ebrains.eu/vocab/versionIdentifier", - "propertyName": "vocab:versionIdentifier", + "path": "https://openminds.om-i.org/props/versionIdentifier", + "propertyName": "versionIdentifier", "required": True, }, { "ensureOrder": True, - "path": "https://openminds.ebrains.eu/vocab/format", - "propertyName": "vocab:format", + "path": "https://openminds.om-i.org/props/format", + "propertyName": "format", "structure": [ {"filter": {"op": "EQUALS", "parameter": "format"}, "path": "@id"}, {"path": "@type"}, @@ -241,28 +242,28 @@ def test_query_builder(example_query_model_version): { "ensureOrder": True, "path": { - "@id": "https://openminds.ebrains.eu/vocab/custodian", - "typeFilter": {"@id": "https://openminds.ebrains.eu/core/Person"}, + "@id": "https://openminds.om-i.org/props/custodian", + "typeFilter": {"@id": "https://openminds.om-i.org/types/Person"}, }, - "propertyName": "vocab:custodian", + "propertyName": "custodian", "structure": [ { "filter": {"op": "EQUALS", "parameter": "custodian"}, "path": "@id", }, { - "path": "https://openminds.ebrains.eu/vocab/affiliation", - "propertyName": "vocab:affiliation", + "path": "https://openminds.om-i.org/props/affiliation", + "propertyName": "affiliation", "structure": [ {"path": "@type"}, { - "path": "https://openminds.ebrains.eu/vocab/memberOf", - "propertyName": "vocab:memberOf", + "path": "https://openminds.om-i.org/props/memberOf", + "propertyName": "memberOf", "structure": [{"path": "@id"}], }, { - "path": "https://openminds.ebrains.eu/vocab/startDate", - "propertyName": "vocab:startDate", + "path": "https://openminds.om-i.org/props/startDate", + "propertyName": "startDate", }, ], }, @@ -284,7 +285,7 @@ def test_query_with_reverse_properties(example_query_repository_with_reverse): "path": {"@id": "path", "@type": "@id"}, }, "meta": { - "type": "https://openminds.ebrains.eu/core/FileRepository", + "type": "https://openminds.om-i.org/types/FileRepository", "description": "Automatically generated by fairgraph", }, "structure": [ @@ -295,55 +296,55 @@ def test_query_with_reverse_properties(example_query_repository_with_reverse): }, { "propertyName": "location", - "path": "https://openminds.ebrains.eu/vocab/IRI", + "path": "https://openminds.om-i.org/props/IRI", }, { "propertyName": "files", "path": { - "@id": "https://openminds.ebrains.eu/vocab/fileRepository", + "@id": "https://openminds.om-i.org/props/fileRepository", "reverse": True, }, "structure": [ { "propertyName": "filename", - "path": "https://openminds.ebrains.eu/vocab/name", + "path": "https://openminds.om-i.org/props/name", }, { "propertyName": "format", "path": [ - "https://openminds.ebrains.eu/vocab/format", - "https://openminds.ebrains.eu/vocab/name", + "https://openminds.om-i.org/props/format", + "https://openminds.om-i.org/props/name", ], }, { "propertyName": "hash", - "path": "https://openminds.ebrains.eu/vocab/hash", + "path": "https://openminds.om-i.org/props/hash", "structure": [ { "propertyName": "digest", - "path": "https://openminds.ebrains.eu/vocab/digest", + "path": "https://openminds.om-i.org/props/digest", }, { "propertyName": "algorithm", - "path": "https://openminds.ebrains.eu/vocab/algorithm", + "path": "https://openminds.om-i.org/props/algorithm", }, ], }, { "propertyName": "size", - "path": "https://openminds.ebrains.eu/vocab/storageSize", + "path": "https://openminds.om-i.org/props/storageSize", "singleValue": "FIRST", "structure": [ { "propertyName": "value", - "path": "https://openminds.ebrains.eu/vocab/value", + "path": "https://openminds.om-i.org/props/value", }, { "propertyName": "units", "singleValue": "FIRST", "path": [ - "https://openminds.ebrains.eu/vocab/unit", - "https://openminds.ebrains.eu/vocab/name", + "https://openminds.om-i.org/props/unit", + "https://openminds.om-i.org/props/name", ], }, ], @@ -351,14 +352,14 @@ def test_query_with_reverse_properties(example_query_repository_with_reverse): ], }, { - "path": {"@id": "https://openminds.ebrains.eu/vocab/repository", "reverse": True}, + "path": {"@id": "https://openminds.om-i.org/props/repository", "reverse": True}, "propertyName": "contains_dataset_version", "required": True, "structure": [ {"path": "@id"}, { "filter": {"op": "EQUALS", "parameter": "dataset_alias"}, - "path": "https://openminds.ebrains.eu/vocab/shortName", + "path": "https://openminds.om-i.org/props/shortName", "propertyName": "alias", }, ], @@ -370,9 +371,12 @@ def test_query_with_reverse_properties(example_query_repository_with_reverse): @skip_if_no_connection def test_execute_query(kg_client, example_query_model_version): + query = example_query_model_version.serialize() + if kg_client.migrated is False: + query = adapt_namespaces_for_query(query) response = kg_client._kg_client.queries.test_query( - payload=example_query_model_version.serialize(), - stage=Stage.IN_PROGRESS, + payload=query, + stage=Stage.RELEASED, pagination=Pagination(start=0, size=3), ) data = response.data @@ -382,75 +386,84 @@ def test_execute_query(kg_client, example_query_model_version): "@id", "@type", "https://schema.hbp.eu/myQuery/space", - "vocab:custodian", - "vocab:format", - "vocab:versionIdentifier", - "vocab:fullName", + "custodian", + "format", + "versionIdentifier", + "fullName", ] ) data0 = data[0] assert set(data0.keys()) == expected_keys - if data0["vocab:custodian"]: - custodian0 = data0["vocab:custodian"][0] - assert set(custodian0.keys()) == set(["@id", "vocab:affiliation"]) - if custodian0["vocab:affiliation"]: - affil0 = custodian0["vocab:affiliation"][0] - assert set(affil0.keys()) == set(["@type", "vocab:memberOf", "vocab:startDate"]) + if data0["custodian"]: + custodian0 = data0["custodian"][0] + assert set(custodian0.keys()) == set(["@id", "affiliation"]) + if custodian0["affiliation"]: + affil0 = custodian0["affiliation"][0] + assert set(affil0.keys()) == set(["@type", "memberOf", "startDate"]) @skip_if_no_connection def test_execute_query_with_id_filter(kg_client, example_query_model): target_id = "https://kg.ebrains.eu/api/instances/3ca9ae35-c9df-451f-ac76-4925bd2c7dc6" + query = example_query_model.serialize() + if kg_client.migrated is False: + query = adapt_namespaces_for_query(query) response = kg_client._kg_client.queries.test_query( - payload=example_query_model.serialize(), + payload=query, instance_id=kg_client.uuid_from_uri(target_id), - stage=Stage.IN_PROGRESS, + stage=Stage.RELEASED, pagination=Pagination(start=0, size=10), ) data = response.data assert len(data) == 1 - assert data[0]["vocab:fullName"] == "AdEx Neuron Models with PyNN" - assert data[0]["vocab:custodian"][0]["vocab:familyName"] == "Destexhe" - # assert data[0]["vocab:organization"][0]["vocab:shortName"] == "Destexhe Lab" + assert data[0]["fullName"] == "AdEx Neuron Models with PyNN" + assert data[0]["custodian"][0]["familyName"] == "Destexhe" + # assert data[0]["organization"][0]["shortName"] == "Destexhe Lab" @skip_if_no_connection def test_execute_query_with_reverse_properties_and_instance_id(kg_client, example_query_repository_with_reverse): - target_id = "https://kg.ebrains.eu/api/instances/2f8d64f3-d848-49bd-baa6-a2c7080c98da" + target_id = "https://kg.ebrains.eu/api/instances/1c846a5f-eac2-477a-9dc3-d2e51b00fda9" + query = example_query_repository_with_reverse.serialize() + if kg_client.migrated is False: + query = adapt_namespaces_for_query(query) response = kg_client._kg_client.queries.test_query( - payload=example_query_repository_with_reverse.serialize(), + payload=query, instance_id=kg_client.uuid_from_uri(target_id), - stage=Stage.IN_PROGRESS, + stage=Stage.RELEASED, pagination=Pagination(start=0, size=10), ) data = response.data assert len(data) == 1 assert ( data[0]["location"] - == "https://data-proxy.ebrains.eu/api/v1/buckets/p7e415-brette-etal-2007?prefix=Benchmark2" + == "https://data-proxy.ebrains.eu/api/v1/buckets/p63ea6-Angelo_SGA1_1.2.4?prefix=hbp-00810/EPSC/" ) - assert "VAbenchmarks" in data[0]["files"][0]["filename"] - assert data[0]["files"][5]["hash"][0]["algorithm"] == "MD5" + assert "hbp-00810_ESPC" in data[0]["files"][0]["filename"] + assert data[0]["files"][4]["hash"][0]["algorithm"] == "MD5" @skip_if_no_connection def test_execute_query_with_reverse_properties_and_filter(kg_client, example_query_repository_with_reverse): + query = example_query_repository_with_reverse.serialize() + if kg_client.migrated is False: + query = adapt_namespaces_for_query(query) response = kg_client._kg_client.queries.test_query( - payload=example_query_repository_with_reverse.serialize(), - additional_request_params={"dataset_alias": "data-brette-etal-2007-benchmark2-v1"}, - stage=Stage.IN_PROGRESS, + payload=query, + additional_request_params={"dataset_alias": "Recordings of excitatory postsynaptic currents from cerebellar neurons"}, + stage=Stage.RELEASED, pagination=Pagination(start=0, size=10), ) data = response.data assert len(data) == 1 assert ( data[0]["location"] - == "https://data-proxy.ebrains.eu/api/v1/buckets/p7e415-brette-etal-2007?prefix=Benchmark2" + == "https://data-proxy.ebrains.eu/api/v1/buckets/p63ea6-Angelo_SGA1_1.2.4?prefix=hbp-00810/EPSC/" ) - assert "VAbenchmarks" in data[0]["files"][0]["filename"] - assert data[0]["files"][5]["hash"][0]["algorithm"] == "MD5" - assert data[0]["contains_dataset_version"][0]["alias"] == "data-brette-etal-2007-benchmark2-v1" + assert "hbp-00810_ESPC" in data[0]["files"][0]["filename"] + assert data[0]["files"][4]["hash"][0]["algorithm"] == "MD5" + assert data[0]["contains_dataset_version"][0]["alias"] == "Recordings of excitatory postsynaptic currents from cerebellar neurons" def test_openminds_core_queries(mock_client): @@ -467,6 +480,7 @@ def test_openminds_core_queries(mock_client): space="collab-foobar", client=mock_client, follow_links=None, + with_reverse_properties=True ) with open(path_expected) as fp: expected = json.load(fp) @@ -483,20 +497,21 @@ def test_generate_query_with_follow_one_link(mock_client): "core", f"{cls.__name__.lower()}_resolved-1_query.json", ) + generated = cls.generate_query( + space=None, + client=mock_client, + filters=None, + follow_links={ + "affiliations": {"member_of": {}}, + "associated_accounts": {}, + "contact_information": {}, + "digital_identifiers": {}, + }, + with_reverse_properties=True + ) with open(path_expected) as fp: - generated = cls.generate_query( - space=None, - client=mock_client, - filters=None, - follow_links={ - "affiliations": {"member_of": {}}, - "associated_accounts": {}, - "contact_information": {}, - "digital_identifiers": {}, - }, - ) expected = json.load(fp) - assert generated == expected + assert generated == expected def test_generate_query_with_follow_named_links(mock_client): @@ -509,50 +524,31 @@ def test_generate_query_with_follow_named_links(mock_client): "core", f"{cls.__name__.lower()}_newstyle_query.json", ) - with open(path_expected) as fp: - generated = cls.generate_query( - space=None, - client=mock_client, - filters={"affiliations__member_of__has_parents__alias": "FZJ"}, - follow_links={"affiliations": {"member_of": {"has_parents": {}}}, "contact_information": {}}, - ) - expected = json.load(fp) - assert generated == expected - - -def test_migrate_query(): - path_orig = os.path.join( - os.path.dirname(__file__), - "test_data", - "queries", - "openminds", - "core", - "dataset_simple_query.json", + generated = cls.generate_query( + space=None, + client=mock_client, + filters={"affiliations__member_of__has_parents__alias": "FZJ"}, + follow_links={"affiliations": {"member_of": {"has_parents": {}}}, "contact_information": {}}, + with_reverse_properties=True ) - with open(path_orig) as fp: - orig_query = json.load(fp) - migrated_query = migrate_query(orig_query) - - path_expected = path_orig.replace(".json", "_v4.json") with open(path_expected) as fp: expected = json.load(fp) - - assert migrated_query == expected + assert generated == expected def test_generate_query_type_filter_flattened(): query = Query( - node_type="https://openminds.ebrains.eu/publications/LivePaperVersion", + node_type="https://openminds.om-i.org/types/LivePaperVersion", label="fg-testing-livepaperversion", space="livepapers", properties=[ - QueryProperty("https://openminds.ebrains.eu/vocab/shortName", name="short_name"), + QueryProperty("https://openminds.om-i.org/props/shortName", name="short_name"), QueryProperty( [ - "https://openminds.ebrains.eu/vocab/relatedPublication", - "https://openminds.ebrains.eu/vocab/identifier", + "https://openminds.om-i.org/props/relatedPublication", + "https://openminds.om-i.org/props/identifier", ], - type_filter="https://openminds.ebrains.eu/core/DOI", + type_filter="https://openminds.om-i.org/types/DOI", name="related_publications", ), ], @@ -566,7 +562,7 @@ def test_generate_query_type_filter_flattened(): "path": {"@id": "path", "@type": "@id"} }, "meta": { - "type": "https://openminds.ebrains.eu/publications/LivePaperVersion", + "type": "https://openminds.om-i.org/types/LivePaperVersion", "description": "Automatically generated by fairgraph", "name": "fg-testing-livepaperversion" }, @@ -578,15 +574,15 @@ def test_generate_query_type_filter_flattened(): "parameter": "id" } }, - {"propertyName": "short_name", "path": "https://openminds.ebrains.eu/vocab/shortName"}, + {"propertyName": "short_name", "path": "https://openminds.om-i.org/props/shortName"}, { "propertyName": "related_publications", "path": [ { - "@id": "https://openminds.ebrains.eu/vocab/relatedPublication", - "typeFilter": {"@id": "https://openminds.ebrains.eu/core/DOI"} + "@id": "https://openminds.om-i.org/props/relatedPublication", + "typeFilter": {"@id": "https://openminds.om-i.org/types/DOI"} }, - "https://openminds.ebrains.eu/vocab/identifier" + "https://openminds.om-i.org/props/identifier" ] }, { diff --git a/test/test_registry.py b/test/test_registry.py deleted file mode 100644 index 0ba0a82c..00000000 --- a/test/test_registry.py +++ /dev/null @@ -1,11 +0,0 @@ -from fairgraph.registry import Registry -from fairgraph.properties import Property - - -def test_docstring_generation(): - class Foo(metaclass=Registry): - """This is the base docstring""" - - properties = [Property("foo", str, "Foo", doc="foo-foo")] - - assert Foo.__doc__ == "\nThis is the base docstring\n\nArgs\n----\nfoo : str\n foo-foo\n\n" diff --git a/test/test_utility.py b/test/test_utility.py index 617f2d00..c2cd18c6 100644 --- a/test/test_utility.py +++ b/test/test_utility.py @@ -1,7 +1,17 @@ +from copy import deepcopy import os import tempfile import pytest -from fairgraph.utility import expand_filter, compact_uri, in_notebook, accepted_terms_of_use, sha1sum +from fairgraph.utility import ( + expand_filter, + compact_uri, + in_notebook, + accepted_terms_of_use, + sha1sum, + normalize_data, + adapt_namespaces_3to4, + adapt_namespaces_4to3 +) from .utils import kg_client, skip_if_no_connection @@ -57,3 +67,75 @@ def test_sha1sum(): fp.close() assert sha1sum(fp.name) == "80a963e503e9ed478c2cc528fd344d58122929c2" os.remove(fp.name) + + +def test_normalize_data(): + data = { + "@id": "0000", + "@type": "https://openminds.ebrains.eu/core/Person", + "affiliation": { + "@type": "https://openminds.ebrains.eu/core/Affiliation", + "memberOf": { + "@type": "https://openminds.ebrains.eu/core/Organization", + "fullName": "The Lonely Mountain", + }, + }, + "familyName": "Oakenshield", + "givenName": "Thorin", + } + context = {"@vocab": "https://openminds.ebrains.eu/vocab/"} + expected = { + "@id": "0000", + "@type": "https://openminds.ebrains.eu/core/Person", + "https://openminds.ebrains.eu/vocab/affiliation": { + "@type": "https://openminds.ebrains.eu/core/Affiliation", + "https://openminds.ebrains.eu/vocab/memberOf": { + "@type": "https://openminds.ebrains.eu/core/Organization", + "https://openminds.ebrains.eu/vocab/fullName": "The Lonely Mountain", + }, + }, + "https://openminds.ebrains.eu/vocab/familyName": "Oakenshield", + "https://openminds.ebrains.eu/vocab/givenName": "Thorin", + } + assert normalize_data(data, context) == expected + + +def test_adapt_namespaces(): + import fairgraph.openminds.core # needed to populate the registry for lookup + + data_v3 = [{ + "@id": "0000", + "@type": "https://openminds.ebrains.eu/core/Person", + "https://openminds.ebrains.eu/vocab/affiliation": { + "@type": "https://openminds.ebrains.eu/core/Affiliation", + "https://openminds.ebrains.eu/vocab/memberOf": { + "@type": "https://openminds.ebrains.eu/core/Organization", + "https://openminds.ebrains.eu/vocab/fullName": "The Lonely Mountain", + }, + }, + "https://openminds.ebrains.eu/vocab/familyName": "Oakenshield", + "https://openminds.ebrains.eu/vocab/givenName": "Thorin", + }] + data_v4 = [{ + "@id": "0000", + "@type": "https://openminds.om-i.org/types/Person", + "https://openminds.om-i.org/props/affiliation": { + "@type": "https://openminds.om-i.org/types/Affiliation", + "https://openminds.om-i.org/props/memberOf": { + "@type": "https://openminds.om-i.org/types/Organization", + "https://openminds.om-i.org/props/fullName": "The Lonely Mountain", + }, + }, + "https://openminds.om-i.org/props/familyName": "Oakenshield", + "https://openminds.om-i.org/props/givenName": "Thorin", + }] + + data = deepcopy(data_v3) + adapt_namespaces_3to4(data) + assert data == data_v4 + + data = deepcopy(data_v4) + adapt_namespaces_4to3(data) + assert data == data_v3 + + assert data_v3 != data_v4 diff --git a/test/utils.py b/test/utils.py index 2a8f1847..3e21f5ca 100644 --- a/test/utils.py +++ b/test/utils.py @@ -1,4 +1,5 @@ from copy import deepcopy +import os from uuid import uuid4 from requests.exceptions import SSLError from fairgraph.client import KGClient @@ -7,6 +8,7 @@ import pytest kg_host = "core.kg-ppd.ebrains.eu" # don't use production for testing +#kg_host = "core.kg.ebrains.eu" # don't use production for testing have_kg_connection = False no_kg_err_msg = "No KG connection - have you set the environment variable KG_AUTH_TOKEN?" @@ -39,6 +41,14 @@ def kg_client(): return client +@pytest.fixture(scope="session") +def kg_client_curator(): + if "KG_AUTH_TOKEN_CURATOR" in os.environ: + return KGClient(host=kg_host, allow_interactive=False, token=os.environ["KG_AUTH_TOKEN_CURATOR"]) + else: + return None + + class MockKGResponse: def __init__(self, data, error=None): self.data = data @@ -63,7 +73,7 @@ def instance_from_full_uri( require_full_data: bool = True, ): if uri == "0000": - return {"@id": "0000", "@type": ["https://openminds.ebrains.eu/core/Model"]} + return {"@id": "0000", "@type": ["https://openminds.om-i.org/types/Model"]} else: raise NotImplementedError @@ -77,10 +87,10 @@ def query(self, query, filter=None, space=None, size=100, from_index=0, scope="r return MockKGResponse( [ { - "vocab:name": filter_value, + "https://openminds.om-i.org/props/name": filter_value, "@id": "fake_uuid", "https://core.kg.ebrains.eu/vocab/meta/space": "controlled", - "@type": ["https://openminds.ebrains.eu/controlledTerms/ModelAbstractionLevel"], + "@type": ["https://openminds.om-i.org/types/ModelAbstractionLevel"], } ] ) @@ -88,10 +98,10 @@ def query(self, query, filter=None, space=None, size=100, from_index=0, scope="r return MockKGResponse( [ { - "vocab:name": filter_value, + "https://openminds.om-i.org/props/name": filter_value, "@id": "fake_uuid", "https://core.kg.ebrains.eu/vocab/meta/space": "controlled", - "@type": ["https://openminds.ebrains.eu/controlledTerms/ModelScope"], + "@type": ["https://openminds.om-i.org/types/ModelScope"], } ] ) @@ -99,10 +109,10 @@ def query(self, query, filter=None, space=None, size=100, from_index=0, scope="r return MockKGResponse( [ { - "vocab:name": filter_value, + "https://openminds.om-i.org/props/name": filter_value, "@id": "fake_uuid", "https://core.kg.ebrains.eu/vocab/meta/space": "controlled", - "@type": ["https://openminds.ebrains.eu/controlledTerms/Species"], + "@type": ["https://openminds.om-i.org/types/Species"], } ] ) @@ -110,10 +120,10 @@ def query(self, query, filter=None, space=None, size=100, from_index=0, scope="r return MockKGResponse( [ { - "vocab:name": filter_value, + "https://openminds.om-i.org/props/name": filter_value, "@id": "fake_uuid", "https://core.kg.ebrains.eu/vocab/meta/space": "controlled", - "@type": ["https://openminds.ebrains.eu/controlledTerms/CellType"], + "@type": ["https://openminds.om-i.org/types/CellType"], } ] ) @@ -121,10 +131,10 @@ def query(self, query, filter=None, space=None, size=100, from_index=0, scope="r return MockKGResponse( [ { - "vocab:name": filter_value, + "https://openminds.om-i.org/props/name": filter_value, "@id": "fake_uuid", "https://core.kg.ebrains.eu/vocab/meta/space": "controlled", - "@type": ["https://openminds.ebrains.eu/controlledTerms/UBERONParcellation"], + "@type": ["https://openminds.om-i.org/types/UBERONParcellation"], } ] )