Open thehabes opened 1 year ago
Here is an example of an expanded record from RERUM (using DEER expand())
{
"label":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/62794f401d974d1311abd6d0",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"Dayton. Autograph letter signed",
"evidence":""
},
"@context":"https://schema.org/docs/jsonldcontext.json",
"@type":"Text",
"creator":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/62794eeb1d974d1311abd6ce",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"http://store.rerum.io/v1/id/6269a1591d974d1311abd6c1",
"evidence":""
},
"__rerum":{
"@context":"http://store.rerum.io/v1/context.json",
"alpha":true,
"APIversion":"1.0.0",
"createdAt":"2021-11-11T16:39:22.418",
"isOverwritten":"",
"isReleased":"",
"history":{
"next":[
],
"previous":"",
"prime":"root"
},
"releases":{
"next":[
],
"previous":"",
"replaces":""
},
"generatedBy":"http://store.rerum.io/v1/id/618acffb50c86821e60b274c"
},
"@id":"http://store.rerum.io/v1/id/618d9b9a50c86821e60b2cbc",
"source":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/618d9b9b50c86821e60b2d7e",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"https://udspace.udel.edu/handle/19716/28242",
"evidence":""
},
"targetCollection":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/618d9b9b50c86821e60b2d80",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"Correspondence between Paul Laurence Dunbar and Alice Moore Dunbar",
"evidence":""
},
"tpenProject":[
{
"source":{
"citationSource":"http://store.rerum.io/v1/id/61a7f18450c86821e60b3c4a",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"7303",
"evidence":""
},
{
"source":{
"citationSource":"http://store.rerum.io/v1/id/61a9508850c86821e60b4a3c",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"7303",
"evidence":""
}
],
"date":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/61ae30fa50c86821e60b5d0e",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"1895-04-17",
"evidence":""
},
"identifier":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/61ae30fa50c86821e60b5d0f",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"F001",
"evidence":""
},
"fromLocation":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/61ae312550c86821e60b5d11",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"Dayton, OH",
"evidence":""
},
"manuscript":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/61ae823250c86821e60b5d18",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"Correspondence between Paul Laurence Dunbar and Alice Moore Dunbar",
"evidence":""
},
"name":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/61ae823250c86821e60b5d19",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"F001-01 letter from Paul to Alice: [New York Life Insurance Company: Agency at Dayton, Oh] - (04/17/1897)",
"evidence":""
},
"notes":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/62794fe41d974d1311abd6d3",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"notes",
"evidence":""
},
"transcriptionStatus":{
"source":{
"citationSource":"http://store.rerum.io/v1/id/632dc21a1267884358923194",
"citationNote":"Composed object from DEER",
"comment":"Learn about the assembler for this object at https://github.com/CenterForDigitalHumanities/deer"
},
"value":"http://store.rerum.io/v1/id/62572ba71d974d1311abd673",
"evidence":""
}
}
Example of a record from UDel DSpace https://udspace.udel.edu/rest/handle/19716/28242
Note that these links no longer work, so our client and other servers do not have access to their expanded metadata information at this time. https://udspace.udel.edu/rest/handle/19716/28242?expand=metadata
Further, we have noted their API definitely changed. An example of "all the metadata available for this item" can now be found at https://udspace.udel.edu/items/21453761-df3f-4949-a94b-7691472d7455/full
Let's assume the starting point of the API to be "for this DLA Record (a DLA Collection Item)"...
The statuses for a DLA Collection Item exists through data points from different sources. Those sources include RERUM, TPEN, DLA and UDEL.
Expecting the client script to query for all the connections is not a good idea, as it could take a long time. Our current status interfaces are a great example of this, as they house the entire API (as client script) to query to the different sources for information.
The source server and database are the quickest at determining the data involved and in some cases the data connections. Using our current interfaces as an example, we generated a specific
/getDunbarProjects
endpoint in TPEN that collects all the information together for the various Dunbar Projects and returns them as an organized JSON array where each object notes something useful for determining statuses or connections. Even still, asking this endpoint for all of them at once takes a few seconds and will get slower as there are more projects. See one of the items from that array below.For each status we want, we need to determine what could/should be completed by the client, and what should/could be completed by the data source server. Load times and query result times should be low; an admin should be able to see statuses within seconds.