ckan2zenodo-library/src/test/resources/blue_cloud_dataset.xml

609 lines
18 KiB
XML

<Resource version="0.4.x">
<ID>4adeaca2-8e32-4507-8937-d891629998e2</ID>
<Type>GenericResource</Type>
<Scopes></Scopes>
<Profile>
<SecondaryType>Ckan-Zenodo-Mappings</SecondaryType>
<Name>Dataset</Name>
<Description>Simple mappings tests</Description>
<Body>
<resourceFilters>
<filter>
<condition>$.resources[?(@.format)]</condition>
</filter>
</resourceFilters>
<mappings>
<mapping>
<source>
<value type="constant">dataset</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement>upload_type</targetElement>
</mapping>
<!-- Identity:External Identifier -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Identity:External Identifier')].value</value>
</source>
<targetPath>$.metadata.relatedIdentifier[1]</targetPath>
<targetElement>identifier</targetElement>
</mapping>
<mapping>
<source>
<value type="constant">isAlternateIdentifier</value>
</source>
<targetPath>$.metadata.relatedIdentifier[1]</targetPath>
<targetElement>type</targetElement>
</mapping>
<!-- Identity:Creator -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Identity:Creator')].value</value>
</source>
<targetPath>$.metadata.creators[2]</targetPath>
<targetElement>name</targetElement>
</mapping>
<!-- Identity:Owner -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Identity:Owner')].value</value>
</source>
<targetPath>$.metadata.contributors[*]</targetPath>
<targetElement>name</targetElement>
</mapping>
<mapping>
<source>
<value type="constant">ContactPerson</value>
</source>
<targetPath>$.metadata.contributors[*]</targetPath>
<targetElement>type</targetElement>
</mapping>
<!-- Identity:RelatedPaper-->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Identity:RelatedPaper')].value</value>
</source>
<targetPath>$.metadata.relatedIdentifier[2]</targetPath>
<targetElement>identifier</targetElement>
</mapping>
<mapping>
<source>
<value type="constant">isCitedBy</value>
</source>
<targetPath>$.metadata.relatedIdentifier[2]</targetPath>
<targetElement>type</targetElement>
</mapping>
<!-- Coverage:Semantic Coverage-->
<mapping>
<source>
<value type="jsonPath" split=";">$.extras[?(@.key=='Coverage:Semantic Coverage')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement>keywords[*]</targetElement>
</mapping>
<!-- Coverage:TimeCoverage-->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Coverage:TimeCoverage')].value</value>
</source>
<targetPath>$.metadata.dates[0]</targetPath>
<targetElement>start</targetElement>
<regexp type="extract">
<target>.* </target>
</regexp>
<regexp type="replace">
<target>[/ ]</target>
<replacement></replacement>
</regexp>
</mapping>
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Coverage:TimeCoverage')].value</value>
</source>
<targetPath>$.metadata.dates[0]</targetPath>
<targetElement>end</targetElement>
<regexp type="extract">
<target> .*</target>
</regexp>
<regexp type="replace">
<target>[/ ]</target>
<replacement></replacement>
</regexp>
</mapping>
<mapping>
<source>
<value type="constant">Valid</value>
</source>
<targetPath>$.metadata.dates[0]</targetPath>
<targetElement>type</targetElement>
</mapping>
<!-- Coverage.SpatialCoverage -->
<!-- No example given -->
<!-- AccessMode:Accessibility -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='AccessMode:Accessibility')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">access_conditions</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>AccessMode.Accessibility : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- AccessMode:Availability -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='AccessMode:Availability')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">access_conditions</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>AccessMode.Availability : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- AccessMode:AccessibilityMode -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='AccessMode:AccessibilityMode')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">access_conditions</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>AccessMode.AccessibilityMode : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- TechnicalDetails:ProcessingDegree -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='TechnicalDetails:ProcessingDegree')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>TechnicalDetails.ProcessingDegree : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- TechnicalDetails:ManifestationType -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='TechnicalDetails:ManifestationType')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>TechnicalDetails.ManifestationType : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- TechnicalDetails:Language -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='TechnicalDetails:Language')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement>language</targetElement>
</mapping>
<!-- TechnicalDetails:Size -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='TechnicalDetails:Size')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>TechnicalDetails.Size : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- TechnicalDetails:DiskSize -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='TechnicalDetails:DiskSize')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>TechnicalDetails.DiskSize : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- TechnicalDetails:Format -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='TechnicalDetails:Format')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>TechnicalDetails.Format : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- TechnicalDetails:FormatSchema -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='TechnicalDetails:FormatSchema')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>TechnicalDetails.FormatSchema : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- DataProtection:PersonalData -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='DataProtection:PersonalData')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>DataProtection.PersonalData : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- DataProtection:PersonalSensitiveData -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='DataProtection:PersonalSensitiveData')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>DataProtection.PersonalSensitiveData : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- DataProtection:Consent of the data subject -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='DataProtection:Consent of the data subject')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>DataProtection.Consent of the data subject : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- DataProtection:Consent obtained also covers the envisaged transfer of the personal data outside the EU -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='DataProtection:Consent obtained also covers the envisaged transfer of the personal data outside the EU')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>DataProtection.Consent obtained also covers the envisaged transfer of the personal data outside the EU : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- DataProtection:Personal data was manifestly made public by the data subject -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='DataProtection:Personal data was manifestly made public by the data subject')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>DataProtection.Personal data was manifestly made public by the data subject : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- DataProtection:DataProtectionDirective -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='DataProtection:PersonalSensitiveData')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>DataProtection.DataProtectionDirective : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:IP/Copyrights -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:IP/Copyrights')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.IP/Copyrights : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:Field/Scope of use -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:Field/Scope of use')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.Field/Scope of use : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:Basic rights -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:Basic rights')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.Basic rights : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:Restrictions on use -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:Restrictions on use')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.Restrictions on use : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:Sublicense rights -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:Sublicense rights')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.Sublicense rights : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:Territory of use -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:Territory of use')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.Territory of use : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:License term -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:License term')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.License term : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Rights:Requirement of non-disclosure (confidentiality mark) -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Rights:Requirement of non-disclosure (confidentiality mark)')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Rights.Requirement of non-disclosure (confidentiality mark) : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Attribution:Attribution requirements -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Attribution:Attribution requirements')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Attribution.Attribution requirements : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Attribution:Display requirements -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Attribution:Attribution requirements')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Attribution.Display requirements : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
<!-- Attribution:Distribution requirements -->
<mapping>
<source>
<value type="jsonPath">$.extras[?(@.key=='Attribution:Distribution requirements')].value</value>
</source>
<targetPath>$.metadata</targetPath>
<targetElement append="true">notes</targetElement>
<regexp type="replace">
<target>^</target>
<replacement>Attribution.Distribution requirements : </replacement>
</regexp>
<regexp type="replace">
<target>$</target>
<replacement>; </replacement>
</regexp>
</mapping>
</mappings>
</Body>
</Profile>
</Resource>