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

127 Add entry field for Associated Datasets #281

Closed
wants to merge 22 commits into from

Conversation

fostermh
Copy link
Member

@fostermh fostermh commented Nov 23, 2023

#127

first try at adding a 'related' tab to list related datasets. There are some issues here with trying to accommodate all datacite identifiers as many of them are not necessarily urls. I'm not sure the best way to go here. If we should stick to the iso standard and allow anything in the identfyer type field or restrict to the list datacite provides?

@fostermh fostermh linked an issue Nov 23, 2023 that may be closed by this pull request
@fostermh
Copy link
Member Author

All changes other then merging the tabs have been completed

see #127 for a discussion on why we may or may not want to merge resources and related tabs.

Copy link
Contributor

@Br-Johnson Br-Johnson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Related identifier field is required to be a full URL, but ISNN for example is not a URL. Remove requirement for it to be a full URL?
  • Change 'Related' tab to 'Related Works'
  • Word smith 'Resource' tab docs to identify that 'Resources' are the primary 'resource' that the metadata record describes.
  • Word smith 'Related Works' documentation to make it clear this is for works published elsewhere

@fostermh fostermh requested a review from Br-Johnson December 2, 2023 05:14
@fostermh
Copy link
Member Author

fostermh commented Dec 2, 2023

I think I have captured all the changes requested

@cioos-siooc cioos-siooc deleted a comment from github-actions bot Dec 6, 2023
Copy link

github-actions bot commented Dec 6, 2023

Visit the preview URL for this PR (updated for commit 1f19269):

https://cioos-metadata-form--pr281-127-add-entry-field-fqaawees.web.app

(expires Fri, 15 Mar 2024 23:41:50 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 57eda2a7622dc877ccadb675a0532261c52b09fd

@timvdstap
Copy link
Collaborator

timvdstap commented Dec 6, 2023

Few thoughts:

  • The translation of the title of the related work does not seem to be working.
  • Can we add an example when 'Dependency' is used, or perhaps add an ELI5 to this? I'm not really sure when I would use this relationship.
  • Just want to confirm that under 'Resources', we're keeping the guidance text on supporting documents? That would indeed fall under 'Resources' and not Related Works? (Considering the guidance text under Related Works being: "Works whose relationship to this record adds information or context to this record")
  • If the required fields in 'Related Works' are not populated, these don't show up in the tab 'Submit' (i.e. I think this would mean that you'd still be able to submit a record even if those required fields are not populated).

@fostermh
Copy link
Member Author

fostermh commented Dec 7, 2023

ok, @timvdstap I think I have addressed your comments.

  • translation fixed, the function was deployed without necessary aws credentials, my bad
  • example of using 'Dependency' added
  • yes, supporting documents such as sampling protocols would still go under resources. other cited works such as a published paper, a service built using data from this record, or an aggregated dataset of which this is a part would go under related works.
  • validation now works. I did not know about the submit page or had forgotten, thanks for checking that.

Copy link
Contributor

@Br-Johnson Br-Johnson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some rewording to consistently use 'primary resource' to identify the resource the current metadata record being created is referring to, and to use related work to identify the 'associated dataset/resource' people are linking to. Also I tried to replace 'records' with either one of the previously mentioned terms.

Tried clarifying the language for relation Type to make it as clear as possible.

I also realized maybe you could include resource type (ie MD_ScopeCode) for the primary resource. Maybe thats another issue though if it's not simple to implement.

@@ -18,10 +18,14 @@ const ResourcesTab = ({ disabled, record, updateRecord }) => {
<div>
<Paper style={paperClass}>
<QuestionText>
<En>Enter any links to information associated with this dataset.</En>
<En>Enter any links to data or datasets described by this metadata record.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace with something like "Enter one or more links to the primary resource described by this metadata record. Resources added here should not already have their own metadata record or digital object identifier, such resources should be added to the 'Related Works' section

@@ -33,22 +37,22 @@ const ResourcesTab = ({ disabled, record, updateRecord }) => {
<li>CSV files</li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this guidance text and instead force users to select an MD_ScopeCode?

Otherwise for now replace "supporting documentation (eg text or pdf files" with "protocols or methods documents".

src/components/Tabs/ResourcesTab.jsx Show resolved Hide resolved
@@ -33,22 +37,22 @@ const ResourcesTab = ({ disabled, record, updateRecord }) => {
<li>CSV files</li>
<li>ERDDAP datasets</li>
<li>images</li>
<li>Online forms to request access to the data</li>
</ul>
At least one item is required. A Resource URL can link to a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion:
replace with "A Resource URL that links to a compressed data package or folder is preferred. Otherwise, list primary resource first followed by supporting resources."

<div>
<Paper style={paperClass}>
<QuestionText>
<En>Enter any links to other related metadata records or works that are associated with this dataset.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion:
replace with "Enter links to other metadata records, publications or works that are related to the primary resources this metadata record describes."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should stick to "works" and "resources" and avoid the term record where it may be replaced with either "works" or "resources"

<ul>
<li>Other datasets that are part of the same collection, project, or sampling protocol</li>
<li>Metadata records on other catalogues such as OBIS or FRDR that describe the same dataset</li>
<li>Works whose relationship to this record adds information or context to this record</li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replace with: Any work that adds context to or describes the primary resource for which you are creating this metadata record for.


Some of the ways a work can be related are:
<ul>
<li>Cross Reference - Reference from one record to another. Use to identify related documents or related records that may be part of the same collection or project</li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace "Use to identify related documents or related records that may be part of the same collection or project" with "Use to reference or cite related work"

I'm suggesting this because I think this relationType should map to DataCite's references or cites relationType which are the two that DataCite uses to count citations.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually think the description of how works can be related should be removed from the top header, and just explained using the Relation Type examples.

<I18n>
<En>
<p>
The identifier may be to a metadata record on another
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replace with "The identifier may be to a resource, or metadata record on another...

<I18n>
<En>
<p>
Specify the relationship between this record and another. The relationship is from the perspective of 'What the other record is to this one'. for example:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace with 'Specify the relationship from the perspective of A) the related resource; to B) the primary resource in the metadata record you are creating. For example:

Comment on lines 167 to 169
<li>Use the 'Cross Reference' to identify related datasets.</li>
<li>Use 'Larger Work Citation' to identify a larger program or operation of which this record is a part.</li>
<li>Use 'Dependency' when identifying another work that is cited in this record or is required for this record to exist. A model linking to its input datasets could be once use case for this. </li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest focussing on the most common relationTypes we would like people to use more often. In this case that would be: versioning, subsetting, reference/citation.
So then maybe replace with:
Use 'Revision of' to indicate the primary resource described (A) is a new version of (B) the related work.

Use 'Larger Work Citation' to indicate the primary resource described in this metadata record (A) is a subset of (B) the related larger work.

Use 'Is Composed Of' to indicate the primary resource described (A) is the larger work that includes (B) the related work.

Use 'Cross Reference' to indicate that the primary resource described (A) references and cites (B) the related work. This relation type will result in a citation count for (B) and serves as a general way to link resources.

@fostermh
Copy link
Member Author

I'm not sure that mapping 'crossReference' directly to cited is a good idea. In my mind crossReference is also for datasets that are siblings and part of the same collection but not necessarily citing each other.

I found this crosswalk which has some suggestions on this site https://www.rd-alliance.org/groups/research-metadata-schemas-wg if you search for 'associationType' a few different things come up.

One mapping shows 'isReferencedBy' mapping to associated resources but suggests using the datacite list of relation types. One option would be to add a specific type to our list for example 'Cites' to populate datacite metadata with. When generating the iso19115 xml we would have to map 'Cites' back to something like crossReference. This is the only way I can see to capture all the info you are asking for while still staying true to the ISO standard.

@fostermh
Copy link
Member Author

I also wonder if mdb:MD_Metadata/mdb:resourceLineage/mrl:LI_Lineage/mrl:source/mrl:LI_Source/mrl:sourceCitation/cit:CI_Citation would be a better place to put things that are cited by this resource and thus contributed to its creation (lineage)
https://wiki.esipfed.org/LI_Source

@fostermh
Copy link
Member Author

TODO: change relationship type to use the datacite types and map these back to the iso standard.

@Br-Johnson
Copy link
Contributor

TODO: change relationship type to use the datacite types and map these back to the iso standard.

Here's a google sheet where we can map the terms: https://docs.google.com/spreadsheets/d/1zanRa84k5TqdPbTekpwjPHnwGQoT6XpPKgBBlhGyS6s/edit?usp=sharing

@Br-Johnson
Copy link
Contributor

Yeah exactly that's right. I was trying to update it before lunch but didn't get a chance

@Br-Johnson
Copy link
Contributor

Those updated DataCite to ISO mappings look great @fostermh

@fostermh fostermh requested a review from Br-Johnson January 24, 2024 17:41
@fostermh
Copy link
Member Author

I think this is ready to go now. I have updated the relationship type to use the datacite list of values and mapped them to the iso list for iso XML output. The datacite relatedIdentifier field is now populated on datacite son output.

@Br-Johnson
Copy link
Contributor

OK cool. I'll have a look!

Brett Johnson added 2 commits February 8, 2024 14:22
Update relation type examples. Including French translation, though unsure of the accuracy of the French
Change some text from 'related work' to 'related resource'
optionLabels={Object.values(associationTypeCode).map(
({ title }) => title[language]
)}
optionTooltips={Object.values(associationTypeCode).map(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like the current Tooltip that describe how the DataCite relation types map to ISO isn't particularly useful for the user. Could you update the tooltip so it explains the DataCite relation type using the definitions here?: https://datacite-metadata-schema.readthedocs.io/en/4.5/appendices/appendix-1/relationType/#issourceof


Some of the ways a work can be related are:
<ul>
<li>Cross Reference - Reference from one record to another. Use to identify related documents or related records that may be part of the same collection or project</li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually think the description of how works can be related should be removed from the top header, and just explained using the Relation Type examples.

@fostermh fostermh self-assigned this Feb 21, 2024
@fostermh fostermh mentioned this pull request Feb 22, 2024
@fostermh
Copy link
Member Author

fostermh commented Mar 7, 2024

replaced by #322

@fostermh fostermh closed this Mar 7, 2024
@fostermh fostermh deleted the 127-add-entry-field-for-associated-datasets branch April 11, 2024 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Add entry field for Associated Datasets
3 participants