OpenAIRE Literature v.4 compliance for DSpace 5.x and DSpace 6.x
Please read this before
Please note that in DSpace 7, as far as known at the current stage of development, an OpenAIRE oaire schema will be introduced, see: https://github.com/DSpace/DSpace/blob/master/dspace/config/crosswalks/oai/metadataFormats/oai_openaire.xsl and https://github.com/DSpace/DSpace/blob/master/dspace/config/registries/openaire4-types.xml
If you don't have a metadata field yet holding such information and you plan to add it, it could make sense to use the same schema (to use the same approach as in DSpace 7, where in the Entities project a new local “project” schema will be introduced – [dspace-install]/config/registries/project-types.xml). Use the new schemas (“oaire” and “project”) during installation, then run the registry-loader” script to create it in the database. Examples (from the [dspace-install]/bin folder):
> ./dspace registry-loader -metadata [dspace-install]/config/registries/project-types.xml
> ./dspace registry-loader -metadata [dspace-install]/config/registries/openaire4-types.xml
How to expose different metadata under dc.contributor.*
To expose more metadata you need to modify the “oai_openaire.xsl” in ([dspace-installation-folder]/config/crosswalks/oai/metadataFormats).
Below an example of </datacite:contributors> managed in the mentioned file:
Starting at line 98 you have a for-each statement that will provide select element to iterate the “dc.contributor.*” needed to build the </datacite:contributors> element.
Step by step
Starting from the examples above if you want to expose “dc.contributor.distributor” add a new for-each statement and “select” the needed metadata: doc:metadata/doc:element[@name='dc']/doc:element[@name='contributor']/doc:element[@name='distributor']/doc:field[@name=’value’]
Modify also line matching the attribute “contributorType” that has to correspond the OpenAIRE Guidelines v4(https://openaire-guidelines-for-literature-repository-managers.readthedocs.io/en/v4.0.0/field_contributor.html#attribute-contributortype-m); in this case it should be “Distributor”.
Now you need to exclude this metadata from “Other” category. Inside datacite:contributors element the first element datacite:contributor manages the “contributorType=Other”. This statement contains a rule to prevent the writing of author or editor into the other category, the statement should be like the following rule: [@name!=’author’ and @name!=’editor’]. To manage also “Distributor” you have to modify this exception adding your metadata, adding this: [@name!=’author’ and @name!=’editor’ and @name!=’distributor’]. The complete example follows:
How to enable and map controlled vocabulary
To expose custom metadata holding controlled subjects such as DDC you need to enable the controlled vocabulary. First, to configure you need to follow the DSpace documentation ( https://wiki.lyrasis.org/display/DSDOC5x/Authority+Control+of+Metadata+Values#AuthorityControlofMetadataValues-HierarchicalTaxonomiesandControlledVocabularies )
The screenshot below is a piece of code in oai_openaire.xsl ([dspace-installation-folder]/config/crosswalks/oai/metadataFormats) and it shows the current situation.
to expose the controlled vocabulary managed by “dc.subject.ddc” metadata as <datacite:subject> (as Guidelines want) you need to modify this code as follows:
In the above example we added the relative template (line 333 to 347) to expose the DDC. Note that we need to exclude the dc.subject.ddc from the standard <datacite:subject> mapping (see the difference between line 323 in both screenshot).
How to configure custom metadata / How to add a new metadata
Example: How to add a new metadata “dc.relation.ispartof” on OpenAIRE v.4 field “Citation Title”.
1) Check if the metadata exists in the metadata registry (table “metadatafieldregistry” or in the administrative section “<dspace-host>/dspace-admin/metadata-schema-registry”, see https://wiki.lyrasis.org/display/DSDOC5x/Metadata+and+Bitstream+Format+Registries).
2) To add this field in submission step you need to configure it in the input form file (“<dspace-install>/dspace/config/input-forms.xml” ) like this:
Configure metadata in the input form as you like (please refers the official DSpace documentation https://wiki.lyrasis.org/display/DSPACE/Alter+submission+input+forms).
3) Currently the “citationTitle” element is mapped by the “dc.relation.ispartofseries” (see [dspace-installation]/config/crosswalks/oai/metadataFormats/oai_openaire.xsl ). Please use “xsl” rules (https://www.w3.org/TR/xslt-10/) and the OpenAIRE Guidelines to write the correct implementation for the new “dc.relation.ispartof” metadata as you can see in the following example:
Note that if you want Citation Title and Citation Volume elements as reported in the documentation:
Citation Title → from the dc.relation.ispartofseries with instructions to configure a custom metadata holding the Journal Title if available
Citation Volume → from the dc.relation.ispartofseries;
the field ”dc.relation.ispartofseries” into the [dspace-installation]/config/input-forms.xml has to be configured with “series” input-type.
Example: How to change the metadata used for the awards.
To switch from
dc.relation to something else you need to customize your input-forms.xml and change the oaire crosswalk accordly, this is the line:
Pay attention to add an additional
/doc:element[@name='<YOUR-QUALIFIER>'] in the xpath before the last doc:element if you use a qualified metadata.
NOTE FOR JSPUI
Installations with JSPUI, who want to adopt the ORCID patch to better exploit compliance with the OpenAIRE Guidelines, can find the patch available here: