Closed MoritzKeppler closed 2 years ago
I can help with one point:
is it possible that a resource is listed by multiple connectors?
I do not think so. Multiple connectors might serve resources that have the same content and the same values for most of their metadata properties, but at least the identifiers of the resources would typically differ. (Think of the RDF analogy <uri1> owl:sameAs <uri2>
.)
For the further questions, let me involve the Broker component owner @sebbader and the infomodel message expert @HaydarAk.
Hello @MoritzKeppler,
the currently implemented behavior of an ids:ResourceUpdateMessage is that of a PUT: Overwrite if existing, else Create new one. Therefore, an update to an empty Catalog will result in a newly added ids:Resource.
Second, the order of the incoming messages defines the new state. That means that the reference implementation of the Metadata Broker only looks what is the last received update message, and more or less ignores the time stamp of the other messages.
Does that answer your question?
A broker holds a list of ConnectorCatalogs. A ConnectorCatalog holds a list of Connectors (i.e. Connector self-descriptions). A Connector holds a list of ResourceCatalogs. A ResourceCatalog holds a list of offered Resources.
Sending a resource update message will update the corresponding resource entries in all offered Resource lists of all ResourceCatalogs of the connector sending the update. If the resource is not listed in any Catalog it won't get updated. If the Broker already processed a newer message for the same resource it will ignore the message. Right? btw: is it possible that a resource is listed by multiple connectors?
Moritz Keppler moritz.keppler@daimler.com, Daimler TSS GmbH, legal info/Impressum