diff --git a/pages/more-background-on-compact-identifiers/openapi.yaml b/pages/more-background-on-compact-identifiers/openapi.yaml index 3a0019cf..db60933d 100644 --- a/pages/more-background-on-compact-identifiers/openapi.yaml +++ b/pages/more-background-on-compact-identifiers/openapi.yaml @@ -27,3 +27,6 @@ tags: - name: Example DRS Client Compact Identifier-Based URI Resolution Process - Registering a new Compact Identifier for Your DRS Server description: $ref: ./tags/ExampleRegisterIdentifier.md + - name: Example How To Handle Extra Metadata for DRS Objects + description: + $ref: ./tags/DRSPlusDataConnect.md diff --git a/pages/more-background-on-compact-identifiers/tags/DRSPlusDataConnect.md b/pages/more-background-on-compact-identifiers/tags/DRSPlusDataConnect.md new file mode 100644 index 00000000..fd704452 --- /dev/null +++ b/pages/more-background-on-compact-identifiers/tags/DRSPlusDataConnect.md @@ -0,0 +1,5 @@ +## DRS and Data Connect + +With DRS objects it may be necessary to attach additional metadata to your objects. We believe that a change to the API of DRS to include metadata is not in the spirit of the DRS spec and in general DRS should have no knowledge of the metadata associated with the objects. We have found that a good GA4GH standard to support this is Data Connect (https://github.com/ga4gh-discovery/data-connect). The general approach would be to have a Data Connect service on your platform and to include "tables" with the ID matching your DRS ID for the same object. This means that if you have metadata associated with an object id `abcd` (ex. additional information about Compound Objects) all you need to do is request the information from the Data Connect client at `/tables/abcd/info`. There are optional functionalities of Data Connect, such as querying of tables, but we do not explore them or give any recommendations here. + +Here is an example of using Data Connect with DRS in the fasp-scripts repository (https://github.com/ga4gh/fasp-scripts/blob/master/notebooks/drs/DRS%20File%20Data.ipynb). In this notebook we can see that data connect is used to get DRS IDs from a platform. Those DRS IDs are then used to gather aditional information about the file that might be necessary for analysis. This is just one example of how DRS and Data Connect can interact with each other to gather information about data on a platform. \ No newline at end of file