625 lines
18 KiB
XML
625 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>
|
|
|
|
|
|
|
|
<mappings>
|
|
<resourceFilters>
|
|
<filter>
|
|
<condition>$.resources[?(@.format)]</condition>
|
|
</filter>
|
|
</resourceFilters>
|
|
<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: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> |