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 15 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
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,102 @@
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;

/**
* Selektionskennzeichen NZ
*/
public class Tag960 extends DataFieldDefinition {

private static Tag960 uniqueInstance;

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

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

private void initialize() {
tag = "960";
label = "Selektionskennzeichen NZ";
mqTag = "SelektionskennzeichenNZ";
cardinality = Cardinality.Repeatable;
// descriptionUrl = "https://service-wiki.hbz-nrw.de/nebenbei/cgi/anonymous_display_only.pl?pageId=706314428";

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

setSubfieldsWithCardinality(
"b", "bibliographische Sachverhalte", "R",
"d", "lizenzfreie Online-Dissertationen", "R",
"f", "fremdsprachige Titel", "R",
"i", "Internet-Ressourcen", "R",
"n", "Nordrhein-Westfälische Bibliographie", "R",
"o", "Offline-Datenübernahmen", "R",
"r", "frei definierbare Selektionskennzeichen für Bibliotheken", "R",
"s", "Sammlung E-Paper (DNB-Codierung ep)", "R",
"u", "Lizenzhistorie EBooks:Produktsigel", "R",
"v", "Lizenzhistorie EBooks: Lizenzjahr (NW)", "R",
"w", "Lizenzhistorie EBooks: Datum Aufbau des Feldes Lizenzhistorie Books", "R",
"z", "SelektionskennzeichenZDB", "R"
);

getSubfield("b").setCodes(
"bestellt", "Bestellaufnahme",
"AAD", "Alter Druck",
"Handschrift", "Handschrift",
"Inkunabel", "Inkunabel",
"vd18print", "Projekt VD 18",
"vd18red", "Projekt VD18",
"ixtheo", "Index Theologie",
"Mindestkatalogisat", "Katalogisat im Mindeststandard",
"moj", "Musikalien ohne Jahr",
"roj", "Retro-Aufnahme ohne Jahr",
"Schulprogramm", "Schulprogramm",
"Theaterzettel", "Theaterzettel"
);

getSubfield("d").setCodes(
"lzDiss", "lizenzfreie Online-Dissertation"
);

getSubfield("f").setCodes(
"ara", "arabisch (mit Orig.schr.)",
"arab", "arabisch",
"arm", "armenisch (Orig.-schrift)",
"geo", "georgisch (Orig.-schrift)",
"griech", "alt- und neugriechisch (mit Orig.schr.)",
"heb", "hebräisch (mit Orig.schr.)",
"hebr", "hebräisch (ohne Orig.schr.)",
"jid", "jiddisch",
"sla", "kyrillisch (mit Orig.schr.)",
"kyr", "kyrillisch (ohne Orig.schr.)",
"oas", "ostasiatisch",
"chin", "chinesisch (Orig.-schrift)",
"jap", "japanisch (Orig.-schrift)",
"korea", "koreanisch (Orig.-schrift)"
);

getSubfield("i").setCodes(
"iall", "Internet-Ressource allg.",
"OA", "Open Access"
);

getSubfield("n").setCodes(
"NWBib", "Nordrhein-westfälische Bibliographie",
"NWBib-Zeitschrift", "NWBib-Zeitschrift",
"prov", "provisor. Aufn. f. NWBib"
);

getSubfield("o").setCodes(
"bdf", "Bibliothek der Frauenfrage in Deutschland"
);

}
}
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;

/**
* Sonstige Standardnummer
*/
public class Tag961 extends DataFieldDefinition {

private static Tag961 uniqueInstance;

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

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

private void initialize() {
tag = "961";
label = "Sonstige Standardnummer";
mqTag = "SonstigeStandardnummer";
cardinality = Cardinality.Repeatable;
// descriptionUrl = "https://service-wiki.hbz-nrw.de/nebenbei/cgi/anonymous_display_only.pl?pageId=717357250";

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

setSubfieldsWithCardinality(
"a", "Sonstige Standardnummer", "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;

/**
* Selektionskennzeichen EBooks, Digitalisate
*/
public class Tag962 extends DataFieldDefinition {

private static Tag962 uniqueInstance;

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

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

private void initialize() {
tag = "962";
label = "Selektionskennzeichen EBooks, Digitalisate";
mqTag = "SelektionskennzeichenEBooksDigitalisate";
cardinality = Cardinality.Nonrepeatable;
// descriptionUrl = "https://service-wiki.hbz-nrw.de/display/VDBE/962+-+Selektionskennzeichen+EBooks%2C+Digitalisate";

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

setSubfieldsWithCardinality(
"e", "Selektionskennzeichen EBooks, Digitalisate", "R"
);

}
}
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;

/**
* In Aleph benötigte Informationen (Wickelfeld)
*/
public class Tag964 extends DataFieldDefinition {

private static Tag964 uniqueInstance;

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

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

private void initialize() {
tag = "964";
label = "In Aleph benötigte Informationen (Wickelfeld)";
mqTag = "InAlephbenötigteInformationenWickelfeld";
cardinality = Cardinality.Nonrepeatable;
// descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=724304028";

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

setSubfieldsWithCardinality(
"A", "A", "R",
"F", "F", "R",
"V", "V", "R"
);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
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;

/**
* Uniform Title (GEL) from ALMA Publishing GND Authority Enrichment
* https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=949911658 based on PICA+ Version of https://wiki.dnb.de/pages/viewpage.action?pageId=50759357&preview=/50759357/167033591/430.pdf
*/
public class TagGEL extends DataFieldDefinition {

private static TagGEL uniqueInstance;

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

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

private void initialize() {
tag = "GEL";
label = "Uniform Title (GEL) - GND 430";
mqTag = "GNDUniformTitle";
cardinality = Cardinality.Repeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=949911658";

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

setSubfieldsWithCardinality(
"4", "GND-Code für Beziehungen", "NR",
"5", "Institution (ISIL), die Feld in besonderer Art verwendet", "R",
"a", "Titel eines Werks", "NR",
"f", "Datum", "NR",
"g", "Zusatz", "R",
"h", "Inhaltstyp", "R",
"l", "Sprache der Expression", "R",
"L", "Sprachencode", "NR",
"m", "Besetzung im Musikbereich", "NR",
"n", "Zählung eines Teils/einer Abteilung eines Werks", "R",
"o", "Angaben des Musikarrangements", "NR",
"p", "Titel eines Teils/einer Abteilung eines Werks", "R",
"r", "Tonart", "NR",
"s", "Version", "NR",
"v", "Bemerkungen, Regelwerk", "R",
"x", "Allgemeine Unterteilung (temporär durch Migration)", "R",
"T", "Feldzuordnung bei nicht-lateinischen Schriftzeichen", "NR",
"U", "Schriftcode bei nicht-lateinischen Schriftzeichen", "NR",
"A", "Vocabulary subfield", "R",
"B", "Authority ID subfield", "R",
"C", "Authority tag subfield","R"
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
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;

/**
* Geographic Name(GGN) from ALMA Publishing GND Authority Enrichment
* https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=949911658 based on PICA+ Version of https://wiki.dnb.de/pages/viewpage.action?pageId=50759357&preview=/50759357/100664311/451.pdf
*/
public class TagGGN extends DataFieldDefinition {

private static TagGGN uniqueInstance;

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

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

private void initialize() {
tag = "GGN";
label = "Geographic Name (GGN) - GND 451";
mqTag = "GNDGeographicName";
cardinality = Cardinality.Repeatable;
descriptionUrl = "https://service-wiki.hbz-nrw.de/pages/viewpage.action?pageId=949911658";

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

setSubfieldsWithCardinality(
"4", "GND-Code für Beziehungen", "NR",
"5", "Institution (ISIL), die Feld in besonderer Art verwendet", "R",
"a", "Geografikum", "NR",
"g", "Zusatz", "R",
"L", "Sprachencode", "NR",
"v", "Bemerkungen, Regelwerk", "R",
"x", "Allgemeine Unterteilung (temporär durch Migration)", "R",
"z", "Geografische Untergliederung", "R",
"T", "Feldzuordnung bei nicht-lateinischen Schriftzeichen", "NR",
"U", "Schriftcode bei nicht-lateinischen Schriftzeichen", "NR",
"A", "Vocabulary subfield", "R",
"B", "Authority ID subfield", "R",
"C", "Authority tag subfield","R"
);
}
}
Loading
Loading