Skip to content

Data@TAMU Issue #306: Add bi-directional virtual metadata for project dataset relationship #307

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

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions dspace/config/registries/dublin-core-types.xml
Original file line number Diff line number Diff line change
Expand Up @@ -610,6 +610,24 @@
</dc-type>
<!-- End TAMU Customization - additional dublin core relation qualifier for data URLs -->

<!-- TAMU Customization - additional dublin core relation qualifier for project URLs -->
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>hasResearchProject</qualifier>
<scope_note>Use for researcher's public project URLs.</scope_note>
</dc-type>
<!-- End TAMU Customization - additional dublin core relation qualifier for project URLs -->

<!-- TAMU Customization - additional dublin core relation qualifier for project URLs -->
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>sourceResearchProject</qualifier>
<scope_note>Use for projects's public data URLs.</scope_note>
</dc-type>
<!-- End TAMU Customization - additional dublin core relation qualifier for project URLs -->

<dc-type>
<schema>dc</schema>
<element>rights</element>
Expand Down Expand Up @@ -706,6 +724,24 @@
e.g. abbreviation or translation</scope_note>
</dc-type>

<!-- TAMU Customization - additional dublin core title for virtualized datasets on a research project -->
<dc-type>
<schema>dc</schema>
<element>title</element>
<qualifier>dataset</qualifier>
<scope_note>Use for the title of the dataset produced by a project.</scope_note>
</dc-type>
<!-- END TAMU Customization - additional dublin core title for virtualized datasets on a research project -->

<!-- TAMU Customization - additional dublin core title for virtualized research project on a dataset -->
<dc-type>
<schema>dc</schema>
<element>title</element>
<qualifier>project</qualifier>
<scope_note>Use for project title of a dataset.</scope_note>
</dc-type>
<!-- END TAMU Customization - additional dublin core title for virtualized research project on a dataset -->

<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
Expand Down
12 changes: 6 additions & 6 deletions dspace/config/spring/api/discovery.xml
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,10 @@
<entry key="eperson_claims" value-ref="eperson_claims"/>

<!-- TAMU Customizations - add map entry for research project, dataset and pdac -->
<entry key="research-project" value-ref="researchProject"/>
<entry key="researchproject" value-ref="researchproject"/>
<!-- Same as the "project" configuration, but does NOT filter out older versions of items -->
<!-- Used to display related items on single-item pages, because a relationship does not always point to the latest version of the related item -->
<entry key="research-project-relationships" value-ref="researchProjectRelationships"/>
<entry key="researchproject-relationships" value-ref="researchprojectRelationships"/>

<entry key="dataset" value-ref="dataset"/>
<!-- Same as the "dataset" configuration, but does NOT filter out older versions of items -->
Expand Down Expand Up @@ -2965,8 +2965,8 @@


<!-- TAMU Customization - Research Project, Dataset and PDAC discovery beans -->
<bean id="researchProject" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
<property name="id" value="researchProject"/>
<bean id="researchproject" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
<property name="id" value="researchproject"/>
<property name="indexAlways" value="true"/>
<!--Which sidebar facets are to be displayed-->
<property name="sidebarFacets">
Expand Down Expand Up @@ -3029,8 +3029,8 @@
<property name="spellCheckEnabled" value="true"/>
</bean>

<bean id="researchProjectRelationships" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
<property name="id" value="researchProjectRelationships"/>
<bean id="researchprojectRelationships" class="org.dspace.discovery.configuration.DiscoveryConfiguration" scope="prototype">
<property name="id" value="researchprojectRelationships"/>
<property name="indexAlways" value="true"/>
<!--Which sidebar facets are to be displayed-->
<property name="sidebarFacets">
Expand Down
68 changes: 60 additions & 8 deletions dspace/config/spring/api/virtual-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@
<entry key="isIssueOfJournalVolume" value-ref="isIssueOfJournalVolumeMap"/>
<entry key="isJournalIssueOfPublication" value-ref="isJournalIssueOfPublicationMap"/>

<!-- TAMU Customization - Dataset / PDAC virtual metadata mapping -->
<!-- TAMU Customization - Research Project, Dataset and PDAC virtual metadata mapping -->
<entry key="isPDACForDataset" value-ref="isPDACForDatasetMap"/>
<entry key="isDatasetAssignedToPDAC" value-ref="isDatasetAssignedToPDACMap"/>
<entry key="isPDACForProject" value-ref="isPDACForProjectMap"/>
<entry key="isProjectAssignedtoPDAC" value-ref="isProjectAssignedToPDACMap"/>
<!-- End TAMU Customization - Dataset / PDAC virtual metadata mapping -->
<entry key="isProjectThatProducedDataset" value-ref="isProjectThatProducedDatasetMap"/>
<entry key="isDatasetProducedByProject" value-ref="isDatasetProducedByProjectMap"/>
<!-- END TAMU Customization - Research Project, Dataset and PDAC virtual metadata mapping -->
</map>
</property>
</bean>
Expand All @@ -53,6 +55,9 @@
<entry key="local.pdac.name" value-ref="datasetPDAC_name"/>
<entry key="dc.contributor.pdac" value-ref="datasetPDAC_identifier"/>
</util:map>
<util:map id="isDatasetAssignedToPDACMap">
<entry key="dc.relation.hasDataset" value-ref="pdac_identifier"/>
</util:map>
<bean class="org.dspace.content.virtual.Concatenate" id="datasetPDAC_name">
<property name="fields">
<util:list>
Expand All @@ -72,10 +77,6 @@
</util:list>
</property>
</bean>

<util:map id="isDatasetAssignedToPDACMap">
<entry key="dc.relation.hasDataset" value-ref="pdac_identifier"/>
</util:map>
<bean class="org.dspace.content.virtual.Collected" id="pdac_identifier">
<property name="fields">
<util:list>
Expand All @@ -85,10 +86,14 @@
</bean>
<!-- End TAMU Customization - Dataset / PDAC virtual metadata -->

<!-- TAMU Customization - Research Project / PDAC virtual metadata -->
<util:map id="isPDACForProjectMap">
<entry key="local.pdac.name" value-ref="projectPDAC_name"/>
<entry key="dc.contributor.pdac" value-ref="projectPDAC_identifier"/>
</util:map>
<util:map id="isProjectAssignedToPDACMap">
<entry key="dc.relation.hasResearchProject" value-ref="pdac_identifier"/>
</util:map>
<bean class="org.dspace.content.virtual.Concatenate" id="projectPDAC_name">
<property name="fields">
<util:list>
Expand All @@ -108,9 +113,56 @@
</util:list>
</property>
</bean>
<util:map id="isProjectAssignedToPDACMap">
<entry key="dc.relation.hasResearchProject" value-ref="pdac_identifier"/>
<!-- END TAMU Customization - Research Project / PDAC virtual metadata -->

<!-- TAMU Customization - Dataset / Research Project virtual metadata -->
<util:map id="isProjectThatProducedDatasetMap">
<entry key="dc.title.project" value-ref="datasetProject_title"/>
<entry key="dc.relation.sourceResearchProject" value-ref="datasetProject_identifier"/>
</util:map>
<util:map id="isDatasetProducedByProjectMap">
<entry key="dc.title.dataset" value-ref="projectDataset_titles"/>
<entry key="dc.relation.hasDataset" value-ref="projectDataset_identifiers"/>
</util:map>
<bean class="org.dspace.content.virtual.Concatenate" id="datasetProject_title">
<property name="fields">
<util:list>
<value>dc.title</value>
</util:list>
</property>
<property name="separator">
<value>, </value>
</property>
<property name="useForPlace" value="true"/>
<property name="populateWithNameVariant" value="true"/>
</bean>
<bean class="org.dspace.content.virtual.Concatenate" id="datasetProject_identifier">
<property name="fields">
<util:list>
<value>dc.identifier.uri</value>
</util:list>
</property>
<property name="separator">
<value>, </value>
</property>
<property name="useForPlace" value="true"/>
<property name="populateWithNameVariant" value="true"/>
</bean>
<bean class="org.dspace.content.virtual.Collected" id="projectDataset_titles">
<property name="fields">
<util:list>
<value>dc.title</value>
</util:list>
</property>
</bean>
<bean class="org.dspace.content.virtual.Collected" id="projectDataset_identifiers">
<property name="fields">
<util:list>
<value>dc.identifier.uri</value>
</util:list>
</property>
</bean>
<!-- END TAMU Customization - Dataset / Research Project virtual metadata -->

<!-- Config like this will tell our VirtualMetadataPopulator to include the virtual metadata field
'dc.contributor.author' on the appropriate item with the values defined in the value-ref.
Expand Down