bodleian / ora_data_model

Documentation and crosswalks relating to the ORA data model
1 stars 1 forks source link

Funder information not being provided to Sword2 #126

Closed tomwrobel closed 4 years ago

tomwrobel commented 4 years ago

Problem: Funder information is not being provided to Sword2 for crosswalking

Steps:

  1. When I go to a Symplectic Elements
  2. I manually create a record for deposit
  3. I get to: Link funding
  4. I link funding with the work, e.g. https://oxris-qa.bsp.ox.ac.uk/viewobject.html?cid=1&id=1011901 has two linked grants
  5. I deposit the work
  6. No funder information appears in Hyrax for that record
  7. In addition, the metadata being sent to Sword2 contains no funder information (I've checked the sent METS files)
jjpartridge commented 4 years ago

There is also a secondary place in which funding information is added into a deposit ( in the manual form "additional fields" ) both would need to process to ORA and neither should overwrite the other

mrdsaunders commented 4 years ago

Funder records should be created by deposit crosswalk, to create multiple funder records in ORA, irrespective of whether they came from SE funding acknowledgements field or a linked grant.

Will check as part of debugging.

mrdsaunders commented 4 years ago

With regard to data from SE funding acknowledgement field:

For Pub ID 1012042 METS output as shown on crosswalk test screen:

<mods:name type="corporate">
        <mods:displayForm>Medical Research Council</mods:displayForm>
                <mods:role>
                        <mods:roleTerm type="text">Funder</mods:roleTerm>
                </mods:role>
        <mods:affiliation>
                  <ora_admin:grant_identifier>123456</ora_admin:grant_identifier>
        </mods:affiliation>
</mods:name>

However METS via Sword for that object when deposited uuid_3d1e3a60-20ba-45dc-8618-f556105668a9:

<mods:name type="corporate">
        <mods:displayForm>Medical Research Council</mods:displayForm>
                <mods:role>
                        <mods:roleTerm type="text">Funder</mods:roleTerm>
                </mods:role>
        <mods:affiliation/>
</mods:name>

In such cases what might the discrepancy be due to?

tomwrobel commented 4 years ago

That's not the correct METS format, from the sample mets:

                    <mods:name type="corporate">
                        <mods:displayForm>field:funders__funder_name</mods:displayForm>
                        <mods:role>
                            <mods:roleTerm type="text">Funder</mods:roleTerm>
                        </mods:role>
                        <mods:nameIdentifier type="funder_identifier">field:funders__funder_identifier</mods:nameIdentifier>
                        <mods:affiliation>  <!-- We encode an act of funding as an affiliation, even though it is a stretch. This is partly for MODS validation purposes -->
                            <ora_admin:funding xmlns:ora_admin="http://ora.ox.ac.uk/vocabs/admin">
                                <!-- For multiple grants, create one ora_admin:funding element for each grant -->
                                <ora_admin:funding_programme>field:funders__funder_funding_programme</ora_admin:funding_programme>
                                <ora_admin:funder_compliance>field:funders__funder_compliance_met</ora_admin:funder_compliance>
                                <ora_admin:funder_grant>
                                    <ora_admin:is_funding_for>field:funders__funder_grant__is_funding_for</ora_admin:is_funding_for><!-- More than one is_funding_for element is permissable -->
                                    <ora_admin:grant_identifier>field:funders__funder_grant__grant_identifier</ora_admin:grant_identifier>
                                </ora_admin:funder_grant>                        
                            </ora_admin:funding>
                        </mods:affiliation>  
                    </mods:name>

So the input should be:

<mods:name type="corporate">
        <mods:displayForm>Medical Research Council</mods:displayForm>
                <mods:role>
                        <mods:roleTerm type="text">Funder</mods:roleTerm>
                </mods:role>
        <mods:affiliation>
                  <ora_admin:funding xmlns:ora_admin="http://ora.ox.ac.uk/vocabs/admin">
                          <ora_admin:funder_grant>
                                  <ora_admin:grant_identifier>123456</ora_admin:grant_identifier>
                          </ora_admin:funder_grant>
                  </ora_admin:funding>
        </mods:affiliation>
</mods:name>
mrdsaunders commented 4 years ago

I think the general issue of grant object data coming across is actually config - Use object neighbourhood needs to be set to true. Initial results promising (also relevant to user data)

image

mrdsaunders commented 4 years ago

Has passed deposit initial testing. Funder name, funder-reference and type = 'funder' all crosswalked and visible in METS via Sword.