Skip to content

Commit

Permalink
Update MARC21-EDM fix transformation #589
Browse files Browse the repository at this point in the history
TobiasNx committed Jan 28, 2025
1 parent 3748a83 commit a308252
Showing 1 changed file with 54 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -352,7 +352,8 @@ end
<data name="~rdf:about" source="@placeID" />
<data name="skos:prefLabel" source="@place" />
</entity>

copy_field("@placeID","edm:Place.~rdf:about")
copy_field("@place","edm:Place.skos:prefLabel")


<combine name="@timeID" value="#/timespan/${id}_timespan${c}">
@@ -364,10 +365,16 @@ end
<occurrence only="1" />
</postprocess>
</combine>

paste("@timeID","~#/timespan/","001","~_timespan","260[ 3] .c",join_char:"")
copy_field("@timeID","edm:TimeSpan.~rdf:about")
copy_field("260[ 3] .c","edm:TimeSpan.skos:notation")
<entity name="edm:TimeSpan">
<data name="~rdf:about" source="@timeID" />
<data name="skos:notation" source="260 .c|2603 .c" />
</entity>


<!-- mandatory ELIB -->
<combine name="@recordID" value="${url}${id}">
<data name="id" source="001" />
@@ -379,12 +386,25 @@ end
</data>
</combine>

copy_field("@isil","@recordIDUrl")
lookup("@recordIDUrl","urls")

copy_field("@isil","@recordIDSuffix")
lookup("@recordIDSuffix","suffix")

paste("recordID","@recordIDUrl","001","@recordIDSuffix", join_char:"")

<data source="_id" name="@mediatypeID">
<constant value="$[media_type]" />
<lookup in="mediatype" />
<compose prefix="http://ddb.vocnet.org/medientyp/" />
</data>


add_field("@mediatypeID","$[media_type]")
lookup("@mediatypeID","mediatype")
prepend("@mediatypeID","http://ddb.vocnet.org/medientyp/")

<entity name="skos:Concept">
<data name="~rdf:about" source="@mediatypeID" />
<data source="_id" name="skos:notation">
@@ -393,6 +413,11 @@ end
</data>
</entity>

copy_field("@mediatypeID","skos:Concept.$append.rdf:about")
unless str_equal("$[media_type]","")
add_field("skos:Concept.$last.skos:notation","$[media_type]")
end

<entity name="dcterms:LinguisticSystem">
<data source="@lang" name="rdf:value">

@@ -402,43 +427,71 @@ end
</data>
</entity>

copy_field("@lang","dcterms:LinguisticSystem.rdf:value")
paste("dcterms:LinguisticSystem.~rdf:about","~http://id.loc.gov/vocabulary/iso639-2/","@lang")

<data name="edm:rights" source="@isil">
<lookup in="rights" />
</data>

copy_field("@isil","edm:rights")
lookup("edm:rights","rights")

<data source="_id" name="*dcterms:rights">
<constant value="http://creativecommons.org/publicdomain/zero/1.0/"/>
</data>

add_field("*dcterms:rights","http://creativecommons.org/publicdomain/zero/1.0/")


<entity name="edm:ProvidedCHO" flushWith="record">
<data source="@recordID" name="~rdf:about" />
copy_field("@recordID","edm:ProvidedCHO.~rdf:about")

<data name="*edm:wasPresent" source="@pEventID|@cEventID" />
copy_field("@pEventID|@cEventID","edm:ProvidedCHO.*edm:wasPresent.$append")

<data source="@mat" name="dc:type" />
copy_field("@mat","edm:ProvidedCHO.dc:type")
<data source="_id" name="edm:type">
<constant value="TEXT" />
</data>
add_field("edm:ProvidedCHO.edm:type","TEXT")
<data name="dc:publisher" source="2603 .b" />
copy_field("2603 .b","edm:ProvidedCHO.dc:publisher")
<data name="dcterms:extent" source="300??.a">
<not-equals string="Online-Ressource" />
</data>
unless any_equal("300??.a","Online-Ressource")
copy_field("300??.a","edm:ProvidedCHO.dcterms:extent")
end

<data source="@lang" name="dc:language" />
copy_field("@lang","edm:ProvidedCHO.dc:language")
<data source="@lang" name="*dcterms:language">
<compose prefix="http://id.loc.gov/vocabulary/iso639-2/" />
</data>
paste("edm:ProvidedCHO.*dcterms:language","~http://id.loc.gov/vocabulary/iso639-2/","@lang",join_char:"")


<combine name="dcterms:bibliographicCitation" value="${a} ; ${v}">
<data source="490??.a" name="a" />
<data source="490??.v" name="v" />
</combine>
paste("edm:ProvidedCHO.dcterms:bibliographicCitation","490??.a","~ ; ","490??.v", join_char:"")
<data name="dc:creator" source="1001 .a|1101 .a" />
copy_field("1[10]1 .a","edm:ProvidedCHO.dc:creator.$append")
<data name="dc:contributor" source="7001 .a|7101 .a" />
copy_field("7[10]1 .a","edm:ProvidedCHO.dc:contributor.$append")

<data name="dc:subject"
source="650?7.a|60017.a|61017.a|61117.a|630??.a|655?7.a|651?7.a|648??.a" />
<data name="*dc:subject" source="@conceptID" />

do list(path:"650?7|60017|61017|61017|630??|655?7|651?7|648??","var":"SUBJECT")
copy_field("SUBJECT.a", "edm:ProvidedCHO.dc:subject.$append")
end

<data name="*dcterms:isPartOf" source="830??.w|800??.w|810??.w|811??.w">
<regexp match="^\(DE-101\)((.*))" format="${1}" />
<compose prefix="http://d-nb.info/" />

0 comments on commit a308252

Please sign in to comment.