Skip to content
This repository was archived by the owner on Nov 13, 2023. It is now read-only.
This repository was archived by the owner on Nov 13, 2023. It is now read-only.

Moving openMINDS instance libraries to main GitHub #29

@lzehl

Description

@lzehl

The openMINDS instance libraries are version dependent which is why they were located so far on the repository version branch of each git submodule where the respective schema is defined.

Some instances include though linkages to instances of a different git submodule. To facilitate the development and maintenance of the openMINDS instance libraries in general we decided to move all of them to the version branches of the main openMINDS GitHub.

Open question: How should the instance libraries be organized?

As before the instance libraries will be located in an "instances" folder in each version branch, but we need to decide on a meaningful sub-directory. Not for technical reasons (the sub-directory does not matter, just that they are stored as JSONLDs), but for readability/maintenance.

We had some prior discussion for this and I would like to share and put up for discussion the following suggestion (e.g., v2 branch):

instances/
    brainAtlases/
        Julich-BrainAtlas/ (example, same structure for all registered brain atlases)
            Julich-BrainAtlas.jsonld (BrainAtlas instance; with nested Terminology)
            JBA_v1-13_Colin27-1998/
                 JBA_v1-13_Colin27-1998.jsonld (BrainAtlasVersion instance; with nested TerminologyVersion)
                 parcellationEntityVersions/
                     *.jsonld (ParcellationEntityVersion instances; with nested AtlasAnnotation)
                 serviceLinks/
                     *.jsonld (ServiceLink instances; with nested URL [this is not yet an embeddedType! would need to change])
            parcellationEntities/
                 *.jsonld (ParcellationEntity instances)
    commonCoordinateSpaces/
         *.jsonld (ParcellationEntity instances for common reference spaces)
    contentTypes/
         *.jsonld (ContentType instances)
    licenses/
        *.jsonld (License instances)
    miscellaneous/
        dataLocations/
            *.jsonld (File or FileBundle instances for e.g. atlas annotations)
        persons/
            *.jsonld (Person instances for e.g. atlas developers)
        URLs/
            *.jsonld (URL instances for e.g. common coordinate space homepages)
        [etc]
    terminologies/
        UBERONParcellations/
            *.jsonld (UBERONParcellation instances)
        actionStatusTypes/
            *.jsonld (ActionStatusType instances)
        ageCategories/
            *.jsonld (AgeCategory instances)
        [etc]

Issue we need to discuss in this context: how to handle all "miscellaneous" instances? They are typically registered already in the databases (e.g. the KG) for other purposes and we need to keep/suggest how to keep them in sync. Any ideas?
[Note: "dataLocations" should maybe be moved to the atlas sub-directories]

@HumanBrainProject/openminds-developers: this issue requires particularly your input 😉

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions