4.6.6. Metadatentyp-Mapping
Hauptbestandteil der Konfiguration für diese Serialisierungsklasse ist jedoch das Mapping der Metadatentypen in bestimmte Tabellen und Tabellenspalten. Für das Verständnis der unten beschriebenen Erläuterungen ist die Kenntnis des AGORA-Datenbankschemas daher sinnvoll.
Für jeden Metadatentyp existiert ein <Metadata>
Element. Innerhalb dieses Elements wird die Tabelle, die Spalte oder sogar ein Wert ausgewählt. Jedes <Metadata>
Element muss ein Unterelement <InternalName>
und <TableName>
besitzen. <InternalName>
enthält den internen Namen des Metadatentyps und <TableName>
enthält den Namen der Tabelle, in welcher der Wert des Metadatums gespeichert werden soll. Je nach Datenbankmanagementsystem ist hier evtl. auf Groß/Kleinschreibung zu achten. Entsprechend der Relation zwischen Struktureinheit und Metadatum gibt es mehrere Möglichkeiten, das Metadatum zu speichern:
Relation
Beschreibung
1:1
Metadaten des entsprechenden Typs dürfen max. einmal pro Struktureinheit auftreten, das Metadatum wird daher in der gleichen Tabelle gespeichert wie die Struktureinheit. Dies ist in dem AGORA-Datenbankschema die DOC
-Tabelle für Struktureinheiten der logischen Struktur und die ISET
-Tabelle für Struktureinheiten der physischen Struktur. Hierzu muss lediglich die entsprechende Tabellenspalte im Element <TableColumn>
angegeben werden. Zu beachten ist jedoch, dass die entsprechende Relation zwischen Strukturtyp und Metadatum im Regelsatz (num-Attribut) auf 1m
, 1o
oder +
steht.
Beispiel:
<Metadata>
<InternalName>CatalogIDDigital</InternalName>
<TableName>Doc</TableName>
<TableColumn>CatalogIDDigital</TableColumn>
</Metadata>
1:n
Das Metadatum kann mehrmals für eine Struktureinheit vorkommen. In diesem Fall gibt es zwei Tabellen. Die DocAttribute-Tabelle enthält den Typ des Metadatums, die DocAttribValue
-Tabelle verknüpft zzgl. des Metadatumwerts mit der Tabelle für die Struktureinheit (DOC-Tabelle). In diesem Fall ist in <TableName>
der Wert DocAttribute
anzugeben. Das Element <FieldValue>
muss dann den Wert des internen Attributnamen besitzen, wie er in der DocAttribute
Tabelle gespeichert ist. Das Element <TableColumn>
existiert nicht.
Beispiel:
<Metadata>
<InternalName>PublisherName</InternalName> <TableName>DocAttribute</TableName>
<FieldValue>Publisher</FieldValue>
</Metadata>
m:n
Ein Metadatum kann mehrmals für eine Struktureinheit vorkommen. Im Gegensatz zu der 1:n Verknüpfung wird allerdings der Metadatenwert mehrmals für unterschiedliche Struktureinheiten verwendet. Dieses Modell findet für die DigitalCollection
- und die PlacePublication
-Tabelle Anwendung. Sollen Daten in einer dieser beiden Tabellen gespeichert werden, muss das <Metadata>
Element lediglich ein <TableName>
Element enthalten. Dieses muss den Wert PlacePublication oder DigitalCollection enthalten.
Beispiel:
<Metadata>
<InternalName>PlaceOfPublication</InternalName> <TableName>PlacePublication</TableName>
</Metadata>
Personen
Personen werden in einer eigenen Tabelle gespeichert. Dies ist notwendig, da die zusätzlichen Merkmale eines Person-Objekts keinen Platz in den herkömmlichen Metadatentabellen haben. Das <FieldValue>
Element gibt in diesem Fall den Rollennamen an, den dieser Personentyp in der Datenbank besitzt. Dieser wird in der Datenbank in der CreatorType
-Tabelle gespeichert. Das Element <TableName>
muss dazu zwingend den Wert Creator
besitzen.
Beispiel:
<Metadata>
<InternalName>Author</InternalName>
<TableName>Creator</TableName>
<FieldValue>AUTHOR</FieldValue>
</Metadata>
Zusätzlich können nicht nur die Typen konvertiert werden, sondern auch die Werte eines Metadatums. Dazu dienen Wertelisten, die innerhalb des <AGORADATABASE>
Elements definiert sein müssen. Eine solche Werteliste kann für die Wertkonvertierung durch einfügen des Elements <ValueList>
genutzt werden. Dieses Element muss den Namen der Werteliste enthalten. Es ist sicherzustellen, dass eine entsprechende Werteliste mit diesem Namen auch existiert.
Beispiel: Nutzung einer Werteliste für die Wertkonvertierung
Last updated
Was this helpful?