Discussion #2337

Updated by Michael Lutz over 5 years ago

<p><span style="color:#FFFFFF;"><span style="background-color: rgb(255, 140, 0);">## DRAFT ##</span></span></p>

<p>This discussion has been created in order to find the rigth architecture for the &quot;Register Federation&quot;. The following paragraphs show a proposal for the different features related to the Register Federation.</p>

<p>The Register Federation is a central tool of the federation is the Register of Registers (RoR), where <strong>metadata</strong> related to the Registers and Register items are indexed. The RoR Register Federation does not contain the registers data but only metadata, reference to registers/register items register/register item and relations/links between them.</p>

<h2>1. Metadata for the Register Federation</h2>

<p>Below you can find a list of metadata elements for the federation.</p>

<ul>
<li><strong>Registry</strong>

<ul>
<li><strong>Basic metadata</strong>: URI, description, registry manager;</li>
<li><strong>API</strong>: which operations are supported by this Registry. This is a list and a description of operations that can be performed by the Registry. A link to the Registry&#39;s API entry point is provided.</li>
</ul>
</li>
<li><strong>Registers</strong>
<ul>
<li><strong>Basic metadata</strong>: URI, description, owner, registermanager, control body, contact point;</li>
</ul>
</li>
<li><strong>Extension information:</strong> information to relate the elements in the different registers. Examples: <span style="font-family:courier new,courier,monospace;">extends(source,target)</span> new,courier,monospace;&quot;&gt;extend_relation(source,target)&lt;/span&gt; - <span style="font-family:courier new,courier,monospace;">extends(http://ms_registry/codelist/abc,http://inspire.ec.europa.eu/codelist/def)</span></li> new,courier,monospace;&quot;&gt;extend_relation(http://ms_registry/codelist/abc,http://inspire.ec.europa.eu/codelist/def)&lt;/span&gt;&lt;/li&gt;
</ul>

<h2>2. RoR Register Federation API</h2>

<p>This paragraph propose a set of functionalities provided by the RoR Register Federation API.</p>

<ul>
<li>Searching operations:
<ul>
<li>GetRegistries() : Collection&lt;RegistryId&gt; - Gets &lt;li&gt;Get a list of registries Registry registered in the federation;</li> Federation;&lt;/li&gt;
<li>GetRegisters(r : RegistryId) : Collection&lt;RegisterId&gt; - Gets &lt;li&gt;Get a list of federated registers Federated Registers contained in a registry (not all registers in a registry need to be part of the federation)</li> Registry;&lt;/li&gt;
<li>GetRegisterExtensions(r : RegisterId) : Collection&lt;RegisterId&gt; - Gets &lt;li&gt;Get all the extensions Extension of a specific register</li> Register;&lt;/li&gt;
<li>GetItemExtensions(i : ItemId) : Collection&lt;ItemId&gt; - Gets all the extensions of &lt;li&gt;Check if a specific register item (e.g. extended values of a code list item)</li> element is extended.&lt;/li&gt;
</ul>
</li>
&lt;/ul&gt;

&lt;ul&gt;

<li>Indexing operations:
<ul>
<li>AddRegistry(r : RegistryDescription) : void - Adds &lt;li&gt;Adding/editing/deleting a registry (incl. its metadata) to Registry in the federation</li> federation;&lt;/li&gt;
<li>EditRegistry(rid : RegistryId, r : RegistryDescription) : void - Modifies registry metadata</li>
<li>RemoveRegistry(rid : RegistryId): void -&nbsp;Removed a registry from the federation</li>
<li>Adding/editing/removing registers, extension information etc. would be done through
&lt;li&gt;Add/edit/delete an update of the RegistryDescription. Alternatively, Add/Edit/Remove operations could also be provided for registers and extension information.</li> relation;&lt;/li&gt;
</ul>
</li>
</ul>

Back