XML weitere Verschachtelung umsetzen

Ich habe ein Morph-Skript mit dem aus PICA RDFxml erstellt wird. Für eine Aussage ist es notwendig eine weitere rdf:Description hinzuzufügen.

Siehe den Workflow im Metafacture-Playground.

Soll Ergebnis:

<wdrs:describedby>
  <rdf:Description rdf:about="https://d-nb.info/gnd/1246696991/about">
[...]
  </rdf:Description>
</wdrs:describedby>

Ich komm gerade nicht darauf, wie ich das umsetze… Hat jemand eine Idee?

Hallo Tracy,
herzlich willkommen im metadaten.community-Forum!

Du benötigst eine entity in entity Verschachetlung. Das Morph-Skript müsste also so aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<metamorph xmlns="http://www.culturegraph.org/metamorph" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1">
  <rules>
    <entity name="rdf:Description">
      <data name="~rdf:about" source="003U.a">
        <occurrence only="1"/>
        <replace pattern="http:" with="https:"/>
        <compose postfix="/about"/>
      </data>
      <entity name="wdrs:describedby" reset="true">
        <data name="_exid" source="007K.0">
          <compose prefix="https://d-nb.info/gnd/"/>
          <compose postfix="/about"/>
        </data>
        <data name="*dcterms:license" source="001B.0">
          <constant value="http://creativecommons.org/publicdomain/zero/1.0/"/>
        </data>
        <data name="*gndo:descriptionLevel" source="002@.0">
          <substring start="2" end="3"/>
          <compose prefix="https://d-nb.info/standards/vocab/gnd/description-level#"/>
        </data>
      </entity>
    </entity>
    <data source="007K.0" name="gndo:gndIdentifier"/>
  </rules>
</metamorph>

Ja, natürlich! Eine weitere Verschachtelung!
Danke! :wink:

1 Like