Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create additional fields for hbz publishing catalogue #1

Merged
merged 55 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
dc187d7
Create new hbz tag folder based on DNB elements
TobiasNx Aug 16, 2024
de2ada1
Add Tag for MNG and GPN
TobiasNx Aug 16, 2024
d471b53
Add all other ALMA publishing profil elements
TobiasNx Aug 16, 2024
bc6aeae
Add hbz element 960
TobiasNx Aug 19, 2024
e8f0d84
Add hbz element 961
TobiasNx Aug 19, 2024
66aaaf8
Add hbz element 962
TobiasNx Aug 19, 2024
10a4c84
Add hbz element 964
TobiasNx Aug 19, 2024
7176ef9
Add hbz as catalogue
TobiasNx Aug 19, 2024
704370a
Adjust package info for hbz
TobiasNx Aug 19, 2024
72f9f0c
Fix syntax error
TobiasNx Aug 19, 2024
517869a
Reuse gnd elements and delete duplicates
TobiasNx Aug 19, 2024
42280eb
Delete unneeded imports
TobiasNx Aug 19, 2024
8edc7ac
Update test to inlude hbztags
TobiasNx Aug 19, 2024
c79937a
Add hbz tag category
Phu2 Aug 20, 2024
06d732b
Correct number of local (sub)fields reported in build log
Phu2 Aug 20, 2024
a7eea66
Apply suggested changes by @pkiraly
TobiasNx Aug 21, 2024
75c2997
Add GKS
TobiasNx Aug 26, 2024
c4f9a83
Revert "Reuse gnd elements and delete duplicates"
TobiasNx Aug 26, 2024
250bda7
Adjust package definition
TobiasNx Aug 26, 2024
550482f
Replace Pica Fields with Marc Fields for GND Enrichment
TobiasNx Aug 27, 2024
acac8a3
Add Subfields to HXX Holding Elements
TobiasNx Aug 27, 2024
6ad6e51
Delete unnecessary import
TobiasNx Aug 27, 2024
a9e1ed7
Merge remote-tracking branch 'origin/main' into createAdditionalField…
TobiasNx Aug 27, 2024
05906fb
Reuse DNB Elements via script
TobiasNx Aug 27, 2024
6e973dc
Update tests
TobiasNx Aug 27, 2024
22ea0ac
Add indicator definitions
TobiasNx Aug 27, 2024
43796aa
Update tests
TobiasNx Aug 27, 2024
6844b64
Update tests
TobiasNx Aug 27, 2024
26db3e9
Update tests
TobiasNx Aug 27, 2024
854371f
Update marcVersion in hbz catalogue
Phu2 Aug 28, 2024
d00a10a
Add hbz-update catalogue
Phu2 Aug 28, 2024
1a1ae9d
Delete wrong library imports
TobiasNx Aug 28, 2024
2d2f620
Change tab to space in setSubfieldsWithCardinality
TobiasNx Aug 28, 2024
4e2ca8a
Update and add NZ hbz local fields
TobiasNx Aug 28, 2024
bbe5120
Add local fields / IZ 980 - 991
TobiasNx Aug 28, 2024
52ad6b2
Fix syntax errors
TobiasNx Aug 29, 2024
b98d469
Add local fields / IZ 992 - 998
TobiasNx Aug 29, 2024
324d1f7
Update tests
TobiasNx Aug 29, 2024
edf1336
Upcase mqTag's
TobiasNx Aug 29, 2024
d9454bf
Update tests
TobiasNx Aug 29, 2024
da9e411
Update tests
TobiasNx Aug 29, 2024
3a16a6a
Delete outcommenting of descriptionUrl
TobiasNx Aug 29, 2024
164031d
Add $8 to HOL and HXX elements
TobiasNx Aug 29, 2024
fcaa7ad
Adjust Cardinality
TobiasNx Aug 29, 2024
f9c064e
Add $8 to POR
TobiasNx Aug 29, 2024
f367430
Add indicators for H66
TobiasNx Aug 29, 2024
67714b6
Fix broken tag classes
TobiasNx Aug 29, 2024
81e7a91
Update tests
TobiasNx Aug 29, 2024
d971b93
Add $B to all elements that can have GND enrichment links
TobiasNx Aug 30, 2024
f10ccc7
Update tests
TobiasNx Aug 30, 2024
f478ac5
Add $9 to some elements
TobiasNx Aug 30, 2024
942a099
Update tests
TobiasNx Aug 30, 2024
35aaf5a
Add DNB Elements
TobiasNx Sep 2, 2024
b0c5846
Update tests
TobiasNx Sep 2, 2024
482091b
Update some element specification
TobiasNx Sep 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions catalogues/hbz-update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env bash

. ./setdir.sh

NAME=hbz-update
TYPE=xml
if [[ $TYPE == "marc" ]]; then
echo "marc"
TYPE_PARAMS="--marcVersion HBZ --fixAlma"
MARC_DIR=${BASE_INPUT_DIR}/${NAME}/marc
MASK=*.mrc
elif [[ $TYPE == "xml" ]]; then
echo "xml"
TYPE_PARAMS="--marcVersion DNB,HBZ --marcxml --fixAlma"
MARC_DIR=${BASE_INPUT_DIR}/${NAME}/marc
MASK=*.gz
else
echo "else: ${TYPE}"
fi

. ./common-script
2 changes: 1 addition & 1 deletion catalogues/hbz.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if [[ $TYPE == "marc" ]]; then
MASK=*.mrc
elif [[ $TYPE == "xml" ]]; then
echo "xml"
TYPE_PARAMS="--marcVersion MARC21 --marcxml --fixAlma"
TYPE_PARAMS="--marcVersion DNB,HBZ --marcxml --fixAlma"
MARC_DIR=${BASE_INPUT_DIR}/${NAME}/marc
MASK=*.gz
else
Expand Down
1 change: 1 addition & 0 deletions src/main/java/de/gwdg/metadataqa/marc/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ public static MarcVersion package2version(String packageName) {
case "dnbtags": version = MarcVersion.DNB; break;
case "fennicatags": version = MarcVersion.FENNICA; break;
case "genttags": version = MarcVersion.GENT; break;
case "hbztags": version = MarcVersion.HBZ; break;
case "oclctags": version = MarcVersion.OCLC; break;
case "sztetags": version = MarcVersion.SZTE; break;
case "nkcrtags": version = MarcVersion.NKCR; break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ public enum MarcVersion {
B3KAT( "B3KAT", "B3Kat union catalogue of Bibliotheksverbundes Bayern (BVB) and Kooperativen Bibliotheksverbundes Berlin-Brandenburg (KOBV)"),
KBR( "KBR", "KBR"),
ZB( "ZB", "Zentralbibliothek Zürich"),
OGYK( "OGYK", "Országygyűlési Könyvtár, Budapest");
OGYK( "OGYK", "Országygyűlési Könyvtár, Budapest"),
HBZ( "HBZ", "Hochschulbibliothekszentrum des Landes Nordrhein-Westfalen (hbz)");

String code;
String label;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public enum TagCategory {
KBR(23, "kbrtags", "KBR", "Locally defined tags of the Royal Library of Belgium", false),
ZB(24, "zbtags", "ZB", "Locally defined tags of the Zentralbibliothek Zürich", false),
OGYK(25, "ogyktags", "OGYK", "Locally defined tags of the Országygyűlési Könyvtár, Budapest", false),
HBZ(26, "hbztags", "HBZ", "Locally defined tags of North Rhine-Westphalian Library Service Centre, Cologne", false),

// PICA
PICA_0(50, "pica0", "0...", "PICA+ bibliographic description", false),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package de.gwdg.metadataqa.marc.definition.tags.hbztags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.Indicator;

/**
* Weitere internationale Standardnummer(n) für fortlaufende Sammelwerke (ISSN)
*/
public class Tag029 extends DataFieldDefinition {

private static Tag029 uniqueInstance;

private Tag029() {
initialize();
postCreation();
}

public static Tag029 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag029();
return uniqueInstance;
}

private void initialize() {
tag = "029";
label = "Weitere internationale Standardnummer(n) für fortlaufende Sammelwerke (ISSN)";
mqTag = "WeitereinternationaleStandardnummernfürfortlaufendeSammelwerkeISSN";
cardinality = Cardinality.Repeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446";

ind1 = new Indicator();
ind2 = new Indicator();

setSubfieldsWithCardinality(
"a", "Autorisierte ISSN", "NR",
"b", "ISSN der Ausgabe auf Datenträger", "NR",
"c", "ISSN der Internetausgabe", "NR",
"d", "ISSN der Druckausgabe", "NR"
);


}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package de.gwdg.metadataqa.marc.definition.tags.hbztags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.Indicator;

/**
* Dewey Decimal Classification Number (analytisch)
*/
public class Tag089 extends DataFieldDefinition {

private static Tag089 uniqueInstance;

private Tag089() {
initialize();
postCreation();
}

public static Tag089 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag089();
return uniqueInstance;
}

private void initialize() {
tag = "089";
label = "Dewey Decimal Classification Number (analytisch)";
mqTag = "DeweyDecimalClassificationNumberAnalytisch";
cardinality = Cardinality.Repeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446";

ind1 = new Indicator("Ausgabe")
.setCodes(
" ", "empty",
"0", "Vollversion",
"1", "Kurzausgabe"
)
.setMqTag("ausgabe");

ind2 = new Indicator("Nicht erstellt von LC")
.setCodes(
" ", "empty",
"4", "Erstellt nicht von LC"
)
.setMqTag("nichtVonLCERstellt");

setSubfieldsWithCardinality(
"a", "Vollständige Notation", "NR",
"b", "Exemplarnummer (Item number)", "NR",
"c", "Grundnotation", "NR",
"d", "Notationen anderer Haupttafeln", "R",
"e", "Angabe der zugrunde liegenden DDC-Ausgabe", "NR",
"f", "Notation aus Hilfstafel 1", "R",
"g", "Notation aus Hilfstafel 2", "R",
"h", "Notation aus Hilfstafel 3A", "R",
"i", "Notation aus Hilfstafel 3B", "R",
"j", "Notation aus Hilfstafel 3C", "R",
"k", "Notation aus Hilfstafel 4", "R",
"l", "Notation aus Hilfstafel 5", "R",
"m", "Notation aus Hilfstafel 6", "R",
"t", "Notation aus einer Anhaengetafel", "R",
"t", "Quelle der vergebenen Notation", "R"
);


}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package de.gwdg.metadataqa.marc.definition.tags.hbztags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.Indicator;

/**
* Weitere Codierungen
*/
public class Tag090 extends DataFieldDefinition {

private static Tag090 uniqueInstance;

private Tag090() {
initialize();
postCreation();
}

public static Tag090 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag090();
return uniqueInstance;
}

private void initialize() {
tag = "090";
label = "Weitere Codierungen";
mqTag = "WeitereCodierungen";
cardinality = Cardinality.Nonrepeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446";

ind1 = new Indicator();
ind2 = new Indicator();

setSubfieldsWithCardinality(
"a", "Papierzustand", "R",
"b", "Audiovisuelles Medium / Bildliche Darstellung", "R",
"f", "Erscheinungsform", "R",
"g", "Veröffentlichungsart und Inhalt Mono", "R",
"h", "Literaturtyp", "R",
"i", "Angaben zur Freiwilligen Selbstkontrolle der Filmwirtschaft (FSK)", "R",
"n", "Veröffentlichungsart und Inhalt (ZDB)", "R",
"o", "Frühere Erscheinungsform", "R",
"v", "Nachlassmaterialien", "R",
"w", "Authentizitätsgrad", "R"
);


}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package de.gwdg.metadataqa.marc.definition.tags.hbztags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.Indicator;

/**
* Weitere Titel etc. bei Zusammenstellungen (Abweichend zur DNB)
* https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446
* DNB: http://swbtools.bsz-bw.de/cgi-bin/help.pl?cmd=kat&val=4010
*/
public class Tag249 extends DataFieldDefinition {

private static Tag249 uniqueInstance;

private Tag249() {
initialize();
postCreation();
}

public static Tag249 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag249();
return uniqueInstance;
}

private void initialize() {
tag = "249";
label = "Weitere Titel etc. bei Zusammenstellungen";
mqTag = "WeitereTitel";
cardinality = Cardinality.Nonrepeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446";

ind1 = new Indicator();
ind2 = new Indicator();

setSubfieldsWithCardinality(
"a", "Weiterer Titel bei Zusammenstellungen", "R",
"b", "Titelzusätze zur gesamten Zusammenstellung", "NR",
"c", "Verantwortlichkeitsangabe zur gesamten Zusammenstellung", "NR",
"v", "Verantwortlichkeitsangabe zum weiteren Titel", "R"
);

getSubfield("a")
.setMqTag("rdf:value");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package de.gwdg.metadataqa.marc.definition.tags.hbztags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.Indicator;

/**
* Ausgabebezeichnung in normierter Form
* http://swbtools.bsz-bw.de/cgi-bin/help.pl?cmd=kat&val=4010
*/
public class Tag259 extends DataFieldDefinition {

private static Tag259 uniqueInstance;

private Tag259() {
initialize();
postCreation();
}

public static Tag259 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag259();
return uniqueInstance;
}

private void initialize() {
tag = "259";
label = "Ausgabebezeichnung in normierter Form";
mqTag = "WeitereTitel";
cardinality = Cardinality.Nonrepeatable;
// descriptionUrl = "http://swbtools.bsz-bw.de/cgi-bin/help.pl?cmd=kat&val=4010";

ind1 = new Indicator();
ind2 = new Indicator();

setSubfieldsWithCardinality(
"a", "Ausgabebezeichnung in normierter Form", "R"
);

getSubfield("a")
.setMqTag("rdf:value");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package de.gwdg.metadataqa.marc.definition.tags.hbztags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.Indicator;

/**
* Angabe zum Text der Unterlage
* https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446
*/
public class Tag290 extends DataFieldDefinition {

private static Tag290 uniqueInstance;

private Tag290() {
initialize();
postCreation();
}

public static Tag290 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag290();
return uniqueInstance;
}

private void initialize() {
tag = "290";
label = "Angabe zum Text der Unterlage";
mqTag = "AngabeZumTextDerUnterlage";
cardinality = Cardinality.Nonrepeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446";

ind1 = new Indicator();
ind2 = new Indicator();

setSubfieldsWithCardinality(
"a", "Incipit der Unterlage", "R",
"b", "Einheitsincipit", "R",
"c", "Ausreifung / Entstehungsstufe", "R"
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package de.gwdg.metadataqa.marc.definition.tags.hbztags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.Indicator;

/**
* Redaktionelle Bemerkungen
*/
public class Tag591 extends DataFieldDefinition {

private static Tag591 uniqueInstance;

private Tag591() {
initialize();
postCreation();
}

public static Tag591 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag591();
return uniqueInstance;
}

private void initialize() {
tag = "591";
label = "Redaktionelle Bemerkungen";
mqTag = "RedaktionelleBemerkungen";
cardinality = Cardinality.Repeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=525369446";

ind1 = new Indicator();
ind2 = new Indicator();

setSubfieldsWithCardinality(
"a", "Redaktionelle Bemerkungen", "R"
);

}
}
Loading
Loading