International-Data-Spaces-Association / InformationModel

The Information Model of the International Data Spaces implements the IDS reference architecture as an extensible, machine readable and technology independent data model.
Apache License 2.0
61 stars 35 forks source link

self-description and resource catalogs #468

Closed MoritzKeppler closed 2 years ago

MoritzKeppler commented 3 years ago

InfoModel refers multiple times to "self-description of a connector" but I cannot find details. The communication guide https://industrialdataspace.jiveon.com/docs/DOC-2524#jive_content_id_21_SelfDescription states

The Connector self-description is a serialized instantiation of the Connector class (ids:Connector) as defined by the IDS Information Model.

Guess this is the proper definition?

A Connector holds a list of ResourceCatalogs. A ResourceCatalog holds a list of offered and requested Resources. Are both list (requested and offered) part of the self-description? Are there any other attributes which should not be included in the self-description? Moritz Keppler moritz.keppler@daimler.com, Daimler TSS GmbH, legal info/Impressum

clange commented 2 years ago

To my best understanding, a Connector self-description should validate against the respective SHACL shape. @HaydarAk is there anything else one should consider?

HaydarAk commented 2 years ago

Are both list (requested and offered) part of the self-description?

A connector may exclude some (optional) information, e.g., some of the ResourceCatalogs. But in general, all information attached to the connector class are part of the self-description (ResourceCatalogs, ConnectorEndpoints ....).

@clange a connector should validate against all fitting shapes, not just the Connector shape itself. Otherwise, one could expose a self-description with some arbitrary information, e.g., an invalid endpoint. If we only validate using only the connector shape, the endpoint would be valid as long as it is typed as ids:ConnectorEndpoint.

HaydarAk commented 2 years ago

Feel free to reopen the issue if there is still something unclear :)