All Versions
- DSpace 7.x (Current Release)
- DSpace 8.x (Unreleased)
- DSpace 6.x (EOL)
- DSpace 5.x (EOL)
- More Versions...
Scenario 2: A new researcher joins the institution and logins for the first time in the repository. The publication claim services found most of their publications in the OpenAIRE network and prompts for import. The researcher reviews the list, confirms the authorship and imports the publication saving a significant amount of (often publicly payed) time. Moreover, the authorship confirmation will come back later to OpenAIRE offering useful information about the data quality and potential enrichment. The same applies for publications authored by researchers in different institutes, having the data in multiple repositories makes the data more reliable and raises the chance to get more information and content from any of the authors.
...
In the original plan an integration with the ReCiter open source platform was originally planned but over the phase 2 we found that the internal data structure of ReCiter was too tight to the PubMed Article Model to be adapted to work with the data provided by the openAIRE Research Graph within the budget limit and for such reason we switched to a direct integration with the openAIRE Research Graph via the Publication REST API. Other good candidates to be integrated via such framework are ORCID or commercial databases via their authors' IDs.
The openAIRE Publication REST API are used to retrieve publication that could be authored by researcher at the Institution. The openAIRE Publication REST API are queried using the names known by the repository for its researchers, the retrieve list is later reduced passing identified publications to a pipeline of JAVA classes that can promote or reject his inclusion in the suggestion list. Publications previously discarded by the researcher are automatically filter out avoiding to re-present the same publication again and again.
...
The detailed REST contract for such endpoints are available on the 4Science Rest7Contract repository and embedded at the bottom of the page for easy reference.
The resulting UI is accessible for the Repository Manager from the administrative menu. As entry point for the features a “Notifications” menu entry has been added to the DSpace administrative menu, from where the repository manager will be able to manage the suggestions got from the different sources.
...
The suggestions list can be sorted by total score descending or ascending (highlighting the weakest candidates).
This functionality requires to implement a mechanism to uniquely link user accounts with Person profiles. Such mechanism is implemented out-of-box in DSpace-CRIS. Where the link is not implemented, the Repository Manager UI can still be used.
...
and can proceed to review the suggestions list in the same way than the Repository Manager, the notification message is also always available at the top of the mydspace
The backend is responsible to process the repository manager or researcher decisions taken over the received suggestions. The publication to be imported are processed according to the Import from External Sources normal data flow of DSpace 7. Upon import the suggestion document is removed from the SOLR core, in case of rejection the document is updated flagging it as rejected so that it will be not longer proposed to the user.
Three endpoints have been designed to interact with the publication claim service
/api/integration/suggestionsources
to provide access to summary information about the available suggestion from each source (openaire, orcid, etc.)/api/integration/suggestiontargets
to provide access to summary information about the available suggestions for a specific researcher/api/integration/suggestions
to provide access to the detailed suggestions so that they can be reviewed and managed by the repository manager or the researcher to whom they relatedBack to the list of all defined endpoints
/api/integration/suggestionsources
It returns a paginated list of suggestion sources. All the sources are returned regardless to the existence or less of suggestions. This endpoint is reserved to administrators
GET api/integration/suggestionsources/<:source-key>
...
Back to the list of all defined endpoints
/api/integration/suggestiontargets
Unsupported. The suggestion targets can be retrieved only by source or by target, see the search methods below.
GET api/integration/suggestiontargets/source:target-id
...
/api/integration/suggestiontargets/search/findBySource?source=<:source>
...
/api/integration/suggestiontargets/search/findByTarget?target=<:target-uuid>
...
Back to the list of all defined endpoints
/api/integration/suggestions
Unsupported. The suggestions can be retrieved only by source and target or via direct link, see the single entry and search method below.
GET api/integration/suggestions/<:suggestion-id>
...
{
"id": "reciter:gf3d657-9d6d-4a87-b905-fef0f8cae26:24694772",
"display": "publication one",
"source": "reciter",
"score": "62.7",
"external-source-uri": "https://dspace7.4science.cloud/server/api/integration/reciterSourcesEntry/pubmed/entryValues/24694772",
"evidences": {
"acceptedRejectedEvidence": {
"score": "2.7",
"notes": "some notes, eventually empty or null"
},
"authorNameEvidence": {
"score": "0",
"notes": "some notes, eventually empty or null"
},
"journalCategoryEvidence": {
"score": "6",
"notes": "some notes, eventually empty or null"
},
"affiliationEvidence": {
"score": "23.7",
"notes": "some notes, eventually empty or null"
},
"relationshipEvidence": {
"score": "9",
"notes": "some notes, eventually empty or null"
},
"educationYearEvidence": {
"score": "3.6",
"notes": "some notes, eventually empty or null"
},
"personTypeEvidence": {
"score": "4",
"notes": "some notes, eventually empty or null"
},
"articleCountEvidence": {
"score": "6.7",
"notes": "some notes, eventually empty or null"
},
"averageClusteringEvidence": {
"score": "7",
"notes": "some notes, eventually empty or null"
}
},
"metadata": {
"dc.identifier.uri": [
{
"value": "https://publication/0000-0003-3681-2038",
"language": null,
"authority": null,
"confidence": -1,
"place": -1
}
],
"dc.title" : [
{
"value" : "publication one",
"language" : null,
"authority" : null,
"confidence" : -1
}
],
"dc.date.issued" : [
{
"value" : "2010-11-03",
"language" : null,
"authority" : null,
"confidence" : -1
}
]
},
"type": "suggestion",
"_links": {
"target": {
"href": "https://dspace7.4science.cloud/server/api/core/items/gf3d657-9d6d-4a87-b905-fef0f8cae26"
},
"self": {
"href": "https://dspace7.4science.cloud/server/api/integration/suggestions/reciter:gf3d657-9d6d-4a87-b905-fef0f8cae26:24694772"
}
}
}
/api/integration/suggestions/search/findByTargetAndSource?target=:target-uuid&source=:source-key[&size=10&page=0]
...
{
"_embedded": {
"reciterSourceEntries": [
{
"id": "24694772",
"display": "publication one",
"source": "reciter",
"external-source-uri": "https://dspace7.4science.cloud/server/api/integration/reciterSourcesEntry/pubmed/entryValues/24694772",
"evidences": {
"acceptedRejectedEvidence": {
"score": "2.7",
"notes": "some notes, eventually empty or null"
},
"authorNameEvidence": {
"score": "0",
"notes": "some notes, eventually empty or null"
},
"journalCategoryEvidence": {
"score": "6",
"notes": "some notes, eventually empty or null"
},
"affiliationEvidence": {
"score": "xxx",
"notes": "some notes, eventually empty or null"
},
"relationshipEvidence": {
"score": "9",
"notes": "some notes, eventually empty or null"
},
"educationYearEvidence": {
"score": "3.6",
"notes": "some notes, eventually empty or null"
},
"personTypeEvidence": {
"score": "4",
"notes": "some notes, eventually empty or null"
},
"articleCountEvidence": {
"score": "6.7",
"notes": "some notes, eventually empty or null"
},
"averageClusteringEvidence": {
"score": "7",
"notes": "some notes, eventually empty or null"
}
},
"metadata": {
"dc.identifier.uri": [
{
"value": "https://publication/0000-0003-3681-2038",
"language": null,
"authority": null,
"confidence": -1,
"place": -1
}
],
"dc.title" : [
{
"value" : "publication one",
"language" : null,
"authority" : null,
"confidence" : -1
}
],
"dc.date.issued" : [
{
"value" : "2010-11-03",
"language" : null,
"authority" : null,
"confidence" : -1
}
]
},
"type": "suggestion",
"_links": {
"target": {
"href": "https://dspace7.4science.cloud/server/api/core/items/gf3d657-9d6d-4a87-b905-fef0f8cae26"
},
"self": {
"href": "https://dspace7.4science.cloud/server/api/integration/suggestions/reciter:gf3d657-9d6d-4a87-b905-fef0f8cae26c:24694772"
}
}
}
]
},
"_links": {
"self": {
"href": "https://dspace7.4science.cloud/server/api/integration/suggestions/search/findByTargetAndSource?target=gf3d657-9d6d-4a87-b905-fef0f8cae26c&source=reciter"
}
},
"page": {
"size": 20,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
See the WorkspaceItem endpoint for details on how to import a suggestion
DELETE api/integration/suggestions/<:suggestion-id>
...