Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

be more specific about nested datasets. fix #98 #113

Merged
merged 2 commits into from
Jan 23, 2025
Merged

Conversation

NicolasCARPi
Copy link
Contributor

No description provided.

SPECIFICATION.md Outdated Show resolved Hide resolved
@NicolasCARPi NicolasCARPi merged commit 17d5d9d into master Jan 23, 2025
2 checks passed
@NicolasCARPi NicolasCARPi deleted the nico-speccc branch January 23, 2025 10:58
@FlorianRhiem
Copy link
Collaborator

What is the logic behind A Dataset MUST not contain other Datasets in its hasPart section.?

In the SampleDB export, hasPart is used to link to prior versions of a Dataset, which are also Datasets but not meant for importing as a top-level dataset, as that would lead to multiple versions being imported for one Dataset. Hence these are not in hasPart of the root data entity, but are in hasPart of the importable Dataset.

@NicolasCARPi
Copy link
Contributor Author

@FlorianRhiem maybe we can modify it to read: "If a Dataset contains other Datasets in hasPart , they must be considered as previous version of the Dataset".

But I believe it would be best to use isBasedOn to avoid confusion. hasPart is the stuff to import, and revisions/history is using isBasedOn. What do you think?

@FlorianRhiem
Copy link
Collaborator

I wasn't aware of isBasedOn, that sounds perfectly fitting for prior versions. Using that sounds good to me!

@FlorianRhiem
Copy link
Collaborator

I just implemented a version of the export using isBasedOn and the rocrate validator fails for the following check:
Check if the Data Entity is linked, either directly of inderectly, to the Root Data Entityusing thehasPart(as defined inschema.org) property

This seems to refer to this part of the spec: https://www.researchobject.org/ro-crate/specification/1.1/data-entities.html#referencing-files-and-folders-from-the-root-data-entity As there are folders for these datasets (which contain additional files for each previous version), this actually applies here. So it seems the correct way would be to include them both in hasPart and in isBasedOn?

Perhaps it would be enough for us to specify that importable Datasets should be included in the hasPart of the root data entity and not restrict hasPart for other data entities?

@NicolasCARPi
Copy link
Contributor Author

Perhaps it would be enough for us to specify that importable Datasets should be included in the hasPart of the root data entity and not restrict hasPart for other data entities?

Sounds good to me. Then the logic to import Datasets is really to look at the hasPart of root node, and ignore hasPart of Datasets that are also Datasets, unless there is support for importing them. Using both attributes sounds about right, too, as it gives more information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants