Creating profiles

This commit is contained in:
Luca Frosini 2023-03-15 18:45:03 +01:00
parent 6939a9622a
commit 477cd9ed22
2 changed files with 333 additions and 0 deletions

View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<metadataformat type="Assessment Unit" version="5">
<metadatafield categoryref="stock_identity">
<fieldName>GRSF Type</fieldName>
<mandatory>true</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<defaultValue>Assessment Unit</defaultValue>
<vocabulary isMultiSelection="false">
<vocabularyField>Assessment Unit</vocabularyField>
</vocabulary>
<tags>
<tag create="true">
<how>onFieldValue</how>
</tag>
</tags>
<extra>
<grsf>
<srcField>grsf_type</srcField>
<srcType>String</srcType>
<mandatory>true</mandatory>
<isSensitive>false</isSensitive>
<dstTypes>
<dstType>Field</dstType>
</dstTypes>
</grsf>
</extra>
</metadatafield>
<!-- Source not needed in profile -->
<metadatafield categoryref="stock_data">
<fieldName>Data Owner</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>*</maxOccurs>
<extra>
<grsf>
<srcField>data_owner</srcField>
<srcType>ArrayList</srcType>
<mandatory>false</mandatory>
<isSensitive>true</isSensitive>
<dstTypes>
<dstType maxOccur="*">Field</dstType>
</dstTypes>
</grsf>
</extra>
</metadatafield>
<metadatafield>
<fieldName>Database Source</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<note>A list of elements of the type {"name": "a name", "description": "a description", "url": "http://...."}. Name and url are mandatory. For the attribute name there is a controlled vocabulary: FIRMS, RAM, FishSource. Example: "database_sources": [{"name":"FIRMS", "description": "unknown", "url":"http://....."}, ...]</note>
<extra>
<grsf>
<srcField>database_sources</srcField>
<srcType>ArrayList</srcType>
<containedFields>
<field>
<id>name</id>
<type>String</type>
</field>
<field>
<id>name</id>
<type>Description</type>
</field>
<field>
<id>url</id>
<type>URL</type>
</field>
</containedFields>
<mandatory>aggregated</mandatory>
<isSensitive>false</isSensitive>
<dstTypes>
<dstType maxOccur="*">Resource</dstType>
</dstTypes>
<comments>It generates a Resource with the content of refers_to input field. No metadata field is created.</comments>
</grsf>
</extra>
</metadatafield>
<metadatafield>
<fieldName>Source of Information</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<note>A list of elements of the type {"name": "a name", "description": "a description", "url": "http://...."}. Name and url are mandatory. Example: "source_of_information" : [{"name":"...", "description": "...", "url":"http://....."},...]</note>
<extra>
<grsf>
<srcField>source_of_information</srcField>
<srcType>ArrayList</srcType>
<containedFields>
<field>
<id>name</id>
<type>String</type>
</field>
<field>
<id>name</id>
<type>Description</type>
</field>
<field>
<id>url</id>
<type>URL</type>
</field>
</containedFields>
<mandatory>aggregated</mandatory>
<isSensitive>false</isSensitive>
<dstTypes>
<dstType maxOccur="*">Resource</dstType>
</dstTypes>
<comments>It generates a Resource with the content of refers_to input field. No metadata field is created.</comments>
</grsf>
</extra>
</metadatafield>
<metadatafield>
<fieldName>Refers To</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<note>A list of objects of the format {"url": "http://", "id": "..."} that allows the aggregated GRSF records to point to their source records already published in the catalogue. The URL and the id are both mandatory and are the ones returned by the services when a source record is published. Example: Check the record http://data.d4science.org/ctlg/GRSF_Admin/f82393dd-d23a-3c26-98d3-ccc5f7910266 The JSON submitted by KB contains: "refers_to" : [ { "id" : "c29b2485-c33f-3c03-8790-55a1dcf045ed", "url" : "http://data.d4science.org/ctlg/GRSF_Admin/c29b2485-c33f-3c03-8790-55a1dcf045ed"}]. The reference is in the generated resource FIRMS.</note>
<extra>
<grsf>
<srcField>refers_to</srcField>
<srcType>ArrayList</srcType>
<containedFields>
<field>
<id>id</id>
<type>String</type>
</field>
<field>
<id>url</id>
<type>URL</type>
</field>
</containedFields>
<mandatory>aggregated</mandatory>
<isSensitive>false</isSensitive>
<dstTypes>
<dstType maxOccur="*">Resource</dstType>
</dstTypes>
<comments>It generates a Resource with the content of refers_to input field. No metadata field is created.</comments>
</grsf>
</extra>
</metadatafield>
<metadatafield categoryref="stock_identity">
<fieldName>Short Name</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<note>. Example: American Plaice NAFO-5YZ - https://data.d4science.org/ctlg/GRSF_Admin/f6342402-b5fb-3457-9b49-c0a018f2ce72</note>
<extra>
<grsf>
<srcField>short_name</srcField>
<srcType>String</srcType>
<mandatory>aggregated</mandatory>
<isSensitive>false</isSensitive>
<dstTypes>
<dstType>Field</dstType>
</dstTypes>
</grsf>
</extra>
</metadatafield>
<metadatafield>
<fieldName>SDG Flag</fieldName>
<mandatory>true</mandatory>
<dataType>Boolean</dataType>
<maxOccurs>1</maxOccurs>
<groups>
<group create="true" propagateUp="false">
<fixedValue>grsf-sdg-flag-group</fixedValue>
<ifFieldValueMatch>
<regex>^true$</regex>
</ifFieldValueMatch>
</group>
</groups>
<extra>
<grsf>
<srcField>sdg_flag</srcField>
<srcType>String</srcType>
<mandatory>true</mandatory>
<isSensitive>false</isSensitive>
<dstTypes>
<dstType>Field</dstType>
</dstTypes>
</grsf>
</extra>
</metadatafield>
<metadatafield>
<fieldName>Status of the Record</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<note>Controlled vocabulary: Pending, Rejected, Confirmed, Archived, Hidden, Merged (i.e. when the aggregated record comes out from more than one source record)</note>
<vocabulary isMultiSelection="false">
<vocabularyField>Pending</vocabularyField>
<vocabularyField>Rejected</vocabularyField>
<vocabularyField>Confirmed</vocabularyField>
<vocabularyField>Archived</vocabularyField>
<vocabularyField>Hidden</vocabularyField>
<vocabularyField>Merged</vocabularyField>
</vocabulary>
<extra>
<grsf>
<srcField>status_grsf_record</srcField>
<srcType>String</srcType>
<mandatory>aggregated</mandatory>
<isSensitive>false</isSensitive>
<dstTypes>
<dstType>Field</dstType>
</dstTypes>
</grsf>
</extra>
</metadatafield>
<metadatafield categoryref="stock_data">
<fieldName>Catch</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>*</maxOccurs>
<note>A time series of value, unit and date. Example: "catches": [{"unit" : "...", "value": "...", "year": "..."}, ...]</note>
<groups>
<group create="true" propagateUp="false">
<how>catch-group</how>
</group>
</groups>
<extra>
<grsf>
<srcField>catches</srcField>
<mandatory>false</mandatory>
<isSensitive>true</isSensitive>
<type>TimeSeries</type>
</grsf>
</extra>
</metadatafield>
<metadatafield categoryref="stock_data">
<fieldName>Landing</fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>*</maxOccurs>
<note>A time series of value, unit and date. Example: "landings": [{"unit" : "...", "value": "...", "year": "..."}, ...]</note>
<groups>
<group create="true" propagateUp="false">
<how>landing-group</how>
</group>
</groups>
<extra>
<grsf>
<srcField>landings</srcField>
<mandatory>false</mandatory>
<isSensitive>true</isSensitive>
<type>TimeSeries</type>
</grsf>
</extra>
</metadatafield>
<metadatafield>
<fieldName></fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<note></note>
<extra>
<grsf>
<srcField></srcField>
<mandatory>aggregated</mandatory>
<isSensitive>false</isSensitive>
<type>Field</type>
</grsf>
</extra>
</metadatafield>
<metadatafield>
<fieldName></fieldName>
<mandatory>false</mandatory>
<dataType>String</dataType>
<maxOccurs>1</maxOccurs>
<note></note>
<extra>
<grsf>
<srcField></srcField>
<mandatory>aggregated</mandatory>
<isSensitive>false</isSensitive>
<type>Field</type>
</grsf>
</extra>
</metadatafield>
</metadataformat>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<metadataformat type="str1234" version="5">
<metadatafield categoryref="str1234">
<fieldId>str1234</fieldId>
<fieldName>str1234</fieldName>
<mandatory>true</mandatory>
<dataType>String</dataType>
<maxOccurs>str1234</maxOccurs>
<defaultValue>str1234</defaultValue>
<note>str1234</note>
<vocabulary isMultiSelection="true">
<vocabularyField>str1234</vocabularyField>
</vocabulary>
<validator>
<regularExpression>str1234</regularExpression>
</validator>
<tags>
<tag separator="str1234" create="true">
<how>onFieldName</how>
<ifFieldValueMatch>
<regex>str1234</regex>
</ifFieldValueMatch>
</tag>
</tags>
<groups>
<group propagateUp="true" create="true">
<how>onFieldName</how>
<ifFieldValueMatch>
<regex>str1234</regex>
</ifFieldValueMatch>
</group>
</groups>
<extra />
</metadatafield>
</metadataformat>