molgenis / molgenis-emx2

MOLGENIS EMX2, the latest version of the MOLGENIS data platform.
GNU Lesser General Public License v3.0
11 stars 16 forks source link

fdp: support multiple ldp:DirectContainer #3945

Open svituz opened 3 days ago

svituz commented 3 days ago

Is your feature request related to a problem? Please describe. The FDP specifications give the possibility to have multiple ldp:DirectContainer to specify different properties to navigate the hierarchy of the FDP and there are some use cases where this is necessary. For example, in EJP-RD , a catalog can have dcat:Dataset associated using dcat:dataset property, ejprd:Biobank and ejprd:PatientRegistry linked with dcat:hasPart and dcat:DataService linked with dcat:service.
The current implementation allows only one ldp:DirectContainer (with the static property dcat:dataset as described here).

Describe the solution you'd like I'd like to have multiple properties to specify how to navigate the FDP and consequently multiple ldp:DirectContainer. An example is:

<https://directory.bbmri-eric.eu/api/fdp/fdp_Catalog/bbmri-directory> a dcat:Catalog
dcat:hasPart <https://directory.bbmri-eric.eu/api/fdp/fdp_Collection/bbmri-eric:ID:EXT_76823:collection:MainCollection>
dcat:service <https://directory.bbmri-eric.eu/api/fdp/fdp_DataService/bbmri-eric:ID:EXT_168144:collection:MainCollection:beacon:individuals>

<https://directory.bbmri-eric.eu/api/fdp/fdp_Catalog/bbmri-directory/dc> a ldp:DirectContainer;
  dct:title "BBMRI-ERIC Directory Collections";
  ldp:membershipResource <https://directory.bbmri-eric.eu/api/fdp/fdp_Catalog/bbmri-directory>;
  ldp:hasMemberRelation dcat:hasPart;
  ldp:contains <https://directory.bbmri-eric.eu/api/fdp/fdp_Collection/bbmri-eric:ID:EXT_76823:collection:MainCollection> .

<https://directory.bbmri-eric.eu/api/fdp/fdp_Catalog/bbmri-directory/dc> a ldp:DirectContainer;
  dct:title "BBMRI-ERIC Directory Collections";
  ldp:membershipResource <https://directory.bbmri-eric.eu/api/fdp/fdp_Catalog/bbmri-directory>;
  ldp:hasMemberRelation dcat:service;
  ldp:contains <https://directory.bbmri-eric.eu/api/fdp/fdp_DataService/bbmri-eric:ID:EXT_168144:collection:MainCollection:beacon:individuals>

Additional context A working FDP that adopts the spec feature is the Orphanet Catalog here