diff --git a/import-marc-solr4.sh b/import-marc-solr4.sh new file mode 100755 index 0000000000000000000000000000000000000000..9ab01f656786681a8f628e2908c6c103f89d89f5 --- /dev/null +++ b/import-marc-solr4.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# $Id: index_file.sh 17 2008-06-20 14:40:13Z wayne.graham $ +# +# Bash script to start the import of a binary marc file for Solr indexing. + +if [ "$1" = "" ] +then + echo "Aufruf mit import-marc-solr4.sh <mrc-Datei> [optional: <solrcore> <alternative import.propertie-datei>]" + echo "Breche ab." + exit 1 +fi + +VUFIND_HOME_SOLR4="/usr/local/vufind2" +INDEX_OPTIONS='-d64 -Xms4096m -Xmx4096m -XX:+UseParallelGC -XX:+AggressiveOpts' +JAVA="java" +JAR_FILE="$VUFIND_HOME_SOLR4/import/SolrMarc.jar" + +SOLR4_HOME="$VUFIND_HOME_SOLR4/solr" +SOLR4MARC_HOME="$VUFIND_HOME_SOLR4/import" +SOLR4_JAR_DEF="-Dsolrmarc.solr.war.path=$VUFIND_HOME_SOLR4/solr/jetty/webapps/solr.war" + +export $VUFIND_HOME_SOLR4 + +if [ "$2" = "" ] +then + SOLR4CORE="biblio" +else + SOLR4CORE=$2 +fi + +if [ "$3" = "" ] +then + PROPERTIES_FILE="$VUFIND_HOME_SOLR4/import/import.properties" +else + PROPERTIES_FILE=$3 +fi + +ulimit -n 65535 + +pushd $SOLR4_HOME +RUN_CMD="$JAVA $INDEX_OPTIONS $SOLR4_JAR_DEF -Dsolr.core.name=$SOLR4CORE -Dsolrmarc.path=$SOLR4MARC_HOME -Dsolr.path=$SOLR4_HOME -Dsolr.solr.home=$SOLR4_HOME $EXTRA_SOLRMARC_SETTINGS -jar $JAR_FILE $PROPERTIES_FILE $1" + +echo "Now Importing $1 ..." +$RUN_CMD +popd + +exit 0 diff --git a/import/index_scripts/accessInf.bsh b/import/index_scripts/accessInf.bsh new file mode 100644 index 0000000000000000000000000000000000000000..0eb06fa8f83fa58b727415282a3c985f5aecd4fd --- /dev/null +++ b/import/index_scripts/accessInf.bsh @@ -0,0 +1,630 @@ +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Leander Seige + * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +static final Logger logger = Logger.getLogger("de.ubl.import.accessInf"); +static final HashMap quocosaMap = new HashMap(){{ + put( "article" , "ElectronicArticle" ); + put( "bachelorthesis" , "ElectronicThesis" ); + put( "book" , "eBook" ); + put( "bookpart" , "ElectronicArticle" ); + put( "conferenceobject" , "ElectronicArticle" ); + put( "doctoralthesis" , "ElectronicThesis" ); + put( "lecture" , "ElectronicArticle" ); + put( "masterthesis" , "ElectronicThesis" ); + put( "musicalnotation" , "ElectronicMusicalScore" ); + put( "other" , "ElectronicResourceRemoteAccess" ); + put( "periodical" , "ElectronicJournal" ); + put( "periodicalpart" , "ElectronicArticle" ); + put( "preprint" , "ElectronicArticle" ); + put( "report" , "eBook" ); + put( "studythesis" , "ElectronicThesis" ); + put( "workingpaper" , "ElectronicArticle" ); +}}; +// Ticket #2061 +// List of source id's +static final HashSet erSet = new HashSet() {{ + add("16"); + add("17"); + add("18"); + add("19"); +}}; + +public Set getAccessInfOld( Record record ) { + + Set result = new LinkedHashSet(); + + String source_id = indexer.getFirstFieldVal(record, "980b"); + + // check the 007 - this is a repeating field + List fields = record.getVariableFields("007"); + Iterator fieldsIter = fields.iterator(); + if (fields != null) { + ControlField formatField; + while(fieldsIter.hasNext()) { + formatField = (ControlField) fieldsIter.next(); + formatCode = formatField.getData().toUpperCase().charAt(0); + switch (formatCode) { + case 'A': + switch(formatField.getData().toUpperCase().charAt(1)) { + case 'D': + result.add("Atlas"); + break; + default: + result.add("Map"); + break; + } + break; + case 'C': + switch(formatField.getData().toUpperCase().charAt(1)) { + case 'A': + result.add("TapeCartridge"); + break; + case 'B': + result.add("ChipCartridge"); + break; + case 'C': + result.add("DiscCartridge"); + break; + case 'F': + result.add("TapeCassette"); + break; + case 'H': + result.add("TapeReel"); + break; + case 'J': + result.add("FloppyDisk"); + break; + case 'M': + case 'O': + result.add("CDROM"); + break; + case 'R': + // Do not return - this will cause anything with an + // 856 field to be labeled as "Electronic" + break; + default: + result.add("Software"); + break; + } + break; + case 'D': + result.add("Globe"); + break; + case 'F': + result.add("Braille"); + break; + case 'G': + switch(formatField.getData().toUpperCase().charAt(1)) { + case 'C': + case 'D': + result.add("Filmstrip"); + break; + case 'T': + result.add("Transparency"); + break; + default: + result.add("Slide"); + break; + } + break; + case 'H': + result.add("Microfilm"); + break; + case 'K': + switch(formatField.getData().toUpperCase().charAt(1)) { + case 'C': + result.add("Collage"); + break; + case 'D': + result.add("Drawing"); + break; + case 'E': + result.add("Painting"); + break; + case 'F': + result.add("Print"); + break; + case 'G': + result.add("Photonegative"); + break; + case 'J': + result.add("Print"); + break; + case 'L': + result.add("Drawing"); + break; + case 'O': + result.add("FlashCard"); + break; + case 'N': + result.add("Chart"); + break; + default: + result.add("Photo"); + break; + } + break; + case 'M': + switch(formatField.getData().toUpperCase().charAt(1)) { + case 'F': + result.add("VideoCassette"); + break; + case 'R': + result.add("Filmstrip"); + break; + default: + result.add("MotionPicture"); + break; + } + break; + case 'O': + result.add("Kit"); + break; + case 'Q': + result.add("MusicalScore"); + break; + case 'R': + result.add("SensorImage"); + break; + case 'S': + switch(formatField.getData().toUpperCase().charAt(1)) { + case 'D': + result.add("SoundDisc"); + break; + case 'S': + result.add("SoundCassette"); + break; + default: + result.add("SoundRecording"); + break; + } + break; + case 'V': + switch(formatField.getData().toUpperCase().charAt(1)) { + case 'C': + result.add("VideoCartridge"); + break; + case 'D': + result.add("VideoDisc"); + break; + case 'F': + result.add("VideoCassette"); + break; + case 'R': + result.add("VideoReel"); + break; + default: + result.add("Video"); + break; + } + break; + } + } + } + if (!result.isEmpty()) return result; + + // check the Leader at position 6 + String leader = record.getLeader().toString(); + char leaderBit = leader.charAt(6); + switch (Character.toUpperCase(leaderBit)) { + case 'C': + case 'D': + result.add("MusicalScore"); + break; + case 'E': + case 'F': + result.add("Map"); + break; + case 'G': + result.add("Slide"); + break; + case 'I': + result.add("SoundRecording"); + break; + case 'J': + result.add("MusicRecording"); + break; + case 'K': + result.add("Photo"); + break; + case 'M': + result.add("Electronic"); + break; + case 'O': + case 'P': + result.add("Kit"); + break; + case 'R': + result.add("PhysicalObject"); + break; + case 'T': + result.add("Manuscript"); + break; + } + if (!result.isEmpty()) return result; + + ControlField fixedField = (ControlField) record.getVariableField("008"); + // check the Leader at position 7 + leaderBit = leader.charAt(7); + switch (Character.toUpperCase(leaderBit)) { + // Monograph + case 'M': + if (formatCode == 'C') { + result.add("eBook"); + } else { + result.add("Book"); + } + break; + // Serial + case 'S': + // Look in 008 to determine what type of Continuing Resource + formatCode = fixedField.getData().toUpperCase().charAt(21); + switch (formatCode) { + case 'N': + result.add("Newspaper"); + break; + case 'P': + result.add("Journal"); + break; + default: + result.add("Serial"); + break; + } + } + + // Nothing worked! + if ( result.isEmpty() ) { + result.add("Unknown"); + } + + return result; +} + +public Set getAccessInf( Record record ) { + + logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on + + Set result = new LinkedHashSet(); + + String source_id = indexer.getFirstFieldVal(record, "980b"); + + // Ticket #2061 + if( erSet.contains( source_id ) ) { + result.add( "Electronic" ); + return result; + } + + // Source Id '008' wird wie Source Id '000' behandelt + + if (source_id.equals("3")) { // um NEP Facette erweitern + result.add("NewPublications"); + logger.info( "access: 3 New Pub.."); + return result; + } else if(source_id.equals("4")) { // um PDA erweitern + result.add("Electronic"); + logger.info( "access: 4 Elec.. Res.."); + return result; + } else if(source_id.equals("6")) { // Alle Datensätze mit 006 in Feld 980 b werden als ElectronicResources gekennzeichnet. #652 + result.add("Electronic"); + logger.info( "access: 6 Elec.. Res.."); + return result; + } else if(source_id.equals("7")) { // HMT # PAO # Anpassung von format.bsh und accessInf.bsh für die Indexierung #655 + result.add("Electronic"); + logger.info( "access: 7 Elec.. Res.."); + return result; + } else if(source_id.equals("8")) { // HMT # LFER # Anpassung von format.bsh und accessInf.bsh für die Indexierung #658 + result.add("Electronic"); + logger.info( "access: 8 Elec.. Res.."); + return result; + } else if(source_id.equals("9")) { // HMT # Early Music Online # Anpassung von format.bsh und accessInf.bsh für die Indexierung #664 + result.add("Electronic"); + logger.info( "access: 9 Elec.. Res.."); + return result; + } else if(source_id.equals("10")) { // MTC # Early Music Online # Anpassung von format.bsh und accessInf.bsh für die Indexierung #664 + result.add("Electronic"); + logger.info( "access: 10 Elec.. Res.." ); + return result; + } else if(source_id.equals("15")) { // IMSLP # 015 + result.add("Electronic"); + logger.info( "access: 15 Elec.. Res.."); + return result; + } else if(source_id.equals("20")) { // GALLICA Ticket #1258 und NEU #1574 + result.add("ElectronicMusicalScore"); + logger.info( "access: 20 Elec.. Res.. GALLICA"); + return result; + } + + + String leader = record.getLeader().toString(); + char leaderBit; + ControlField fixedField = (ControlField) record.getVariableField("008"); + char formatCode = ' '; + + String val; + Subfield s; + + fs = record.getVariableFields("935"); + if (fs != null) { + fsI = fs.iterator(); + DataField hsf; + while (fsI.hasNext()) { + + hsf = (DataField) fsI.next(); + + Subfield bSubfield = hsf.getSubfield('b'); + + List ss = hsf.getSubfields('c'); + if (ss != null) { + Iterator ssI = ss.iterator(); + while (ssI.hasNext()) { + s = (Subfield) ssI.next(); + val = s.getData(); + if(val.contains("hs")) { + // Ticket #1055 + if( bSubfield != null && bSubfield.getData().contains("cofz")) { + result.add("Electronic"); + } + } + } + } + } + } + + // Ticket #1555 Qucosa + if( source_id.equals( "22" ) ) { + + List fields = record.getVariableFields( "500" ); + if (fields != null) { + Iterator fieldsIter = fields.iterator(); + while( fieldsIter.hasNext() ) { + DataField dataField = (DataField) fieldsIter.next(); + List subfields = dataField.getSubfields( 'a' ); + Iterator subfieldsIter = subfields.iterator(); + if( subfields != null ) { + if( subfieldsIter.hasNext() ) { + String data = subfieldsIter.next().getData().toLowerCase(); + String value = quocosaMap.get( data ); + if( value != null ) { + String record_id = indexer.getFirstFieldVal( record, "980a" ); + result.add( value ); + logger.info( "FOUND QUCOSA record_id => " + record_id + ", VALUE => " + value ); + return result; + } + } + } + } + } + } + + // Ticket #1496 #7 + if( source_id.equals( "9" ) || source_id.equals( "10" ) + || source_id.equals( "14" ) || source_id.equals( "15" ) ) { + result.add( "ElectronicMusicalScore" ); + return result; + } + + if(source_id.equals("12")) { // Ticket #595 + result.add("Electronic"); + logger.info( "format: 12 Elec.. Res.." ); + return result; + } + + if(source_id.equals("13")) { // Ticket #597 + result.add("Electronic"); + logger.info( "format: 13 Elec.. Res.." ); + return result; + } + + String leader = record.getLeader().toString(); + + if( source_id.equals( "0" ) || source_id.equals( "8" ) ) { + + // check the Leader at position 7 + // Distinguish serials, articles, monographs + leaderBit = leader.charAt(7); + + DataField field935 = (DataField) record.getVariableField("935"); + + Set f935b = new LinkedHashSet(); + Set f935c = new LinkedHashSet(); + + fs = record.getVariableFields("935"); + if (fs != null) { + fsI = fs.iterator(); + DataField hsf; + while (fsI.hasNext()) { + hsf = (DataField) fsI.next(); + List ss = hsf.getSubfields('c'); + if (ss != null) { + Iterator ssI = ss.iterator(); + while (ssI.hasNext()) { + s = (Subfield) ssI.next(); + val = s.getData(); + f935c.add(val); + } + } + ss = hsf.getSubfields('b'); + if (ss != null) { + Iterator ssI = ss.iterator(); + while (ssI.hasNext()) { + s = (Subfield) ssI.next(); + val = s.getData(); + f935b.add(val); + } + } + } + } + + char leaderBit7 = Character.toUpperCase(leaderBit); + if( leaderBit7 == 'S' ) { + // Serial + // Look in 008 to determine what type of Continuing Resource + ControlField fixedField800 = (ControlField) record.getVariableField("008"); + formatCode = fixedField800.getData().toUpperCase().charAt(21); + switch (formatCode) { + case 'N': + if( f935b.contains( "cofz" )) { + result.add( "ElectronicNewspaper" ); + } else { + result.add( "Newspaper" ); + } + break; + case 'P': + if( f935b.contains("cofz")) { + result.add("ElectronicJournal"); + } else if( f935b.contains( "soerd" )) { + result.add( "ElectronicResourceDataCarrier" ); + } else { + result.add("Journal"); + } + break; + case 'M': + if( f935b.contains("cofz")) { + result.add( "ElectronicSerial" ); + } else { + result.add("Serial"); + } + break; + } + // Article + } else if( leaderBit7 == 'A') { + if( f935b.contains( "cofz" )) { + result.add( "ElectronicArticle" ); + } else { + result.add("Article"); + } + // Monograph + } else if( leaderBit7 == 'M' ) { + + if( f935c.contains( "hs" )) { + if( f935b.contains( "cofz" )) { + result.add( "ElectronicThesis" ); + } else { + result.add( "Thesis" ); + } + return result; + } else if( f935b.contains( "cofz" )) { + result.add( "eBook" ); + } else { + // Check 935c (PICA 1140) to identify notated music and maps + if( f935c.contains( "muno" )) { + result.add( "NotatedMusic" ); + } else if( f935c.contains( "kart" )) { + result.add( "Map" ); + // #1997 + if( f935b.contains("cofz") ) result.add( "ElectronicResourceRemoteAccess" ); + // Check 935b (PICA 1130) to identify all kinds of formats + } else if( f935b.contains( "arbtrans" )) { + result.add( "Transparency" ); + } else if( f935b.contains("cdda") ) { + result.add( "CD" ); + } else if( f935b.contains("crom") ) { + result.add( "CDROM" ); + } else if( f935b.contains("dias") ) { + result.add( "Slide" ); + } else if( f935b.contains("disk") ) { + result.add( "FloppyDisk" ); + } else if( f935b.contains("druck") ) { + result.add( "Book" ); + } else if( f935b.contains("dvda") ) { + result.add( "DVDAudio" ); + } else if( f935b.contains("dvdr") ) { + result.add( "DVDROM" ); + } else if( f935b.contains("dvdv") ) { + result.add( "DVDVideo" ); + } else if( f935b.contains("anfi") ) { + result.add( "AudioVisualMedia" ); + } else if( f935b.contains("foto") ) { + result.add( "Photo" ); + } else if( f935b.contains("handschr") ) { + result.add( "Manuscript" ); + } else if( f935b.contains("kunstbl") ) { + result.add( "ArtPrint" ); + } else if( f935b.contains("nachl") ) { + result.add( "Nachlass" ); + } else if( f935b.contains("plakat") ) { + result.add( "Placard" ); + } else if( f935b.contains("scha") ) { + result.add( "Record" ); + } else if( f935b.contains("soerd") ) { + result.add( "ElectronicResourceDataCarrier" ); + } else if( f935b.contains("sobildtt") ) { + result.add( "AudioVisualMedia" ); + } else if( f935b.contains("sott") ) { + result.add( "SoundRecordingMedium" ); + } else if( f935b.contains("tonbd") ) { + result.add( "AudioTape" ); + } else if( f935b.contains("tonks") ) { + result.add( "AudioTape" ); + } else if( f935b.contains("vika") ) { + result.add( "VideoTape" ); + } else if( f935b.contains("blindendr") ) { + result.add( "Braille" ); + } else if( f935b.contains("bray") ) { + result.add( "BluRayDisc" ); + } else if( f935b.contains("ckop") ) { + result.add( "Microfiche" ); + } else if( f935b.contains("cofz") ) { + result.add( "ElectronicResourceRemoteAccess" ); + } else if( f935b.contains("gegenst") ) { + result.add( "PhysicalObject" ); + } else if( f935b.contains("lkop") ) { + result.add( "Microfilm" ); + } else if( f935b.contains("skop") ) { + result.add( "Microform" ); + } else { + result.add( "Book" ); + } + } + } // 'S', 'A' und 'M' + + if (!result.isEmpty()) { + return result; + } + + // Check for Combination of Media (Kit) + // if 007 = zm return "Kit" break + ControlField fixedField700 = (ControlField) record.getVariableField("007"); + if( fixedField700 != null && fixedField700.equals( "zm")) { + result.add( "Kit" ); + } else if( leader.charAt(6) == 'o') { // if LDR[6] = o return "Kit" break + result.add( "Kit" ); + } + + } // source_id 0 or 8 + + if (!result.isEmpty()) { + return result; + } + + return getAccessInfOld( record ); +} diff --git a/import/index_scripts/attached_DE-15.bsh b/import/index_scripts/attached_DE-15.bsh new file mode 100644 index 0000000000000000000000000000000000000000..457b98457778e4d61ab2e23e8fc4c9b4976a8571 --- /dev/null +++ b/import/index_scripts/attached_DE-15.bsh @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2014 finc team, team@finc.info + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import java.util.logging.Level; +import java.util.logging.Logger; + +static final Logger logger = Logger.getLogger("de.ubl.import.attached_DE15"); +static final Set institutions = new LinkedHashSet(){{ + add( "DE-15" ); +}}; + +/* + * Ticket #2048 + */ +public String getAttached( Record record ) { + + logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on + + String result = ""; + String institution = indexer.getFirstFieldVal(record, "852a"); + if( institution != null && institutions.contains( institution ) ) { + String timestamp = indexer.getFirstFieldVal(record, "852z"); + if( timestamp != null ) result = timestamp; + } + return result; +} diff --git a/import/index_scripts/finc_class.bsh b/import/index_scripts/finc_class.bsh new file mode 100644 index 0000000000000000000000000000000000000000..e6eea4bef3af8dba1184c7c8518f16a9fdd126e7 --- /dev/null +++ b/import/index_scripts/finc_class.bsh @@ -0,0 +1,404 @@ +/* + * Copyright (C) 2012 finc team, team@finc.info + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author finc team + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.logging.Level; +import java.util.logging.Logger; + +static final Logger logger = Logger.getLogger("de.ubl.import.finc_class"); + +public Set getFincClass(Record record) { + + logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on + + Set result = new LinkedHashSet(); + String val; + Subfield s; + + HashMap rvk_sMap = new HashMap(); + HashMap ddc_sMap = new HashMap(); + HashMap bic_sMap = new HashMap(); + HashMap rvk_rMap = new HashMap(); + HashMap ddc_rMap = new HashMap(); + HashMap bic_rMap = new HashMap(); + + // sMap.put("1","A[A-Z] [0-9]+.*"); + // rMap.put("1","Allgemeines"); + + // RVK + rvk_sMap.put("0", "A[A-Z] [0-9]+.*"); + rvk_rMap.put("0", "Allgemeines"); + rvk_sMap.put("1", "B[A-Z] [0-9]+.*"); + rvk_rMap.put("1", "Theologie und Religionswissenschaft"); + rvk_sMap.put("2", "C[A-I] [0-9]+.*"); + rvk_rMap.put("2", "Philosophie"); + rvk_sMap.put("3", "C[L-Z] [0-9]+.*"); + rvk_rMap.put("3", "Psychologie"); + rvk_sMap.put("4", "D[A-Z] [0-9]+.*"); + rvk_rMap.put("4", "Pädagogik"); + rvk_sMap.put("5", "E[A-Z] [0-9]+.*"); + rvk_rMap.put("5", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); + rvk_sMap.put("6", "G[A-Z] [0-9]+.*"); + rvk_rMap.put("6", "Germanistik, Niederlandistik, Skandinavistik"); + rvk_sMap.put("7", "H[A-Z] [0-9]+.*"); + rvk_rMap.put("7", "Anglistik, Amerikanistik"); + rvk_sMap.put("8", "I[A-Z] [0-9]+.*"); + rvk_rMap.put("8", "Romanistik"); + rvk_sMap.put("9", "K[A-Z] [0-9]+.*"); + rvk_rMap.put("9", "Slawistik"); + rvk_sMap.put("10", "L[A-C] [0-9]+.*"); + rvk_rMap.put("10", "Ethnologie (Volks- und Völkerkunde)"); + rvk_sMap.put("11", "(LD [1-2][0-9]+)|(L[E-G] [0-9]+).*"); + rvk_rMap.put("11", "Klassische Archäologie"); + rvk_sMap.put("12", "(LD [3-7][0-9]+)|(L[H-O] [0-9]+).*"); + rvk_rMap.put("12", "Kunst und Kunstgeschichte"); + rvk_sMap.put("13", "(LD [8-9][0-9]+)|(L[P-Y] [0-9]+).*"); + rvk_rMap.put("13", "Musikwissenschaft"); + rvk_sMap.put("14", "M[A-L] [0-9]+.*"); + rvk_rMap.put("14", "Politologie"); + rvk_sMap.put("15", "M[N-W] [0-9]+.*"); + rvk_rMap.put("15", "Soziologie"); + rvk_sMap.put("16", "M[X-Z] [0-9]+.*"); + rvk_rMap.put("16", "Militärwissenschaft"); + rvk_sMap.put("17", "N[A-Z] [0-9]+.*"); + rvk_rMap.put("17", "Geschichte"); + rvk_sMap.put("18", "P[A-Z] [0-9]+.*"); + rvk_rMap.put("18", "Rechtswissenschaft"); + rvk_sMap.put("19", "Q[A-Z] [0-9]+.*"); + rvk_rMap.put("19", "Wirtschaftswissenschaften"); + rvk_sMap.put("20", "R[A-Z] [0-9]+.*"); + rvk_rMap.put("20", "Geographie"); + rvk_sMap.put("21", "S[A-P] [0-9]+.*"); + rvk_rMap.put("21", "Mathematik"); + rvk_sMap.put("22", "S[Q-U] [0-9]+.*"); + rvk_rMap.put("22", "Informatik"); + rvk_sMap.put("23", "T[A-D] [0-9]+.*"); + rvk_rMap.put("23", "Allgemeine Naturwissenschaft"); + rvk_sMap.put("24", "T[E-Z] [0-9]+.*"); + rvk_rMap.put("24", "Geologie und Paläontologie"); + rvk_sMap.put("25", "U[A-Z] [0-9]+.*"); + rvk_rMap.put("25", "Physik"); + rvk_sMap.put("26", "V[A-Z] [0-9]+.*"); + rvk_rMap.put("26", "Chemie und Pharmazie"); + rvk_sMap.put("27", "W[A-Z] [0-9]+.*"); + rvk_rMap.put("27", "Biologie"); + rvk_sMap.put("28", "(W[W-Z]|X[A-Z]|Y[A-V]) [0-9]+.*"); + rvk_rMap.put("28", "Medizin"); + rvk_sMap.put("29", "Z[A-E] [0-9]+.*"); + rvk_rMap.put("29", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); + rvk_sMap.put("30", "Z[G-S] [0-9]+.*"); + rvk_rMap.put("30", "Technik"); + rvk_sMap.put("31", "Z[X-Y] [0-9]+.*"); + rvk_rMap.put("31", "Sport"); + rvk_sMap.put("32", "(F[BCEHNOPQTX] [0-9]+)|(FF [1-2][0-9]+).*"); + rvk_rMap.put("32", "Klassische Philologie"); + rvk_sMap.put("33", "(FK [0-9]+)|(FF [5-6][0-9]+).*"); + rvk_rMap.put("33", "Byzantinistik"); + rvk_sMap.put("34", "F[RUY] [0-9]+.*"); + rvk_rMap.put("34", "Mittellateinische Philologie"); + rvk_sMap.put("35", "(F[GL] [0-9]+)|(FD [1-2][0-9]+).*"); + rvk_rMap.put("35", "Neugriechische Philologie"); + rvk_sMap.put("36", "F[SVZ] [0-9]+.*"); + rvk_rMap.put("36", "Neulateinische Philologie"); + // DDC + ddc_sMap.put("37", "^0[1-35-9][0-9].*"); + ddc_rMap.put("37", "Allgemeines"); + ddc_sMap.put("38", "((^2[0-9]{2})|(^1[37][0-9])).*"); + ddc_rMap.put("38", "Theologie und Religionswissenschaft"); + ddc_sMap.put("39", "^((1[0-46-9])|21)[0-9].*"); + ddc_rMap.put("39", "Philosophie"); + ddc_sMap.put("40", "^1[35][0-9].*"); + ddc_rMap.put("40", "Psychologie"); + ddc_sMap.put("41", "^37[0-9].*"); + ddc_rMap.put("41", "Pädagogik"); + ddc_sMap.put("42", "^(4[019][0-9])|(8[09][0-9]).*"); + ddc_rMap.put("42", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); + ddc_sMap.put("43", "^(43[0-9])|(83[0-9]).*"); + ddc_rMap.put("43", "Germanistik, Niederlandistik, Skandinavistik"); + ddc_sMap.put("44", "^(42[0-9])|(8[12][0-9]).*"); + ddc_rMap.put("44", "Anglistik, Amerikanistik"); + ddc_sMap.put("45", "^(4[4-6][0-9])|(8[4-6][0-9]).*"); + ddc_rMap.put("45", "Romanistik"); + ddc_sMap.put("46", "^39[0-9].*"); + ddc_rMap.put("46", "Ethnologie (Volks- und Völkerkunde)"); + ddc_sMap.put("47", "^93[0-9].*"); + ddc_rMap.put("47", "Klassische Archäologie"); + ddc_sMap.put("48", "^7[0234-7][0-9].*"); + ddc_rMap.put("48", "Kunst und Kunstgeschichte"); + ddc_sMap.put("49", "^78[0-9].*"); + ddc_rMap.put("49", "Musikwissenschaft"); + ddc_sMap.put("50", "^32[0-9].*"); + ddc_rMap.put("50", "Politologie"); + ddc_sMap.put("51", "^3[0-367][0-9].*"); + ddc_rMap.put("51", "Soziologie"); + ddc_sMap.put("52", "^35[0-9].*"); + ddc_rMap.put("52", "Militärwissenschaft"); + ddc_sMap.put("53", "^((9[012-9])|(1[89])|27)[0-9].*"); + ddc_rMap.put("53", "Geschichte"); + ddc_sMap.put("54", "^3[45][0-9].*"); + ddc_rMap.put("54", "Rechtswissenschaft"); + ddc_sMap.put("55", "^(3[38][0-9])|(65[0-9]).*"); + ddc_rMap.put("55", "Wirtschaftswissenschaften"); + ddc_sMap.put("56", "^(91|55)[0-9].*"); + ddc_rMap.put("56", "Geographie"); + ddc_sMap.put("57", "^(51|16|31)[0-9].*"); + ddc_rMap.put("57", "Mathematik"); + ddc_sMap.put("58", "^(00|77)[0-9].*"); + ddc_rMap.put("58", "Informatik"); + ddc_sMap.put("59", "^50[0-9].*"); + ddc_rMap.put("59", "Allgemeine Naturwissenschaft"); + ddc_sMap.put("60", "^5[56][0-9].*"); + ddc_rMap.put("60", "Geologie und Paläontologie"); + ddc_sMap.put("61", "^5[23][0-9].*"); + ddc_rMap.put("61", "Physik"); + ddc_sMap.put("62", "^(54[0-9])|(66[0-9]).*"); + ddc_rMap.put("62", "Chemie und Pharmazie"); + ddc_sMap.put("63", "^5[7-9][0-9].*"); + ddc_rMap.put("63", "Biologie"); + ddc_sMap.put("64", "^(61|57)[0-9].*"); + ddc_rMap.put("64", "Medizin"); + ddc_sMap.put("65", "^(6[34][0-9])|(7[134][0-9]).*"); + ddc_rMap.put("65", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); + ddc_sMap.put("66", "^((6[0-789])|72)[0-9].*"); + ddc_rMap.put("66", "Technik"); + ddc_sMap.put("67", "^79[0-9].*"); + ddc_rMap.put("67", "Sport"); + ddc_sMap.put("68", "^((4[78])|8[78])[0-9].*"); + ddc_rMap.put("68", "Klassische Philologie"); + ddc_sMap.put("69", "^[48]8[0-9].*"); + ddc_rMap.put("69", "Neugriechische Philologie"); + ddc_sMap.put("70", "^[48]7[0-9].*"); + ddc_rMap.put("70", "Neulateinische Philologie"); + ddc_sMap.put("71", "^04[0-9].*"); + ddc_rMap.put("71", "no subject assigned"); + //BIC + bic_sMap.put("72", "((^[BGW]$)|(^((B[GJMT])|(G[BLMPT])|(WZ))([A-Z]|$)))"); + bic_rMap.put("72", "Allgemeines"); + bic_sMap.put("73", "^HR([A-Z]|$)"); + bic_rMap.put("73", "Theologie und Religionswissenschaft"); + bic_sMap.put("74", "^HP([A-Z]|$)"); + bic_rMap.put("74", "Philosophie"); + bic_sMap.put("75", "^JM([A-Z]|$)"); + bic_rMap.put("75", "Psychologie"); + bic_sMap.put("76", "((^E$)|(^((CJ)|(E[BLS])|(JN)|(YQ))([A-Z]|$)))"); + bic_rMap.put("76", "Pädagogik"); + bic_sMap.put("77", "((^[CD]$)|(^((C[BF])|(D[CDNQS]))([A-Z]|$)))"); + bic_rMap.put("77", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); + bic_sMap.put("78", "^E[BLS]([A-Z]|$)"); + bic_rMap.put("78", "Anglistik, Amerikanistik"); + bic_sMap.put("79", "^HD([A-Z]|$)"); + bic_rMap.put("79", "Klassische Archäologie"); + bic_sMap.put("80", "((^A$)|(^((A[BCFGJKMNPS])|(WF))([A-Z]|$)))"); + bic_rMap.put("80", "Kunst und Kunstgeschichte"); + bic_sMap.put("81", "(((^AS)|(^AV))([A-Z]|$))"); + bic_rMap.put("81", "Musikwissenschaft"); + bic_sMap.put("82", "^JP([A-Z]|$)"); + bic_rMap.put("82", "Politologie"); + bic_sMap.put("83", "((^J$)|(^J[FHK]([A-Z]|$)))"); + bic_rMap.put("83", "Soziologie"); + bic_sMap.put("84", "^JW([A-Z]|$)"); + bic_rMap.put("84", "Militärwissenschaft"); + bic_sMap.put("85", "((^H$)|(^(HB|WQ|BG)([A-Z]|$)))"); + bic_rMap.put("85", "Geschichte"); + bic_sMap.put("86", "((^L$)|(^L[ABNR]([A-Z]|$)))"); + bic_rMap.put("86", "Rechtswissenschaft"); + bic_sMap.put("87", "((^K$)|(^((K[CFJN])|AK|TR|UF)([A-Z]|$)))"); + bic_rMap.put("87", "Wirtschaftswissenschaften"); + bic_sMap.put("88", "((^R$)|(^RG([A-Z]|$)))"); + bic_rMap.put("88", "Geographie"); + bic_sMap.put("89", "^PB([A-Z]|$)"); + bic_rMap.put("89", "Mathematik"); + bic_sMap.put("90", "((^U$)|(^((U[BDFGKLMNQRTY])|TJ)([A-Z]|$)))"); + bic_rMap.put("90", "Informatik"); + bic_sMap.put("91", "((^P$)|(^PD([A-Z]|$)))"); + bic_rMap.put("91", "Allgemeine Naturwissenschaft"); + bic_sMap.put("92", "^(RB|TH)([A-Z]|$)"); + bic_rMap.put("92", "Geologie und Paläontologie"); + bic_sMap.put("93", "^P[GH]([A-Z]|$)"); + bic_rMap.put("93", "Physik"); + bic_sMap.put("94", "^(PN|TD|TC)([A-Z]|$)"); + bic_rMap.put("94", "Chemie und Pharmazie"); + bic_sMap.put("95", "^(MZ|PS|TC|RN)([A-Z]|$)"); + bic_rMap.put("95", "Biologie"); + bic_sMap.put("96", "((^M$)|(^M[BFJMNQRX]([A-Z]|$)))"); + bic_rMap.put("96", "Medizin"); + bic_sMap.put("97", "^(RP|TV|WB|WF|WK|WM)([A-Z]|$)"); + bic_rMap.put("97", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); + bic_sMap.put("98", "((^T$)|(^(AM|RN|RP|TC|TD|TH|(T[BGJNQRT]))([A-Z]|$)))"); + bic_rMap.put("98", "Technik"); + bic_sMap.put("99", "^WS([A-Z]|$)"); + bic_rMap.put("99", "Sport"); + bic_sMap.put("100", "((^[FVY]$)|(^((F[ACFHJKLMPQRTVWXYZ])|(V[FSX])|(W[CDGHJNT])|(Y[BDFNRXZ]))([A-Z]|$)))"); + bic_rMap.put("100", "no subject assigned"); + + + // sMap.put("28","(W[W-Z]|X[A-Z]|Y[A-V]) [0-9]+.*"); + // rMap.put("28","Medizin"); + + // LCC + HashMap lcc_pMap = new HashMap(); + lcc_pMap.put("^[AZ]+.*", "Allgemeines"); + lcc_pMap.put("^B[0-9CDHJ]+.*", "Philosophie"); + lcc_pMap.put("^BF+.*", "Psychologie"); + lcc_pMap.put("^B[LMPQRSTVX]+.*", "Theologie und Religionswissenschaften"); + lcc_pMap.put("^C[0-9BDEJNRST]+.*", "Geschichte"); + lcc_pMap.put("^CC+.*", "Klassische Archäologie"); + lcc_pMap.put("^[DEF]+.*", "Geschichte"); + lcc_pMap.put("^G[0-9ABCEF]+.*", "Geographie"); + lcc_pMap.put("^G[NRT]+.*", "Ethnologie (Volks- und Völkerkunde)"); + lcc_pMap.put("^GV+.*", "Sport"); + lcc_pMap.put("^H[0-9AMNQSTVX]+.*", "Soziologie"); + lcc_pMap.put("^H[BCDEFGJ]+.*", "Wirtschaftswissenschaften"); + lcc_pMap.put("^J+.*", "Politologie"); + lcc_pMap.put("^K+.*", "Rechtswissenschaft"); + lcc_pMap.put("^L+.*", "Pädagogik"); + lcc_pMap.put("^M+.*", "Musikwissenschaft"); + lcc_pMap.put("^N+.*", "Kunst und Kunstgeschichte"); + lcc_pMap.put("^P[0-9BHJKLMNZ]+.*", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); + lcc_pMap.put("^PA+.*", "Klassische Philologie"); + lcc_pMap.put("^P[CQ]+.*", "Romanistik"); + lcc_pMap.put("^P[DFT]+.*", "Germanistik, Niederlandistik, Skandinavistik"); + lcc_pMap.put("^P[ERS]+.*", "Anglistik, Amerikanistik"); + lcc_pMap.put("^PG+.*", "Slawistik"); + lcc_pMap.put("^Q[0-9]+.*", "Allgemeine Naturwissenschaft"); + lcc_pMap.put("^QA+.*", "Mathematik"); + lcc_pMap.put("^Q[BC]+.*", "Physik"); + lcc_pMap.put("^QD+.*", "Chemie und Pharmazie"); + lcc_pMap.put("^QE+.*", "Geologie und Paläontologie"); + lcc_pMap.put("^Q[HKLMPR]+.*", "Biologie"); + lcc_pMap.put("^R+.*", "Medizin"); + lcc_pMap.put("^S+.*", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); + lcc_pMap.put("^T+.*", "Technik"); + lcc_pMap.put("^[UV]+.*", "Militärwissenschaft"); + + List fs = record.getVariableFields("084"); + Iterator fsI = fs.iterator(); + // RVK + if (fs != null) { + DataField rvk; + while (fsI.hasNext()) { + rvk = (DataField) fsI.next(); + List ss = rvk.getSubfields('2'); + Iterator ssI = ss.iterator(); + if (ss != null) { + while (ssI.hasNext()) { + s = (Subfield) ssI.next(); + if (s.getData().toLowerCase().contains("rvk")) { + val = rvk.getSubfield('a').getData(); + + for (String key : rvk_sMap.keySet()) { + if (val.matches(rvk_sMap.get(key))) { + result.add(rvk_rMap.get(key)); + logger.info( "finc_class RVK => " + rvk_rMap.get( key ) ); + } + } + } + } + } + } + } + + fs = record.getVariableFields("082"); + fsI = fs.iterator(); + // DDC + if (fs != null) { + DataField ddc; + while (fsI.hasNext()) { + ddc = (DataField) fsI.next(); + List ss = ddc.getSubfields('a'); + Iterator ssI = ss.iterator(); + if (ss != null) { + while (ssI.hasNext()) { + s = (Subfield) ssI.next(); + val = s.getData(); + for (String key : ddc_sMap.keySet()) { + if (val.matches(ddc_sMap.get(key))) { + result.add(ddc_rMap.get(key)); + logger.info( "finc_class DDC => " + ddc_rMap.get( key ) ); + } + } + } + } + } + } + + fs = record.getVariableFields("072"); + fsI = fs.iterator(); + // BIC + if (fs != null) { + DataField bic; + while (fsI.hasNext()) { + bic = (DataField) fsI.next(); + List ss = bic.getSubfields('2'); + Iterator ssI = ss.iterator(); + if (ss != null) { + while (ssI.hasNext()) { + s = (Subfield) ssI.next(); + if (s.getData().toLowerCase().contains("bic")) { + val = bic.getSubfield('a').getData(); + + for (String key : bic_sMap.keySet()) { + if (val.matches(bic_sMap.get(key))) { + result.add(bic_rMap.get(key)); + logger.info( "finc_class BIC => " + bic_rMap.get( key ) ); + } + } + } + } + } + } + } + + + fs = record.getVariableFields("050"); + fsI = fs.iterator(); + // LCC + if (fs != null) { + DataField lcc; + while (fsI.hasNext()) { + lcc = (DataField) fsI.next(); + List ss = lcc.getSubfields('a'); + Iterator ssI = ss.iterator(); + if (ss != null) { + while (ssI.hasNext()) { + s = (Subfield) ssI.next(); + val = s.getData(); + // System.out.println("LCC: " + val); + for (String key : lcc_pMap.keySet()) { + if (val.matches(key)) { + result.add(lcc_pMap.get(key)); + logger.info( "finc_class LCC => " + lcc_pMap.get( key ) ); + } + } + } + } + } + } + + + if (result.isEmpty()) result.add("no subject assigned"); + return result; +} diff --git a/import/index_scripts/format_de105.bsh b/import/index_scripts/format_de105.bsh new file mode 100644 index 0000000000000000000000000000000000000000..101d439bfc5ec5639155e41e905ec15e8570c4bd --- /dev/null +++ b/import/index_scripts/format_de105.bsh @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2014 Project finc http://finc.info + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import java.util.LinkedHashSet; +import java.util.logging.Level; +import java.util.logging.Logger; + +/* + * Ticket #2897, TUF: Icons zuweisen + * + * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +static final Logger logger = Logger.getLogger("de.ubl.import.format_de105"); + +static final HashMap qucosaMap = new HashMap(){{ + put( "article" , "QucosaArticles" ); + put( "bachelorthesis" , "QucosaThesis" ); + put( "book" , "EBOOK" ); + put( "bookpart" , "QucosaArticles" ); + put( "conferenceobject" , "QucosaConferenceproceeding" ); + put( "doctoralthesis" , "QucosaThesis" ); + put( "lecture" , "QucosaArticles" ); + put( "masterthesis" , "QucosaThesis" ); + put( "musicalnotation" , "QucosaScore" ); + put( "other" , "QucosaElectronicResource" ); + put( "periodical" , "QucosaArticles" ); + put( "periodicalpart" , "QucosaArticles" ); + put( "preprint" , "QucosaArticles" ); + put( "report" , "EBOOK" ); + put( "studythesis" , "QucosaThesis" ); + put( "workingpaper" , "QucosaArticles" ); +}}; + + +public Set getFormat( Record record ) { + + logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on + + Set result = new LinkedHashSet(); + + String format_de105 = indexer.getFirstFieldVal( record, "972c" ); + + // Ticket #1555 Qucosa + if( format_de105 == null || format_de105.isEmpty() ) { + String source_id = indexer.getFirstFieldVal( record, "980b" ); + if( source_id.equals( "22" ) ) { + String data = indexer.getFirstFieldVal( record, "500a" ); + if( data != null ) { + format_de105 = qucosaMap.get( data.toLowerCase() ); + } + } + } + + if (format_de105 != null) { + logger.info( "TUF Format => " + format_de105); + result.add(format_de105); + } else { + logger.info( "TUF Format NOT FOUND" ); + } + + return result; +} diff --git a/import/index_scripts/geogr_code.bsh b/import/index_scripts/geogr_code.bsh new file mode 100644 index 0000000000000000000000000000000000000000..723fb6ca265a806d35ff7df88b5ed84d2dc1197a --- /dev/null +++ b/import/index_scripts/geogr_code.bsh @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Logger logger = Logger.getLogger("de.ubl.import.geogrcode"); + +public Set getGeogrCode(Record record) { + + logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on + + Set result = new LinkedHashSet(); + + Set geogrCodeList = indexer.getFieldList(record, "951a"); + + for( String geogr_code : geogrCodeList ) { + geogr_code = geogr_code.trim(); + if(geogr_code.length() > 0) { + String[] split = geogr_code.split( "-" ); + StringBuilder b = new StringBuilder(); + for( String s : split ) { + if( b.length() > 0 ) b.append( "-" ); + b.append(s); + String code = b.toString(); + result.add(code); + } + } + } + + return result; +} diff --git a/import/index_scripts/getBranches.bsh b/import/index_scripts/getBranches.bsh new file mode 100644 index 0000000000000000000000000000000000000000..415724cc999424c04f32ffaf13a17cea73ca86aa --- /dev/null +++ b/import/index_scripts/getBranches.bsh @@ -0,0 +1,181 @@ +import java.io.*; +import java.sql.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Properties properties = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cn = null; +static PreparedStatement st = null, stp = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getbranches"); +static final HashMap patternCache = new HashMap(); + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Leander Seige + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +public Set getBranches(Record record, String pattern) { + + logger.setLevel(Level.WARNING); // FINE,INFO,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + Set result = new LinkedHashSet(); + + String source_id = indexer.getFirstFieldVal(record, "980b"); + + // Ticket #1625 + if(source_id.equals("23")) { + result.add("GR"); + return(result); + } + + if(source_id == null || !source_id.equals("0")) { + return(result); + } + + Set sigelfs = indexer.getFieldList(record, "852a"); + + Matcher m = patternCache.get(pattern); + if(m == null) { + m = Pattern.compile(pattern).matcher(""); + patternCache.put(pattern, m); + } + + String currentSigel = null; + for( String current : sigelfs) { + m.reset(current); + if(m.find()) { + currentSigel = current; + break; + } + } + + if(currentSigel == null) { + logger.info(">>> exiting due to pattern mismatch " + pattern); + return(result); + } + + logger.info(">>> getting branches for " + currentSigel); + + synchronized(properties) { + if(properties.size() == 0) { + Class.forName( sDbDrv ); + try { + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + properties.load(new FileInputStream( ppPath )); + properties.put("LOAD","true"); + } catch (IOException e) { + logger.severe("ERROR gB reading config file (mddb.conf)"); + return(result); + } + String sDbUrl=properties.getProperty("DatabaseUrl"); + String sUsr=properties.getProperty("DatabaseUser"); + String sPwd=properties.getProperty("DatabasePassword"); + try { + logger.info("CONNECT gB to " + sDbUrl); + cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + st = cn.prepareStatement( + "SELECT DISTINCT(branch) " + + "FROM item " + + "WHERE finc_id = ? " + + "AND sigel = ?" + ); + stp = cn.prepareStatement( + "SELECT DISTINCT(i.branch) " + + "FROM parents p, item i " + + // "WHERE p.parent_record_id = CONCAT('(DE-576)', ?) " + + "WHERE p.parent_record_id = ? " + // #4087 + "AND i.finc_id = p.finc_id " + + "AND i.sigel = ?" + ); + logger.info("CONNECT gB OK => " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR gB create database connection: " + e.getMessage()); + return(result); + } + logger.info("CONNECT gB to " + sDbUrl); + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN gB 1st statement"); + try { if( null != stp ) stp.close(); } catch( Exception ex ) {} + logger.info("SHUTTING DOWN gB 2nd statement"); + try { if( null != st ) st.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT gB from " + sDbUrl); + try { if( null != cn ) cn.close(); } catch( Exception ex ) {} + } + })); + } + } + + String finc_id = indexer.getFirstFieldVal(record, "001"); + Long fincNumber = Long.valueOf(finc_id); + String record_id = indexer.getFirstFieldVal(record, "980a"); + + logger.info("checking gB " + finc_id + " " + source_id + " " + record_id); + + ResultSet rs = null; + + try { + + st.setLong( 1, fincNumber); + st.setString( 2, currentSigel); + rs = st.executeQuery(); + while( rs.next() ) { + if( rs.getString(1) == null ) continue; + result.add(rs.getString(1)); + logger.info("ADDING gB : " + rs.getString(1)); + } + try { rs.close(); } catch( Exception ex ) {} + if( result.isEmpty() ) rs = null; + + if( rs == null ) { + stp.setString( 1, record_id); + stp.setString( 2, currentSigel); + rs = stp.executeQuery(); + while( rs.next() ) { + if( rs.getString(1) == null ) continue; + result.add(rs.getString(1)); + logger.info("ADDING gB : " + rs.getString(1)); + } + } + + } catch( Exception ex ) { + logger.severe( "ERROR gB => " + ex.getMessage() ); + } finally { + try { if( null != rs ) rs.close(); } catch( Exception ex ) {} + } + + return result; +} diff --git a/import/index_scripts/getCollCode.bsh b/import/index_scripts/getCollCode.bsh new file mode 100644 index 0000000000000000000000000000000000000000..f1cb887aa78ccc401639d91b7c5d227a2ebf188d --- /dev/null +++ b/import/index_scripts/getCollCode.bsh @@ -0,0 +1,168 @@ +import java.io.*; +import java.sql.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Properties properties = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cn = null; +static PreparedStatement st = null, stc = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getcollcode"); + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Leander Seige + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +public Set getCollCodes(Record record, String sigel) { + + logger.setLevel(Level.WARNING); // FINE,INFO,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + Set result = new LinkedHashSet(); + + String source_id = indexer.getFirstFieldVal(record, "980b"); + if(!source_id.equals("0")) { + return(result); + } + + Set sigelfs = indexer.getFieldList(record, "852a"); + + Iterator sigelfs_iter = sigelfs.iterator(); + + int conti = 0; + + while (sigelfs_iter.hasNext() && conti==0) { + String current = sigelfs_iter.next(); + logger.info(">>> comparing " + sigel + " " + current); + if(sigel.equals(current)) { + conti = 1; + } + } + + if(conti==0) { + logger.info(">>> exiting due to sigel mismatch " + sigel); + return(result); + } + + logger.info(">>> getting collcodes for " + sigel); + + synchronized(properties) { + if(properties.size() == 0) { + Class.forName( sDbDrv ); + try { + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + properties.load(new FileInputStream( ppPath )); + properties.put( "LOAD", "true"); + } catch (IOException e) { + logger.severe("ERROR gCC reading config file => " + ppPath); + return(result); + } + String sDbUrl = properties.getProperty("DatabaseUrl"); + String sUsr = properties.getProperty("DatabaseUser"); + String sPwd = properties.getProperty("DatabasePassword"); + try { + logger.info("CONNECT gCC to " + sDbUrl); + cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + st = cn.prepareStatement( + "SELECT DISTINCT(collection_code) " + + "FROM item " + + "WHERE finc_id = ? " + + "AND sigel = ?" + ); + stc = cn.prepareStatement( + "SELECT DISTINCT(i.collection_code) " + + "FROM parents p, item i " + + // "WHERE p.parent_record_id = CONCAT('(DE-576)', ?) " + + "WHERE p.parent_record_id = ? " + // #4087 + "AND i.finc_id = p.finc_id " + + "AND i.sigel = ?" + ); + logger.info("CONNECT gCC OK => " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR gCC create database connection: " + e.getMessage()); + return(result); + } + logger.info("CONNECT gCC to " + sDbUrl); + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN gCC 1st statement"); + try { if( null != stc ) stc.close(); } catch( Exception ex ) {} + logger.info("SHUTTING DOWN gCC 2nd statement"); + try { if( null != st ) st.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT gCC from " + sDbUrl); + try { if( null != cn ) cn.close(); } catch( Exception ex ) {} + } + })); + } + } + + String finc_id = indexer.getFirstFieldVal(record, "001"); + Long fincNumber = Long.valueOf(finc_id); + String record_id = indexer.getFirstFieldVal(record, "980a"); + + logger.info("checking gCC " + finc_id + " " + source_id + " " + record_id); + + ResultSet rs = null; + + try { + + st.setLong( 1, fincNumber); + st.setString( 2, sigel); + rs = st.executeQuery(); + while( rs.next() ) { + if( rs.getString(1) == null ) continue; + result.add(rs.getString(1)); + logger.info("ADDING gCC : " + rs.getString(1)); + } + try { rs.close(); } catch( Exception ex ) {} + if( result.isEmpty() ) rs = null; + + if( rs == null ) { + stc.setString( 1, record_id); + stc.setString( 2, sigel); + rs = stc.executeQuery(); + while( rs.next() ) { + if( rs.getString(1) == null ) continue; + result.add(rs.getString(1)); + logger.info("ADDING gCC : " + rs.getString(1)); + } + } + + } catch( Exception ex ) { + logger.severe( "ERROR gCC => " + ex.getMessage() ); + } finally { + try { if( null != rs ) rs.close(); } catch( Exception ex ) {} + } + + return result; +} diff --git a/import/index_scripts/getFieldRegex.bsh b/import/index_scripts/getFieldRegex.bsh new file mode 100644 index 0000000000000000000000000000000000000000..11a6c4ced2c815a72b442eb1bd21a9a63c5b6173 --- /dev/null +++ b/import/index_scripts/getFieldRegex.bsh @@ -0,0 +1,47 @@ +/* Leander Seige */ + +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; + +public Set getFieldRegex(Record record, String fieldnums, String subfield, String match, String search, String replace) { + + Set result = new LinkedHashSet(); + + String[] fields=fieldnums.split(":"); + + for(int i =0; i < fields.length ; i++) { + field=fields[i]; + + List fs = record.getVariableFields(field); + Iterator fsI = fs.iterator(); + + if (fs != null) { + DataField author; + while(fsI.hasNext()) { + author = (DataField) fsI.next(); + String val; + + List ss = author.getSubfields(subfield.charAt(0)); + Iterator ssI = ss.iterator(); + if (ss != null) { + while (ssI.hasNext()) { + val=ssI.next().getData(); + if (val.matches(match)) { + val=val.replaceAll(search,replace); + val=val.trim(); + if(val.length()>0) { + // System.out.println(">>> Value: "+val); + result.add(val); + } + } + } + } else { + } + } + } else { + } + } + return result; +} + diff --git a/import/index_scripts/getFincFulltext.bsh b/import/index_scripts/getFincFulltext.bsh new file mode 100644 index 0000000000000000000000000000000000000000..66ad42ac7ddc31ee640122b64daf0157b9d8beb9 --- /dev/null +++ b/import/index_scripts/getFincFulltext.bsh @@ -0,0 +1,234 @@ +/* + * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +/* + * Suche in Inhaltsverzeichnis etc. ("Volltextsuche") als Option gestalten + * Zum deserialisieren von JSON wird die Google JSON Software Bibliothek + * benötigt (http://code.google.com/p/google-gson/). + */ + +import java.io.*; +import java.sql.*; +import java.net.*; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.marc4j.marc.*; +import com.google.gson.Gson; + +org.solrmarc.index.SolrIndexer indexer = null; + +static final Properties fftProperties = new Properties(); +static final Logger logger = Logger.getLogger("de.ubl.import.getfincfulltext"); +static final Gson gson = new com.google.gson.GsonBuilder().create(); + +static final String config = "getFincFulltext.conf"; +static String[] fields; + +static final Properties properties_22 = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cn = null; +static PreparedStatement st = null; + +public String getFincFulltext(Record record) { + + logger.setLevel(Level.WARNING); // FINE,INFO,WARNING,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + // nicht alle durchsuchen, da Z.b. NAXOS eine URL als RECORD ID enthält!!! + String source_id = indexer.getFirstFieldVal(record, "980b"); + + // Ticket #15555, Qucosa + if(source_id != null && source_id.equals( "22" ) ) { + + String qucosaText = ""; + + // Datenbank Konfiguration aus 'mddb.conf' + synchronized(properties_22) { + if(properties_22.size() == 0) { + Class.forName( sDbDrv ); + try { + // mddb3 Datenbankverbindung Einstellungen + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + // if( vufindHome == null ) ppPath = bsh.cwd + "/../import/index_scripts/mddb.conf"; + properties_22.load(new FileInputStream( ppPath )); + properties_22.put("LOAD","true"); + } catch (IOException e) { + logger.severe("ERROR 'CUCOSA FULLTEXT' reading config file (getFincFulltext)"); + return(result); + } + String sDbUrl = properties_22.getProperty("DatabaseUrl"); + String sUsr = properties_22.getProperty("DatabaseUser"); + String sPwd = properties_22.getProperty("DatabasePassword"); + + try { + logger.info("TRY TO OPEN A CONNECTION 'CUCOSA FULLTEXT': " + sDbUrl); + cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + st = cn.prepareStatement( + "SELECT value " + + "FROM annotation " + + "WHERE source_id = ? " + + "AND sha1sum = ?" + ); + logger.info("CONNECTION ESTABLISHED 'CUCOSA FULLTEXT' OK: " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR 'CUCOSA FULLTEXT' create database connection: " + e.getMessage()); + return(result); + } + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN 'CUCOSA FULLTEXT' statement"); + try { if( null != st ) st.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT 'CUCOSA FULLTEXT': " + sDbUrl); + try { if( null != cn ) cn.close(); } catch( Exception ex ) {} + } + })); + } + } + + List fields_520 = record.getVariableFields( "520" ); + if (fields_520 != null) { + Iterator fieldsIter = fields_520.iterator(); + while( fieldsIter.hasNext() ) { + DataField dataField = (DataField) fieldsIter.next(); + List subfields = dataField.getSubfields( '9' ); + if( subfields != null && !subfields.isEmpty() ) { + // Ist der erste Indikator "2" handelt es sich um das Inhaltsverzeichnis (TOC). + // Ist der erste Indikator "3" handelt es sich um die Zusammenfassung (Abstract). + // char indicator = dataField.getIndicator1(); + Iterator subfieldsIter = subfields.iterator(); + if( subfields != null ) { + if( subfieldsIter.hasNext() ) { + + String sha1sum = subfieldsIter.next().getData(); + ResultSet rs = null; + + try { + st.setString( 1, source_id ); + st.setString( 2, sha1sum ); + rs = st.executeQuery(); + if( rs.next() ) { + qucosaText = rs.getString(1); + } + try { rs.close(); } catch( Exception ex ) {} + rs = null; + + } catch( Exception ex ) { + logger.severe( "ERROR 'CUCOSA FULLTEXT' => " + ex.getMessage() ); + qucosaText = ""; + } finally { + try { if( null != rs ) rs.close(); } catch( Exception ex ) {} + } + + if( !qucosaText.isEmpty() ) { + String record_id = indexer.getFirstFieldVal( record, "980a" ); + logger.info( "FOUND 'CUCOSA FULLTEXT' record_id => " + record_id + ", text => " + qucosaText); + return qucosaText; + } + } + } + } + } + } + } + + if(source_id == null || (!source_id.equals( "0" ) && !source_id.equals( "8" )) ) { + logger.info( "FULLTEXT: IGNORE SOURCE ID => " + source_id ); + return ""; + } + + String record_id = indexer.getFirstFieldVal(record, "980a"); + if( record_id == null ) { + logger.severe( "ERROR FULLTEXT: could't not found record id"); + return "ERROR FULLTEXT: RECORD ID NOT FOUND"; + } + + synchronized( fftProperties ) { + + if( fftProperties.size() == 0 ) { + logger.info( "FULLTEXT: Read config file => " + config); + String ppFile = vufindHome + "/import/index_scripts/" + config; + fftProperties.load( new FileInputStream( ppFile ) ); + + if ( !fftProperties.containsKey( "keywords" ) ) { + Strng errmsg = "ERROR FULLTEXT: Could't find property 'keywords'"; + logger.severe( errmsg ); + return errmsg; + } + + fftProperties.put( "read", true); + fields = fftProperties.get( "keywords" ).toString().trim().split( "," ); + } + } + + URL url = new URL( fftProperties.get( "solrService" ) + "?q=ppn:" + record_id + "&version=2.2&start=0&wt=json" ); + URLConnection urlConnection = url.openConnection(); + + InputStreamReader in = new InputStreamReader( urlConnection.getInputStream(), "UTF-8" ); + + StringBuilder builder = new StringBuilder(); + + int c = 0; + char[] buff = new char[1024 * 8]; + + while( ( c = in.read( buff, 0, buff.length ) ) > 0 ) { + builder.append( buff, 0, c ); + } + + in.close(); + in = null; + + Map o = gson.fromJson( builder.toString(), Object.class ); + + if( o == null ) return "ERROR FULLTEXT: FROM JSON"; + + Object mapObj = o.get("response"); + if( mapObj == null ) return ""; + Map response = (Map)mapObj; + + Object docsObj = response.get( "docs" ); + if( docsObj == null ) return ""; + List docs = (List)docsObj; + + StringBuilder b = new StringBuilder(); + for(Map docMap : docs) { + for(String s : fields) { + Object obj = docMap.get(s.trim()); + if( obj != null ) { + b.append(b.length() > 0 ? " " : "").append( obj.toString().trim().replaceAll("\\s+"," ")); + } + } + } + + String text = b.toString(); + if ( text.length() > 0) { + logger.info( "FULLTEXT: " + record_id + " => " + ( text.length() <= 80 ? text : text.substring( 0, 80 ))); + } + + return text; + +} diff --git a/import/index_scripts/getFincFulltext.conf b/import/index_scripts/getFincFulltext.conf new file mode 100644 index 0000000000000000000000000000000000000000..7c91f351be9cfda34265cf67baaf43b3a892515b --- /dev/null +++ b/import/index_scripts/getFincFulltext.conf @@ -0,0 +1,12 @@ +# +# Suche in Inhaltsverzeichnis etc. ("Volltextsuche") als Option gestalten +# + +solrService = http://172.18.85.120:8983/solr/select/ + +# search for this keys in 'docs' list, separate them with komma (,) +keywords = tableofcontents,abstract,publishinginfo,introduction,errata,formulary,chapter,bibliography,review,excerpt,blurb,index,preface,epilogue + +# +# +# diff --git a/import/index_scripts/getFincFulltextSwbp.bsh b/import/index_scripts/getFincFulltextSwbp.bsh new file mode 100644 index 0000000000000000000000000000000000000000..9eaca8dfa8b805de866e21bf6d29f54018553bb6 --- /dev/null +++ b/import/index_scripts/getFincFulltextSwbp.bsh @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +/* + * Suche Volltexte in Swb Plus Datenbank. + * Siehe Ticket #2483 {@link https://intern.finc.info/issues/2483} + */ + +import java.io.*; +import java.sql.*; +import java.net.*; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.marc4j.marc.*; + +org.solrmarc.index.SolrIndexer indexer = null; + +static final String baseURL = "http://139.18.19.240:8080/swbp/webresources/swbplus"; +static final Logger logger = Logger.getLogger("de.ubl.import.getfincfulltext"); +static final Set acceptedSourceIds = new HashSet(){{ + add("0"); + add("8"); + add("22"); +}}; + +public String getFincFulltextSwbp(Record record) { + + logger.setLevel(Level.WARNING); // FINE,INFO,WARNING,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + String finc_id = indexer.getFirstFieldVal( record, "001"); + + // nicht alle durchsuchen, da Z.b. NAXOS eine URL als RECORD ID enthält!!! + String source_id = indexer.getFirstFieldVal( record, "980b"); + + if(source_id == null || (!acceptedSourceIds.contains( source_id )) ) { + logger.info( "FULLTEXT: IGNORE SOURCE ID => " + source_id ); + return ""; + } + + String record_id = indexer.getFirstFieldVal(record, "980a"); + if( record_id == null ) { + logger.severe( "ERROR 'SWB+ FULLTEXT': could't not found record id"); + return "ERROR 'SWB+ FULLTEXT': RECORD ID NOT FOUND"; + } + + // sind Resourcen vorhanden? + Set urlList = indexer.getFieldList(record, "856u"); + if( urlList.isEmpty() ) return ""; + + // Indikator 1('4') und 2('0') beachten + boolean urlFound = false; + List list = record.getVariableFields( "856" ); + Iterator urlFields = list.iterator(); + while( urlFields.hasNext() ) { + DataField dataField = (DataField) urlFields.next(); + urlFound = dataField.getIndicator1() == '4'; + if( urlFound ) break; + } + if( !urlFound ) return ""; + + URL url = new URL( baseURL + "/" + finc_id); + URLConnection urlConnection = url.openConnection(); + + InputStreamReader in = new InputStreamReader( urlConnection.getInputStream(), "UTF-8" ); + + StringBuilder builder = new StringBuilder(); + + int c = 0; + char[] buff = new char[1024 * 8]; + + while( ( c = in.read( buff, 0, buff.length ) ) > 0 ) { + builder.append( buff, 0, c ); + } + + in.close(); + in = null; + + String text = builder.toString(); + if ( text.length() > 0) { + logger.info( "SWB+ FULLTEXT: record_id => " + record_id + ", finc_id => " + finc_id + " => " + ( text.length() <= 80 ? text : text.substring( 0, 80 ))); + } + + return text; + +} diff --git a/import/index_scripts/getGnd.bsh b/import/index_scripts/getGnd.bsh new file mode 100644 index 0000000000000000000000000000000000000000..f1c25736e9b2aa31ec57e156e2eede293c96ea44 --- /dev/null +++ b/import/index_scripts/getGnd.bsh @@ -0,0 +1,128 @@ +/** + * Ticket Allgemein #1750 + * + * Beanshell zum Befüllen vorbereiten, dabei müssen wir flexibel versch. Datenquellen abfragen + * speziell GND und DBpedia, ich habe mappings ;-) * zB Titel, die "118540238" im author_id haben, + * können "4053309-8" in connotation_id bekommen, siehe RDF Link in http://d-nb.info/gnd/118540238 * + * lokales Cache-System konzipieren, ich habe momentan einen mysql cache laufen, + * der genutzt werden kann performs some cool foo and then generates a lot of bar. + */ + +import java.io.*; +import java.net.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.logging.Level; +import java.util.logging.Logger; + +static final Logger logger = Logger.getLogger("de.ubl.import.getGnd"); +org.solrmarc.index.SolrIndexer indexer = null; + +static final Matcher gndM = Pattern.compile( "gnd/(.+)$").matcher( "" ); +static final Matcher fieldM = Pattern.compile("\\(DE-588\\)(\\S+)$").matcher( "" ); +static final Matcher rm = Pattern.compile( "<dc:relation>(.+?)</dc:relation>", Pattern.MULTILINE).matcher( "" ); + +/* Service URL */ +static final URL url = new URL( "http://139.18.19.243/lulknows/index.php" ); + +/* + * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +public Set getGnd(Record record) { + + logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on + + Set result = new LinkedHashSet(); + + List gnd = record.getVariableFields("689"); + Iterator gndIter = gnd.iterator(); + if (gnd != null) { + while(gndIter.hasNext()) { + DataField gnd_df = (DataField) gndIter.next(); + List subfields = gnd_df.getSubfields( '0' ); + if ( subfields != null ) { + Iterator subfieldsIter = subfields.iterator(); + while( subfieldsIter.hasNext() ) { + String data = subfieldsIter.next().getData(); + fieldM.reset( data.trim() ); + if( fieldM.find() ) { + result.add( fieldM.group( 1 ) ); + } + } + } + } + } + + if( result.isEmpty() ) { return result; } + + // sort for cache + result = new TreeSet( result ); + logger.info( "GND: search for => " + result ); + + StringBuilder queryList = new StringBuilder(); + for ( String GND : result ) { + queryList.append( queryList.length() == 0 ? "" : "," ).append(GND); + } + + result.clear(); + + StringBuilder xml = new StringBuilder(); + + HttpURLConnection con = (HttpURLConnection)url.openConnection(); + con.setRequestMethod( "POST" ); + con.setDoInput( true ); + con.setDoOutput( true ); + con.setUseCaches( false ); + con.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded" ); + + OutputStreamWriter writer = new OutputStreamWriter( con.getOutputStream() ); + + writer.write( "template=finc_solr_context&gnd=" + queryList.toString()); + writer.flush(); + + String line; + BufferedReader reader = new BufferedReader( new InputStreamReader( con.getInputStream() ) ); + while ((line = reader.readLine()) != null) { + xml.append( line ).append( System.getProperty( "line.separator" ) ); + } + writer.close(); + reader.close(); + + con.disconnect(); + + // REGEX Methode + rm.reset( xml.toString() ); + while( rm.find() ) { + gndM.reset( rm.group( 1 ) ); + if( gndM.find() && result.add( gndM.group( 1 )) ) {} + } + + if( !result.isEmpty() ) logger.info( "GND: got gnd => " + result ); + + return result; +} \ No newline at end of file diff --git a/import/index_scripts/getInstitution.bsh b/import/index_scripts/getInstitution.bsh new file mode 100644 index 0000000000000000000000000000000000000000..fb7cc876b0aa2035e262f708b8b06c16c87107c3 --- /dev/null +++ b/import/index_scripts/getInstitution.bsh @@ -0,0 +1,117 @@ +import java.io.*; +import java.sql.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Properties properties = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cn = null; +static PreparedStatement st = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getinstitution"); +static final HashMap patternCache = new HashMap(); + +/* + * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Ticket #2048, mdma: ansigeln via mddb3 + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ +public Set getInstitution( Record record ) { + + logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + Set result = new LinkedHashSet(); + + synchronized(properties) { + if(properties.size() == 0) { + Class.forName( sDbDrv ); + try { + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + properties.load(new FileInputStream( ppPath )); + properties.put("LOAD","true"); + } catch (IOException e) { + logger.severe("ERROR gI reading config file (getInstitution)"); + return(result); + } + String sDbUrl=properties.getProperty("DatabaseUrl"); + String sUsr=properties.getProperty("DatabaseUser"); + String sPwd=properties.getProperty("DatabasePassword"); + try { + logger.info("CONNECT gI to " + sDbUrl); + cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + st = cn.prepareStatement( + "SELECT DISTINCT(isil) " + + "FROM sigels " + + "WHERE finc_id = ?" + ); + logger.info("CONNECT gI OK => " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR gI create database connection: " + e.getMessage()); + return(result); + } + logger.info("CONNECT gI to " + sDbUrl); + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN gI statement"); + try { if( null != st ) st.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT gI from " + sDbUrl); + try { if( null != cn ) cn.close(); } catch( Exception ex ) {} + } + })); + } + } + + String finc_id = indexer.getFirstFieldVal(record, "001"); + + ResultSet rs = null; + + try { + + st.setLong( 1, Long.valueOf(finc_id) ); + rs = st.executeQuery(); + while( rs.next() ) { + if( rs.getString(1) == null ) continue; + result.add(rs.getString(1)); + } + + } catch( Exception ex ) { + logger.severe( "ERROR gI => " + ex.getMessage() ); + } finally { + try { if( null != rs ) rs.close(); } catch( Exception ex ) {} + } + + logger.info( "Institution: " + finc_id + " => " + result); + + return result; +} diff --git a/import/index_scripts/getItemData.bsh b/import/index_scripts/getItemData.bsh new file mode 100644 index 0000000000000000000000000000000000000000..ed28564857451f886c1ca3d151d6fe9bb9d058a0 --- /dev/null +++ b/import/index_scripts/getItemData.bsh @@ -0,0 +1,141 @@ +import java.io.*; +import java.sql.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Properties properties = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cn = null; +static PreparedStatement st = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getitemdata"); +static Pattern isilPattern; + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hospe that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +/** +* Ticket #2648 +* Ticket #3962 +* +*/ +public Set getItemData( Record record, String namespace, String isilRegex ) { + + logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + Set result = new LinkedHashSet(); + + String source_id = indexer.getFirstFieldVal(record, "980b"); + if(source_id == null || !source_id.equals("0")) { + return result; + } + + synchronized(properties) { + if(properties.size() == 0) { + Class.forName( sDbDrv ); + try { + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + properties.load(new FileInputStream( ppPath )); + properties.put("LOAD","true"); + } catch (IOException e) { + logger.severe("ERROR gID reading config file (getItemData)"); + return result; + } + String sDbUrl=properties.getProperty("DatabaseUrl"); + String sUsr=properties.getProperty("DatabaseUser"); + String sPwd=properties.getProperty("DatabasePassword"); + try { + logger.info("CONNECT gID to " + sDbUrl); + cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + st = cn.prepareStatement( + "SELECT sigel,barcode,call_number " + + "FROM item " + + "WHERE finc_id = ? " + + "ORDER BY sigel" + ); + logger.info("CONNECT gID OK => " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR gID create database connection: " + e.getMessage()); + return result; + } + logger.info("CONNECT gID to " + sDbUrl); + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN gID statement"); + try { if( null != st ) st.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT gID from " + sDbUrl); + try { if( null != cn ) cn.close(); } catch( Exception ex ) {} + } + })); + isilPattern = Pattern.compile(isilRegex); + } + } + + String finc_id = indexer.getFirstFieldVal(record, "001"); + Long fincNumber = Long.valueOf(finc_id); + ResultSet rs = null; + + try { + Matcher m = isilPattern.matcher(""); + HashMap sigelMap = new HashMap(); + st.setLong( 1, fincNumber); + rs = st.executeQuery(); + while( rs.next() ) { + m.reset( rs.getString(1) ); + if( m.find()) { + String value = ""; + switch ( namespace ) { + case "barcode" : + value = rs.getString(2); // barcode + break; + case "signatur" : + value = rs.getString(3); // call_number + break; + default : + throw new Exception( "Unknown namespace " + namespace); + } + result.add( "(" + rs.getString(1) + ")" + value); + } + } + try { rs.close(); } catch( Exception ex ) {} + logger.info( "gID: " + namespace + " => " + result); + } catch( Exception ex ) { + logger.severe( "ERROR gID => " + ex.getMessage() ); + } finally { + try { if( null != rs ) rs.close(); } catch( Exception ex ) {} + } + + return result; +} diff --git a/import/index_scripts/getItemDataJSON.bsh b/import/index_scripts/getItemDataJSON.bsh new file mode 100644 index 0000000000000000000000000000000000000000..ab7d82f7a5f79202643d66c93faf3be33e862fc4 --- /dev/null +++ b/import/index_scripts/getItemDataJSON.bsh @@ -0,0 +1,136 @@ +import java.io.*; +import java.sql.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.logging.Level; +import java.util.logging.Logger; +import com.google.gson.Gson; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Properties properties = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cn = null; +static PreparedStatement st = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getitemdatajson"); +static final Gson gson = new com.google.gson.GsonBuilder().create(); + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hospe that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +/** +* Ticket #2648, #3962 +* +*/ +public String getItemDataJSON( Record record ) { + + logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + String result = ""; + + String source_id = indexer.getFirstFieldVal(record, "980b"); + if(source_id == null || !source_id.equals("0")) { + return result; + } + + synchronized(properties) { + if(properties.size() == 0) { + Class.forName( sDbDrv ); + try { + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + properties.load(new FileInputStream( ppPath )); + properties.put("LOAD","true"); + } catch (IOException e) { + logger.severe("ERROR gIDJ reading config file (getItemDataJSON)"); + return result; + } + String sDbUrl=properties.getProperty("DatabaseUrl"); + String sUsr=properties.getProperty("DatabaseUser"); + String sPwd=properties.getProperty("DatabasePassword"); + try { + logger.info("CONNECT gIDJ to " + sDbUrl); + cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + st = cn.prepareStatement( + "SELECT sigel,barcode,call_number " + + "FROM item " + + "WHERE finc_id = ? " + + "ORDER BY sigel" + ); + logger.info("CONNECT gIDJ OK => " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR gIDJ create database connection: " + e.getMessage()); + return result; + } + logger.info("CONNECT gIDJ to " + sDbUrl); + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN gIDJ statement"); + try { if( null != st ) st.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT gIDJ from " + sDbUrl); + try { if( null != cn ) cn.close(); } catch( Exception ex ) {} + } + })); + } + } + + String finc_id = indexer.getFirstFieldVal(record, "001"); + Long fincNumber = Long.valueOf(finc_id); + ResultSet rs = null; + + try { + + HashMap sigelMap = new HashMap(); + st.setLong( 1, fincNumber); + rs = st.executeQuery(); + while( rs.next() ) { + List itemList = sigelMap.get( rs.getString(1) ); + if( itemList == null ) { + itemList = new ArrayList(); + sigelMap.put( rs.getString(1), itemList); + } + HashMap bccn = new HashMap(); + bccn.put( "bc", rs.getString(2) ); + bccn.put( "cn", rs.getString(3) ); + itemList.add( bccn ); + // logger.info("ADDING gID : " + rs.getString(1)); + } + try { rs.close(); } catch( Exception ex ) {} + result = gson.toJson( sigelMap ); + logger.info( result ); + } catch( Exception ex ) { + logger.severe( "ERROR gIDJ => " + ex.getMessage() ); + } finally { + try { if( null != rs ) rs.close(); } catch( Exception ex ) {} + } + + return result; +} diff --git a/import/index_scripts/getParentData.bsh b/import/index_scripts/getParentData.bsh new file mode 100644 index 0000000000000000000000000000000000000000..75e91efb419f5fe4750fa0ae9035a0cd74fe9989 --- /dev/null +++ b/import/index_scripts/getParentData.bsh @@ -0,0 +1,172 @@ +import java.io.*; +import java.sql.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Properties properties = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cn = null; +static PreparedStatement st = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getparentdata"); +static Pattern isilPattern; + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hospe that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Finc Team + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +/** +* Ticket #4087 +* +* # marc_local.properties: +* hierarchytype="series" // todo +* hierarchy_top_id = script(getParentData.bsh), getParentData(parent_id) +* hierarchy_top_title = script(getParentData.bsh), getParentData(parent_title) +* hierarchy_parent_id = script(getParentData.bsh), getParentData(parent_id) +* hierarchy_parent_title = script(getParentData.bsh), getParentData(parent_title) +* # hierarchy_sequence = +* is_hierarchy_id = script(getParentData.bsh), getParentData(is_hierarchy_id) +* is_hierarchy_title = script(getParentData.bsh), getParentData(is_hierarchy_title) +* +*/ +public Set getParentData( Record record, String attribute ) { + + logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + Set result = new LinkedHashSet(); + + String source_id = indexer.getFirstFieldVal(record, "980b"); + if(source_id == null || !source_id.equals("0")) { + return result; // todo: open up + } + + synchronized(properties) { + if(properties.size() == 0) { + Class.forName( sDbDrv ); + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + try { + properties.load(new FileInputStream( ppPath )); + properties.put("LOAD","true"); + } catch (IOException e) { + logger.severe("ERROR (getParentData) cannot read " + ppPath); + return result; + } + String sDbUrl=properties.getProperty("DatabaseUrl"); + String sUsr=properties.getProperty("DatabaseUser"); + String sPwd=properties.getProperty("DatabasePassword"); + try { + logger.info("CONNECT getParentData to " + sDbUrl); + cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + st = cn.prepareStatement( + //"select lpad(t.finc_id,10,0), t.title from parents p, finc_mapping f, parent_titles t where t.finc_id=f.finc_id and f.source_id=p.parent_source_id and f.record_id=p.parent_record_id and p.finc_id=?" + "select lpad(t.finc_id,10,0), t.title, f.finc_id, null from parents p, finc_mapping f, parent_titles t where t.finc_id=f.finc_id and f.source_id=p.parent_source_id and f.record_id=p.parent_record_id and p.finc_id=? UNION select distinct null,null,null,lpad(f.finc_id,10,0) from parents p, finc_mapping f where f.source_id=p.parent_source_id and f.record_id=p.parent_record_id and f.finc_id=?" + // result set has entries when there are parents involved, ie when there's hierarchy. rs(4) is null when current finc_id has no parents but is parent (rs(4) actually not needed). + ); + logger.info("CONNECT getParentData OK => " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR getParentData create database connection: " + e.getMessage()); + return result; + } + logger.info("CONNECT getParentData to " + sDbUrl); + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN getParentData statement"); + try { if( null != st ) st.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT getParentData from " + sDbUrl); + try { if( null != cn ) cn.close(); } catch( Exception ex ) {} + } + })); + } + } + + String is_hierarchy_title = indexer.getFirstFieldVal(record, "245ab"); + String finc_id = indexer.getFirstFieldVal(record, "001"); + Long fincNumber = Long.valueOf(finc_id); + ResultSet rs = null; + + try { + st.setLong( 1, fincNumber); + st.setLong( 2, fincNumber); + rs = st.executeQuery(); + while( rs.next() ) { + String value = ""; + switch ( attribute ) { + case "parent_id" : + value = rs.getString(1); // finc_id + break; + case "parent_title" : + value = rs.getString(2); // title + break; + case "is_hierarchy_id" : + // value = rs.getString(4); // returns current finc_id (001) iff we are parent + // if (rs.wasNull()) { + // value = ""; + value = finc_id; // we have result set so there's hierarchy + break; + case "is_hierarchy_title" : + //value = rs.getString(4); // returns current finc_id (001) iff we are parent + //if (rs.wasNull()) { + value = is_hierarchy_title; + break; + case "hierarchy_top_id" : + //value = rs.getString(4); // returns current finc_id (001) iff we are parent + value = rs.getString(1); // parent finc_id + if (rs.wasNull()) { + value = finc_id; + } + break; + case "hierarchy_top_title" : + //value = rs.getString(4); // returns current finc_id (001) iff we are parent + value = rs.getString(1); // parent finc_id + if (rs.wasNull()) { + value = is_hierarchy_title; + } + break; + default : + throw new Exception( "Unknown attribute " + attribute); + } + if (value != null) { + result.add(value); + } + } + try { rs.close(); } catch( Exception ex ) {} + logger.info( "getParentData: " + attribute + " => " + result); + } catch( Exception ex ) { + logger.severe( "ERROR getParentData => " + ex.getMessage() ); + } finally { + try { if( null != rs ) rs.close(); } catch( Exception ex ) {} + } + + return result; +} diff --git a/import/index_scripts/getPublishDateSort.bsh b/import/index_scripts/getPublishDateSort.bsh new file mode 100644 index 0000000000000000000000000000000000000000..d21b787cc6c889dd751b5ccf0b7d9eab062288c5 --- /dev/null +++ b/import/index_scripts/getPublishDateSort.bsh @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2014 finc team, team@finc.info + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import java.io.*; +import java.sql.*; +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getpublishdatesort"); + +static final Matcher dm = Pattern.compile("^\\d{4}$").matcher( "" ); +static final Matcher dateMatcher = Pattern.compile("^\\d{2}[^0-9][^0-9]$").matcher( "" ); +static final Matcher date260cMatcher = Pattern.compile("(\\d{2}[0-9a-zA-Z][0-9a-zA-Z])").matcher( "" ); + +static final Properties properties = new Properties(); +static final String sDbDrv = "com.mysql.jdbc.Driver"; +static Connection cnPDS = null; +static PreparedStatement stPDS = null; + +/** +* Ticket Allgemein #1748 +* +* Datum z.B. '19uu' nach '1999'. +*/ +public String getPublishDateSort(Record record) { + + logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on + + returndate = ""; + + ControlField fixedField = (ControlField) record.getVariableField("008"); + if (fixedField != null) { + String val = fixedField.getData(); + if( val != null) { + String date = val.substring( 7, 11 ); + if( dm.reset( date ).find()) { + logger.info( "NEW publishDateSort 008 exact match => " + date ); + returndate = date; + } else if( dateMatcher.reset( date ).find() ) { // ..uu pattern + logger.info( "publishDateSort 008 GESAMTAUFNAHME"); + String db = getPublishDateSortDB( record ); + if( db.isEmpty() ) return date.replaceAll( ".{2}$" , "99" ); + returndate = db; + } else { // match field 260 c, see #2258 + List fields = record.getVariableFields( "260" ); + List result = new ArrayList(); + if (fields != null) { + Iterator fieldsIter = fields.iterator(); + while( fieldsIter.hasNext() ) { + DataField dataField = (DataField) fieldsIter.next(); + List subfields = dataField.getSubfields( 'c' ); + Iterator subfieldsIter = subfields.iterator(); + if( subfields != null ) { + if( subfieldsIter.hasNext() ) { + String data = subfieldsIter.next().getData(); + if( data != null && date260cMatcher.reset( data ).find() ) { + result.add( date260cMatcher.group( 1 ) ); + } + } + } + } + } + if( result.size() > 0 ) { + Collections.sort( result); + logger.info( "NEW publishDateSort 260c '" + date + "' => " + result.get( 0 ) ); + returndate = result.get( 0 ); + } + } + } + } + // Ticket #2966 + year_current = Calendar.getInstance().get(Calendar.YEAR); + String maxokyear = (year_current + 2).toString(); + logger.info(year_current + " " + maxokyear + " " + returndate + " " + returndate.compareTo(maxokyear)); + if (returndate.compareTo(maxokyear) <= 0) { // year+2 ok + return returndate; + } else { + logger.warning("publishDateSort ignoring future value of " + returndate); + } + return ""; +} + +/* +* Allgemein #2330 +* Gesamtaufnahmen erhalten für die Sortierung das Datum des ältesten Bandes +* +* *** NUR BEI SOURCE ID 0 *** +*/ +private String getPublishDateSortDB( Record record ) { + + String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); + if (vufindHome == null) { + vufindHome = ""; + } + + String result = ""; + + String source_id = indexer.getFirstFieldVal( record, "980b" ); + String record_id = indexer.getFirstFieldVal( record, "980a"); + + if( source_id == null || !source_id.equals( "0" ) ) { + return( result ); + } + + synchronized(properties) { + if(properties.size() == 0) { + Class.forName( sDbDrv ); + try { + String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; + properties.load(new FileInputStream( ppPath )); + properties.put("LOAD","true"); + } catch (IOException e) { + logger.severe("ERROR 'getPublishedDateSortDB' reading config file (getItemData)"); + return(result); + } + String sDbUrl = properties.getProperty("DatabaseUrl"); + String sUsr = properties.getProperty("DatabaseUser"); + String sPwd = properties.getProperty("DatabasePassword"); + try { + logger.info("CONNECT 'getPublishedDateSortDB' to " + sDbUrl); + cnPDS = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); + stPDS = cnPDS.prepareStatement( + "SELECT MIN(year) " + + "FROM parents " + + "WHERE parent_record_id = ?" + ); + logger.info("CONNECT 'getPublishedDateSortDB' OK => " + sDbUrl); + } catch(Exception e) { + logger.severe("ERROR 'getPublishedDateSortDB' create database connection: " + e.getMessage()); + return(result); + } + logger.info( "CONNECT 'getPublishedDateSortDB' to " + sDbUrl ); + Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ + public void run() { + logger.info("SHUTTING DOWN 'getPublishedDateSortDB' statement"); + try { if( null != stPDS ) stPDS.close(); } catch( Exception ex ) {} + logger.info("DISCONNECT 'getPublishedDateSortDB' from " + sDbUrl); + try { if( null != cnPDS ) cnPDS.close(); } catch( Exception ex ) {} + } + })); + } + } + + // logger.info("CHECKING 'getPublishedDateSortDB', RECORD_ID => " + record_id); + + ResultSet rsPDS = null; + + try { + + stPDS.setString( 1, "(DE-576)" + record_id ); // ist immer Sigel DE-576 + stPDS.setString( 1, record_id ); // #4087 + rsPDS = stPDS.executeQuery(); + if( rsPDS.next() ) { + String minYear = rsPDS.getString( 1 ); + if( minYear != null ) { + result = minYear; + logger.info( "getPublishedDateSortDB - ADDING : " + record_id + ", YEAR => " + minYear ); + } else { result = ""; } + } else { + result = ""; + } + rsPDS.close(); rsPDS = null; + + } catch( Exception ex ) { + logger.severe( "ERROR 'getPublishedDateSortDB' => " + ex.getMessage() ); + } finally { + if( rsPDS != null ) try { rsPDS.close(); } catch( Exception ex ) {} + } + + return result; +} diff --git a/import/index_scripts/getSuperMP.bsh b/import/index_scripts/getSuperMP.bsh new file mode 100644 index 0000000000000000000000000000000000000000..26d29735db3a86fbcb718d93631480a18707c07c --- /dev/null +++ b/import/index_scripts/getSuperMP.bsh @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Leander Seige + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import org.apache.commons.lang.StringUtils; +import java.util.HashMap; + + +public Set getSuperMP(Record record, String fieldnums) { + + Set retval = new LinkedHashSet(); + + //HashMap<String, String> resvalues = new HashMap<String, String> (); + HashMap resvalues = new HashMap(); + //HashMap<String, Integer> resscores = new HashMap<String, Integer> (); + HashMap resscores = new HashMap(); + + String value; + String id; + Integer score; + Integer cscore; + + String[] fields=fieldnums.split(":"); + + for(int i =0; i < fields.length ; i++) { + field=fields[i]; + + fnum=field.substring(0,3); + fsfc=field.substring(3,4); + + List fs = record.getVariableFields(fnum); + Iterator fsI = fs.iterator(); + + if (fs != null) { + DataField df; + while(fsI.hasNext()) { + df = (DataField) fsI.next(); + + Subfield fw = df.getSubfield('w'); + if (fw == null) { // qucosa + fw = df.getSubfield('6'); + } + if (fw != null) { + Subfield fsubany = df.getSubfield(fsfc.charAt(0)); + if(fsubany != null) { + value=fsubany.getData().trim(); + id=fw.getData().replaceAll("^\\([^\\)]+\\)",""); + score=StringUtils.countMatches(value,","); + + if(resvalues.containsKey(id)) { + cscore=resscores.get(id); + if(cscore>score) { + // System.out.println(">>> skipping: "+fnum+fsfc+": "+value); + continue; + } + } + // System.out.println(">>> choosing: "+fnum+fsfc+": "+value); + resvalues.put(id,value); + resscores.put(id,score); + } + } + } + } + } + + for (String key : resvalues.keySet()) { + value="("+key+")"+resvalues.get(key); + // System.out.println(">>> adding: "+value); + retval.add(value); + } + + return retval; +} + + diff --git a/import/index_scripts/imprint.bsh b/import/index_scripts/imprint.bsh new file mode 100644 index 0000000000000000000000000000000000000000..d0c71cd533210fa7df6cbcd8fdb4bc2bccb68707 --- /dev/null +++ b/import/index_scripts/imprint.bsh @@ -0,0 +1,54 @@ +/** + * Custom 260abc script + * + */ +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.apache.commons.lang.StringUtils; + +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + + +/** + * Read first values of 260abc. + * Ticket #3314 + * + * @param Record record + * @return String of first 260: first a, first b, first c + */ + +static final Logger logger = Logger.getLogger("de.ubl.import.imprint"); + +public String getImprint(Record record) { + + // logger.setLevel( Level.INFO ); + + char[] subfield_codes = new char[]{'a', 'b', 'c'}; + List result_parts = new ArrayList(); + List fields = record.getVariableFields("260"); + Iterator fieldsIter = fields.iterator(); + if (fields != null) { + DataField df; + while(fieldsIter.hasNext()) { + df = (DataField) fieldsIter.next(); + for (char subfield_code : subfield_codes) { + List subfields = df.getSubfields(subfield_code); + Iterator subfieldsIter = subfields.iterator(); + if (subfields != null) { + while (subfieldsIter.hasNext()) { + String val = subfieldsIter.next().getData(); + // logger.info("imprint val: " + val); + result_parts.add(val); + break; // first subfield value only + } + } + } + // break; // first 260 field only + return StringUtils.join(result_parts, " "); + } + } + return null; +} diff --git a/import/index_scripts/ismn.bsh b/import/index_scripts/ismn.bsh new file mode 100644 index 0000000000000000000000000000000000000000..bf8def4e1b40182852b310cb7513c57f5a5b30f9 --- /dev/null +++ b/import/index_scripts/ismn.bsh @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Logger logger = Logger.getLogger("de.ubl.import.ismn"); + +/** +* Da in dem Feld '024a' aber auch allerhand andere Sachen stehen (können) - +* siehe Ticket #1538 -, müssen wir genauer unterscheiden. +* Das Beanshell soll den Inhalt von 024a zurückliefern unter folgender +* Bedingung: 1. Indikator = 2 +*/ +public String getIsmn( Record record ) { + + logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on + + List fields = record.getVariableFields( "024" ); + if (fields != null) { + Iterator fieldsIter = fields.iterator(); + while( fieldsIter.hasNext() ) { + DataField dataField = (DataField) fieldsIter.next(); + List subfields = dataField.getSubfields( 'a' ); + if( subfields != null && !subfields.isEmpty() && dataField.getIndicator1() == '2') { + Iterator subfieldsIter = subfields.iterator(); + if( subfields != null ) { + if( subfieldsIter.hasNext() ) { + String data = subfieldsIter.next().getData().toLowerCase(); + String record_id = indexer.getFirstFieldVal( record, "980a" ); + logger.info( "FOUND ISMN record_id => " + record_id + ", ismn => " + data); + return data; + } + } + } + } + } + + return ""; +} diff --git a/import/index_scripts/mddb.conf b/import/index_scripts/mddb.conf new file mode 100644 index 0000000000000000000000000000000000000000..daa801789fd0b4126f1a8d1cb9c62ef88e05da6b --- /dev/null +++ b/import/index_scripts/mddb.conf @@ -0,0 +1,4 @@ +DatabaseUrl = jdbc:mysql://172.18.113.101:3306/mddb3 +DatabaseUser = vufind2 +DatabasePassword = vufind2 + diff --git a/import/index_scripts/mddb.conf_default b/import/index_scripts/mddb.conf_default new file mode 100644 index 0000000000000000000000000000000000000000..564099d6d05024e32d59dc4bd56fe768e2282651 --- /dev/null +++ b/import/index_scripts/mddb.conf_default @@ -0,0 +1,4 @@ +DatabaseUrl = jdbc:mysql://localhost:3306/mddb3 +DatabaseUser = USER +DatabasePassword = PASS + diff --git a/import/index_scripts/mddb.conf_finc_hw1 b/import/index_scripts/mddb.conf_finc_hw1 new file mode 100644 index 0000000000000000000000000000000000000000..1344411b326ec0563b4fd49c7714374d96b76c05 --- /dev/null +++ b/import/index_scripts/mddb.conf_finc_hw1 @@ -0,0 +1,4 @@ +DatabaseUrl = jdbc:mysql://172.18.85.101:3306/mddb +DatabaseUser = mddb +DatabasePassword = mddb + diff --git a/import/index_scripts/mega_collection.bsh b/import/index_scripts/mega_collection.bsh new file mode 100644 index 0000000000000000000000000000000000000000..ffc2e0b4ec82b8ed13bf54a43de4b51ac6e95dde --- /dev/null +++ b/import/index_scripts/mega_collection.bsh @@ -0,0 +1,96 @@ +import org.marc4j.marc.Record; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Leander Seige + * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +org.solrmarc.index.SolrIndexer indexer = null; +static final Logger logger = Logger.getLogger("de.ubl.import.getMegaCollection"); + +public Set getMegaCollection(Record record) { + + logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on + + Set result = new LinkedHashSet(); + + String sid = indexer.getFirstFieldVal(record, "980b"); + String rid = indexer.getFirstFieldVal(record, "980a"); + + List list = record.getVariableFields("912"); + if( list != null && list.size() > 0 ) { + for( Object df_obj : list ) { + DataField df = (DataField)df_obj; + Subfield sbData = df.getSubfield( 'a' ); + if ( sbData != null ) { + String data = sbData.getData(); + data = data.trim(); + // Ticket #1629: 912a=qucosa could be in sid 0, 8, 13 (22) + // check 912a for qucosa in any sid + if ( data.equals( "qucosa" ) || data.equals( "KEY" ) ) { + logger.info( "QUCOSA => " + rid + " - " + data ); + result.add( data ); + } + if ( sid.equals( "17" ) ) { + result.add( data ); + } + } + } + } + + if ( sid.equals( "0") ) { + + // Tickets #1565, #2038, #2399 + // multiple 935 possible + List list935 = record.getVariableFields("935"); + if( list935 != null && list935.size() > 0 ) { + for( Object df_obj : list935 ) { + DataField df = (DataField)df_obj; + Subfield sbData = df.getSubfield( 'a' ); + if ( sbData != null ) { + String data = sbData.getData(); + data = data.trim(); + if ( data.equals("TRCS") || data.equals("AMSP") ) { + logger.info("935a => " + data); + result.add(data); + } + } + } + } + + // Ticket #1773, safe to assume single 971 + String val = indexer.getFirstFieldVal( record, "971p" ); + if ( val != null && val.equals( "pdam" ) ) { + logger.info( "971p => " + val ); + result.add( val ); + } + + } + + result.add( sid ); + return result; +} diff --git a/import/index_scripts/misc_del152.bsh b/import/index_scripts/misc_del152.bsh new file mode 100644 index 0000000000000000000000000000000000000000..623951b3782cf12635225d412f5258d3a7e9aecc --- /dev/null +++ b/import/index_scripts/misc_del152.bsh @@ -0,0 +1,85 @@ + /* + * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Logger logger = Logger.getLogger("de.ubl.import.miscdel52"); + +/** +* Allgemein #1680 +* Beanshell (neu) für misc_del152 +* Wenn source_id = 15, dann gib den Inhalt von 590 $b zurück. Und 590 $a. #872 +* Wenn source_id = 21 und 655 $2 = DE-Wim8, dann gib den Inhalt von 655 $a zurück. +*/ +public Set misc_del152( Record record ) { + + logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on + + Set result = new LinkedHashSet(); + String source_id = indexer.getFirstFieldVal( record, "980b" ); + + if( source_id.equals( "15" ) ) { + List fs = record.getVariableFields("590"); + Iterator fsIter = fs.iterator(); + if (fs != null) { + while(fsIter.hasNext()) { + DataField df = (DataField) fsIter.next(); + if (df.getSubfield('a') != null){ + String value = df.getSubfield('a').getData().trim(); + result.add( value ); + } + if (df.getSubfield('b') != null){ + String value = df.getSubfield('b').getData().trim(); + result.add( value ); + } + } + } + } else if( source_id.equals( "21" ) ) { + List rvk = record.getVariableFields("655"); + Iterator rvkIter = rvk.iterator(); + if (rvk != null) { + while(rvkIter.hasNext()) { + DataField rvk_df = (DataField) rvkIter.next(); + if ( rvk_df.getSubfield( '2' ) != null ) { + if ( rvk_df.getSubfield( '2' ).getData().equals( "DE-Wim8" ) ) { + if ( rvk_df.getSubfield( 'a' ) != null ) { + String value = rvk_df.getSubfield('a').getData().trim(); + logger.info( "MISCDEL152 655a => " + value); + result.add( value ); + } + } + } + } + } + } + + if( result.isEmpty() ) { result.add( "" ); } // leer + + return result; +} \ No newline at end of file diff --git a/import/index_scripts/purchaseInfo.bsh b/import/index_scripts/purchaseInfo.bsh new file mode 100644 index 0000000000000000000000000000000000000000..841c669fe3d15589432c1daf5f33bf68c4a4c664 --- /dev/null +++ b/import/index_scripts/purchaseInfo.bsh @@ -0,0 +1,72 @@ +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import org.marc4j.marc.Subfield; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +/* + * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +org.solrmarc.index.SolrIndexer indexer = null; +static final Logger logger = Logger.getLogger("de.ubl.import.purchaseinfo"); +static final Map m = Collections.synchronizedMap( new LinkedHashMap() ); + +/** + * Determine Record Format(s) + * + * @param Record record + * @return Set of sigel + */ +public Set purchaseInfo( Record record ) { + + logger.setLevel(Level.WARNING); // FINE,INFO,ALL and so on + + Set result = new LinkedHashSet(); + + if( m.size() == 0 ) { + logger.info( "PURCHASE INFO => init sigel map" ); + m.put( "969m", "DE-15" ); + m.put( "970m", "DE-L152" ); + m.put( "971m", "DE-Ch1" ); + m.put( "972m", "DE-105" ); + m.put( "973m", "DE-520" ); + m.put( "974m", "DE-L189" ); + m.put( "975m", "DE-Zwi2" ); + m.put( "976m", "DE-Zi4" ); + m.put( "977m", "DE-D117" ); + m.put( "978m", "DE-540" ); + m.put( "979m", "DE-L242" ); + } + + for( String field : m.keySet() ) { + String e = indexer.getFirstFieldVal( record, field ); + if(e != null && e.equals( "e" )) { + result.add( m.get( field ) ); + logger.info( "PURCHASE INFO => added sigel " + m.get( field ) ); + } + } + + return result; +} diff --git a/import/index_scripts/rvk.bsh b/import/index_scripts/rvk.bsh new file mode 100644 index 0000000000000000000000000000000000000000..8736fa7ca3fc11fa1055a9236b1ff486eebb20bf --- /dev/null +++ b/import/index_scripts/rvk.bsh @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2012 finc team, team@finc.info + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author finc team + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import org.marc4j.marc.DataField; + +org.solrmarc.index.SolrIndexer indexer = null; + +public Set getRvk(Record record){ + Set result = new LinkedHashSet(); + // DataField rvk = (DataField) record.getVariableField("084"); + // DataField rvkSecond = (DataField) record.getVariableField("936"); + + // check if there's "rvk" in the 084 $2; ignore if it isn't + // return RVK-Notation from 084 $a + List rvk = record.getVariableFields("084"); + Iterator rvkIter = rvk.iterator(); + if (rvk != null) { + while(rvkIter.hasNext()) { + DataField rvk_df = (DataField) rvkIter.next(); + if (rvk_df.getSubfield('2') != null){ + if (rvk_df.getSubfield('2').getData().toLowerCase().contains("rvk")) { + // result.add(indexer.getFirstFieldVal(record, "084a")); + result.add(rvk_df.getSubfield('a').getData()); + } + } + } + } + + // In 936 stehen die gleichen RVK-Notationen, die sich schon in 084 finden. + // Sie sind lediglich durch Benennung und Identnummer ergänzt. + // Diese Notationen müssen also nicht zusätzlich + // check if there's 936 and return RVK-Notation from 936 $a +/* List fields = record.getVariableFields("936"); + Iterator fieldsIter = fields.iterator(); + if (fields != null) { + while(fieldsIter.hasNext()) { + result.add(indexer.getFirstFieldVal(record, "936a")); + } + } +*/ + + if (!result.isEmpty()) { + return result; + } + + // Nothing worked! + if (result.isEmpty()) { + result.add("No subject assigned"); + } + return result; +} diff --git a/import/index_scripts/signatur.bsh b/import/index_scripts/signatur.bsh new file mode 100644 index 0000000000000000000000000000000000000000..139a2b0fb8ba1b6e8cc50f910675b0746f67fd55 --- /dev/null +++ b/import/index_scripts/signatur.bsh @@ -0,0 +1,126 @@ +import org.marc4j.marc.Record; +import org.marc4j.marc.ControlField; +import org.marc4j.marc.DataField; +import java.util.regex.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +/* + * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Leander Seige + * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +static final Logger logger = Logger.getLogger("de.ubl.import.format"); + +public Set getSignatur(Record record) { + + logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on + + Pattern pattern = Pattern.compile("^(.*):([^:]*)$"); + + Set result = new LinkedHashSet(); + + List fields,subfields; + Iterator fields_it,subfields_it; + DataField field; + String value,temp; + String[] values; + + fields = record.getVariableFields("971"); + if (fields != null) { + fields_it = fields.iterator(); + while(fields_it.hasNext()) { + field = (DataField) fields_it.next(); + subfields = field.getSubfields( 'j' ); + if( subfields != null ) { + subfields_it= subfields.iterator(); + while( subfields_it.hasNext() ) { + value=subfields_it.next().getData(); + Matcher matcher = pattern.matcher(value); + if( matcher.find() ) { + for( int i = 1; i <= matcher.groupCount(); i++ ) { + if( i > 1 ) { + temp = "(DE-Ch1)" + matcher.group(i); + result.add(temp); + } + } + } + result.add(value); + } + } + } + } + + fields = record.getVariableFields("972"); + if (fields != null) { + fields_it = fields.iterator(); + while(fields_it.hasNext()) { + field = (DataField) fields_it.next(); + subfields = field.getSubfields('i'); + if (subfields != null) { + subfields_it= subfields.iterator(); + while (subfields_it.hasNext()) { + value=subfields_it.next().getData(); + result.add(value); + } + } + } + } + + fields = record.getVariableFields("981"); + if (fields != null) { + fields_it = fields.iterator(); + while(fields_it.hasNext()) { + field = (DataField) fields_it.next(); + subfields = field.getSubfields('a'); + if (subfields != null) { + subfields_it= subfields.iterator(); + while (subfields_it.hasNext()) { + value = subfields_it.next().getData(); + result.add(value); + } + } + } + } + + // #1302 - Zwickau Finc-Kategorie + fields = record.getVariableFields("975"); + if (fields != null) { + fields_it = fields.iterator(); + while(fields_it.hasNext()) { + field = (DataField) fields_it.next(); + subfields = field.getSubfields('o'); + if (subfields != null) { + subfields_it= subfields.iterator(); + while (subfields_it.hasNext()) { + value = subfields_it.next().getData(); + result.add( "(DE-Zwi2)" + value); + } + } + } + } + + logger.info( "SIGNATUR => " + result); + + return result; + +} diff --git a/import/index_scripts/zdb.bsh b/import/index_scripts/zdb.bsh new file mode 100644 index 0000000000000000000000000000000000000000..d81c0276c883fdf016798c839a7b8ca4e7b2f106 --- /dev/null +++ b/import/index_scripts/zdb.bsh @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de + * Leipzig University Library, Project finc + * http://www.ub.uni-leipzig.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @author Polichronis Tsolakidis + * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License + * @link http://finc.info + */ + +import org.marc4j.marc.Record; +import java.util.*; +import java.util.regex.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +org.solrmarc.index.SolrIndexer indexer = null; +static final Logger logger = Logger.getLogger("de.ubl.import.zdb"); +static final Matcher m = Pattern.compile( "ZDB(.+)$" ).matcher( "" ); + +public String getZdb( Record record ) { + + logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on + + String zdbString = indexer.getFirstFieldVal( record, "035a" ); + + if( zdbString != null ) { + zdbString = zdbString.trim(); + if( zdbString.length() > 0 ) { + m.reset( zdbString ); + if( m.find() ) { + String zdb = m.group( 1 ); + String record_id = indexer.getFirstFieldVal(record, "980a"); + logger.info( "ZDB record_id => " + record_id + ", zdb => " + zdb ); + return zdb; + } + } + } + + return ""; +} diff --git a/import/lib/commons-lang3-3.3.2.jar b/import/lib/commons-lang3-3.3.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..bb069797f1d28d388a7711443b0da889d24f4bcd Binary files /dev/null and b/import/lib/commons-lang3-3.3.2.jar differ diff --git a/import/lib/gson-2.2.2.jar b/import/lib/gson-2.2.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..f2108e00c632f672f108bf4d0282f5bcdb953307 Binary files /dev/null and b/import/lib/gson-2.2.2.jar differ diff --git a/import/lib/sqlitejdbc-v053.jar b/import/lib/sqlitejdbc-v053.jar new file mode 100644 index 0000000000000000000000000000000000000000..776fbe311c008d29e1cf9fd1a53c9cf76cf4e7fc Binary files /dev/null and b/import/lib/sqlitejdbc-v053.jar differ diff --git a/import/marc.properties b/import/marc.properties index 458b7e2353dbc3db892448b5708c2868234ddbe4..ea5fc8140e86a4ac665d24a1ed603a4a4f76bc44 100644 --- a/import/marc.properties +++ b/import/marc.properties @@ -3,85 +3,86 @@ # these settings, it is recommended that you edit # # marc_local.properties to make upgrades simpler. # ############################################################################### + id = 001, first -lccn = 010a, first -ctrlnum = 035a -collection = "Catalog" -institution = "MyInstitution" -building = "Library A" +# lccn = 010a, first +# ctrlnum = 035a +### collection = "Catalog" +### institution = "MyInstitution" +### building = "Library A" -fullrecord = FullRecordAsMarc -recordtype = "marc" -allfields = custom, getAllSearchableFieldsAsSet(100, 900) +# fullrecord = FullRecordAsMarc +recordtype = "marcremote" +# allfields = custom, getAllSearchableFields(100, 900) -language = 008[35-37]:041a:041d:041h:041j, language_map.properties -format = custom, getFormat, format_map.properties +### language = 008[35-37]:041a:041d:041h:041j, language_map.properties +### format = custom, getFormat, format_map.properties -author = 100abcd, first -author_fuller = 100q, first -author-letter = 100a,first -author2 = 110ab:111ab:700abcd:710ab:711ab -author2-role = 700e:710e -author_additional = 505r +### author = 100abcd, first +### author_fuller = 100q, first +### author-letter = 100a, first +### author2 = 110ab:111ab:700abcd:710ab:711ab +### author2-role = 700e:710e +### author_additional = 505r -title = 245ab, first -title_sub = 245b, first -title_short = 245a, first -title_full = custom, getAllAlphaSubfields(245, first) -title_auth = 245ab, first -title_alt = 100t:130adfgklnpst:240a:246a:505t:700t:710t:711t:730adfgklnpst:740a -title_old = 780ast -title_new = 785ast -title_sort = custom, getSortableTitle -series = 440ap:800abcdfpqt:830ap -series2 = 490a +### title = 245ab, first +### title_sub = 245b, first +### title_short = 245a, first +### title_full = custom, getAllAlphaSubfields(245, first) +### title_auth = 245ab, first +### title_alt = 130adfgklnpst:240a:246a:730adfgklnpst:740a +### title_old = 780ast +### title_new = 785ast +### title_sort = custom, getSortableTitle +### series = 440ap:800abcdfpqt:830ap +### series2 = 490a -publisher = custom, getPublishers -publishDate = custom, getDates -publishDateSort = custom, getFirstDate +### publisher = 260b +### publishDate = custom, getDate +### publishDateSort = custom, getDate -physical = 300abcefg:530abcd +### physical = 300abcefg:530abcd dateSpan = 362a edition = 250a, first -#description = -contents = 505a:505t +# description = +### contents = 505a:505t -isbn = 020a:773z -issn = 022a:440x:490x:730x:773x:776x:780x:785x +### isbn = 020a +### issn = 022a:440x:490x:730x:776x:780x:785x -callnumber = custom, getFullCallNumber(099ab:090ab:050ab) -callnumber-a = 099a:090a:050a, first -callnumber-first = 099a[0]:090a[0]:050a[0], callnumber_map.properties, first -callnumber-first-code = 099a[0]:090a[0]:050a[0], first -callnumber-subject = custom, getCallNumberSubject(090a:050a), callnumber_subject_map.properties -callnumber-subject-code = custom, getCallNumberSubject(090a:050a) -callnumber-label = custom, getCallNumberLabel(090a:050a) +# callnumber = custom, getFullCallNumber(099ab:090ab:050ab) +# callnumber-a = 099a:090a:050a, first +# callnumber-first = 099a[0]:090a[0]:050a[0], callnumber_map.properties, first +# callnumber-first-code = 099a[0]:090a[0]:050a[0], first +# callnumber-subject = custom, getCallNumberSubject(090a:050a), callnumber_subject_map.properties +# callnumber-subject-code = custom, getCallNumberSubject(090a:050a) +# callnumber-label = custom, getCallNumberLabel(090a:050a) -topic = custom, getAllSubfields(600:610:611:630:650:656, " ") -genre = custom, getAllSubfields(655, " ") -geographic = custom, getAllSubfields(651, " ") -era = custom, getAllSubfields(648, " ") +### topic = custom, getAllSubfields(600:610:611:630:650, " ") +### genre = custom, getAllSubfields(655, " ") +### geographic = custom, getAllSubfields(651, " ") +### era = custom, getAllSubfields(648, " ") -topic_facet = 600x:610x:611x:630x:648x:650a:650x:651x:655x -genre_facet = 600v:610v:611v:630v:648v:650v:651v:655a:655v -geographic_facet = 600z:610z:611z:630z:648z:650z:651a:651z:655z -era_facet = 600d:610y:611y:630y:648a:648y:650y:651y:655y +### topic_facet = 600x:610x:611x:630x:648x:650a:650x:651x:655x +# genre_facet = 600v:610v:611v:630v:648v:650v:651v:655a:655v +# geographic_facet = 600z:610z:611z:630z:648z:650z:651a:651z:655z +### era_facet = 600d:610y:611y:630y:648a:648y:650y:651y:655y -url = 856u:555u +url = 856u -illustrated = custom, isIllustrated +### illustrated = custom, isIllustrated -dewey-hundreds = custom, getDeweyNumber(082a:083a, 100), ddc22_map.properties(hundreds) -dewey-tens = custom, getDeweyNumber(082a:083a, 10), ddc22_map.properties(tens) -dewey-ones = custom, getDeweyNumber(082a:083a, 1), ddc22_map.properties(ones) -dewey-full = custom, getDeweySearchable(082a:083a) -dewey-sort = custom, getDeweySortable(082a:083a) -dewey-sort-browse = custom, getDeweySortables(082a:083a) -dewey-raw = 082a:083a +### dewey-hundreds = custom, getDeweyNumber(082a:083a, 100), ddc22_map.properties(hundreds) +### dewey-tens = custom, getDeweyNumber(082a:083a, 10), ddc22_map.properties(tens) +### dewey-ones = custom, getDeweyNumber(082a:083a, 1), ddc22_map.properties(ones) +### dewey-full = custom, getDeweySearchable(082a:083a) +### dewey-sort = custom, getDeweySortable(082a:083a) +### dewey-raw = 082a:083a, first # Extract the numeric portion of the OCLC number using a pattern map: -oclc_num = 035a, (pattern_map.oclc_num) -pattern_map.oclc_num.pattern_0 = \\([Oo][Cc][Oo][Ll][Cc]\\)[^0-9]*[0]*([0-9]+)=>$1 +oclc_num = 016a:035a, (pattern_map.oclc_num) +pattern_map.oclc_num.pattern_0 = \\(OCoLC\\)[^0-9]*[0]*([0-9]+).*$=>$1 pattern_map.oclc_num.pattern_1 = ocm[0]*([0-9]+)[ ]*[0-9]*=>$1 pattern_map.oclc_num.pattern_2 = ocn[0]*([0-9]+).*=>$1 +# add - see http://vufind.org/jira/browse/VUFIND-685 pattern_map.oclc_num.pattern_3 = on[0]*([0-9]+).*=>$1 diff --git a/import/marc_local.properties b/import/marc_local.properties index 7e064492b1ae4bd77ef173b10b973910627728f9..6350824422319010996d35cda7e2dea1bf810d62 100644 --- a/import/marc_local.properties +++ b/import/marc_local.properties @@ -3,64 +3,246 @@ # All settings in this file override equivalent # # settings in marc.properties. # ############################################################################### +############################################## +# finc-spezifisch, bibliotheksuebergreifend -# Uncomment the following settings to insert appropriate values for your site: -#collection = "Catalog" -#institution = "MyInstitution" -#building = "Library A" +# ID des Datensatzes innerhalb der Quelle +record_id = 980a +# ID der Quelle +source_id = 980b +# bibliographic level +mrc0007=000[7] +# category of material +# mrc0070=007[0] first +# collection / source_name +mega_collection = script(mega_collection.bsh), getMegaCollection(), collection_map.properties +authorized_mode = "true" +# ISIL / internationales Bibiothekssigel +# institution = 852a +institution = script(getInstitution.bsh), getInstitution() +rsn = 983a +# Zugangsfacette - Unterscheidung zw. Online-Ressourcen und lokalen Bestaenden +access_facet = script(format.bsh), getFormat, access_map.properties +# IDs fuer Personen und Schlagw\u00c3\u00b6rter (Normdatenerweiterung) +author_id = script(getFieldRegex.bsh), getFieldRegex("100:110:111:700:710:711","0","^\\(DE\\-588\\).*$","\\(DE\\-588\\)","") +topic_id = script(getFieldRegex.bsh), getFieldRegex("600:610:611:648:650:651:689","0","^\\(DE\\-588\\).*$","\\(DE\\-588\\)","") +# Normdaten :: Verweisungsformen +author_ref = 900a +author_corp_ref = 910a:911a +topic_ref = 950a +# MBW und Serien (..., #2063, #2418) +multipart_set = 000[19] +# multipart_set = 000[19]:000[7], multipart_set.properties, first +multipart_link = 773w[8-16]:800w[8-16]:810w[8-16]:811w[8-16]:830w[8-16]:8306 +multipart_part = script(getSuperMP.bsh), getSuperMP("773q:800q:800g:773g:800v:810v:811v:830v:830g") +# Erwerbungsinformation (#959) +purchase = script(purchaseInfo.bsh), purchaseInfo() -# Uncomment the following settings to use the .bsh scripts in import/scripts/ -# instead of the built-in SolrMarc functionality found in the .jar file. -# (by default, the scripts have the same behavior as the built-in functions, -# but the external scripts are easier to customize to your needs). -#format = script(format.bsh), getFormat, format_map.properties -#callnumber = script(callnumber.bsh), getFullCallNumber(099ab:090ab:050ab) -#callnumber-subject = script(callnumber.bsh), getCallNumberSubject(090a:050a), callnumber_subject_map.properties -#callnumber-subject-code = script(callnumber.bsh), getCallNumberSubject(090a:050a) -#callnumber-label = script(callnumber.bsh), getCallNumberLabel(090a:050a) -#publishDate = script(getdate.bsh), getDate -#illustrated = script(illustrated.bsh), isIllustrated -#dewey-hundreds = script(dewey.bsh), getDeweyNumber(082a:083a, 100), ddc22_map.properties(hundreds) -#dewey-tens = script(dewey.bsh), getDeweyNumber(082a:083a, 10), ddc22_map.properties(tens) -#dewey-ones = script(dewey.bsh), getDeweyNumber(082a:083a, 1), ddc22_map.properties(ones) -#dewey-full = script(dewey.bsh), getDeweySearchable(082a:083a) -#dewey-sort = script(dewey.bsh), getDeweySortable(082a:083a) +############################################## +# finc-spezifisch UND bibliotheksspezifisch -# Uncomment the following lines to track history of indexing times for RSS feeds, -# OAI-PMH server and other updates. The parameter to these functions must be the -# same fieldspec as the id setting above! -# IMPORTANT: Indexing this extra information will make extra database calls during -# the indexing process and will likely slow things down significantly. -#first_indexed = custom, getFirstIndexed(001) -#last_indexed = custom, getLastIndexed(001) +# Sammelfeld fuer bibliotheksspezifische Informationen; Bsp. DE-CH1: Lizenzinformationen +# misc_de15 = xxx +misc_del152 = script(misc_del152.bsh), misc_del152 +misc_dech1 = 971g +# misc-Feld f\u00fcr die TUF, enth\u00e4lt den Libero-Code f\u00fcr den Medientyp +# (zur Darstellung der Icons in der Ergebnisliste) +# misc_de105 = 972c # redundant to format_de105 +# misc_de520 = xxx +# misc_del189 = xxx +# misc_dezwi2 = xxx +# misc_dezi4 = xxx +# misc_ded117 = xxx +# misc_de540 = xxx +# misc_del242 = xxx +# Zweigbibliothek - Kommentar entfernen, wenn Facettierung gewuenscht +branch_de15 = script(getBranches.bsh), getBranches("^DE-15(-.+)?$"), branch_map_de15.properties +# CH1 971a +branch_dech1 = script(getBranches.bsh), getBranches("^DE-Ch1$"), branch_map_dech1.properties +# DE105 972a +branch_de105 = script(getBranches.bsh), getBranches("^DE-105$"), branch_map_de105.properties +branch_de520 = script(getBranches.bsh), getBranches("^DE-520$"), branch_map_de520.properties +# branch_del189 = 974a +# branch_dezwi2 = 975a +branch_dezwi2 = script(getBranches.bsh), getBranches("^DE-Zwi2$"), branch_map_dezwi2.properties +branch_dezi4 = script(getBranches.bsh), getBranches("^DE-Zi4$"), branch_map_dezi4.properties +# branch_dezi4 = 976a +# branch_ded117 = 977a +# branch_de540 = 978a +# branch_del242 = 979a +# Standort/Literaturabteilung - Kommentar entfernen, wenn Facettierung gewuenscht +collcode_de15 = 969b, collcode_map_de15.properties +#collcode_dech1 = 971b, collcode_map_dech1.properties +collcode_dech1 = script(getCollCode.bsh), getCollCodes(DE-Ch1), collcode_map_dech1.properties +#collcode_de105 = 972b, collcode_map_de105.properties +collcode_de105 = script(getCollCode.bsh), getCollCodes(DE-105), collcode_map_de105.properties +collcode_de520 = script(getCollCode.bsh), getCollCodes(DE-520), collcode_map_de520.properties +# collcode_del189 = 974b +collcode_dezwi2 = script(getCollCode.bsh), getCollCodes(DE-Zwi2), collcode_map_dezwi2.properties +# In Zittau basieren Zweigstelle und Collection Code auf den Libero-Zweigstellen, deshalb +# verwenden wir ein Skript f\u00fcr beide Felder +collcode_dezi4 = script(getBranches.bsh), getBranches("^DE-Zi4$"), collcode_map_dezi4.properties +# collcode_dezi4 = 976b +# collcode_ded117 = 977b +# collcode_de540 = 978b +# collcode_del242 = 979b +# Format/Medientyp - Kommentar entfernen, wenn individuelle Formatfacettierung erwuenscht +format_de15 = script(format.bsh), getFormat, format_map_de15.properties +format_del152 = 970c, format_map_del152.properties(del152) +# dech1 nutzt ubl formate vgl https://intern.finc.info/issues/2086#note-7 +format_dech1 = 971c, format_map_dech1.properties(dech1) +format_de105 = script(format_de105.bsh),getFormat,format_map_de105.properties(de105) +format_de520 = 973c, format_map_de520.properties +format_del189 = script(format.bsh), getFormat, format_map_del189.properties +format_dezwi2 = 975c, format_map_dezwi2.properties +format_dezi4 = 976c:980b, format_map_dezi4.properties +format_de540 = script(format.bsh), getFormat, format_map_de540.properties +format_ded117 = script(format.bsh), getFormat, format_map_ded117.properties +# format_ded117 = 977c, format_map_ded117.properties +# format_de540 = 978c, format_map_de540.properties +# format_del242 = 979c, format_map_del242.properties +# HMT # local subject headings +local_heading_facet_del152 = 970d +# WHZ (Zwickau) Lokales Schlagwort aus PICA 6800, BSZ-MARC-LOKAL 689 $a +local_heading_dezwi2 = 975q +local_heading_facet_dezwi2 = 975q:600a:600x:610a:610x:611a:611x:630a:630x:648x:650a:650x:651x:655x:689a +# TUBAF und HTWK # UDK fuer Anzeige und Facette +udk_raw_de105 = 972f +udk_facet_de105 = 972f, tuf_udk_map.properties(tuf_udk) +udk_raw_del189 = 974f +# HTWK will keine UDK-Facette +# udk_facet_del189 = 974f, htwk_udk_map.properties(htwk_udk) +# HGB Lokales Schlagwort aus PICA 6800, BSZ-MARC-LOKAL 689 $a +local_heading_del242 = 979q +# HGB Lokale Notation aus PICA 6700, BSZ-MARC-LOKAL 936 $a. Und Ausschrift aus 979|9 Ticket #4209 +local_class_del242 = 979f:9799 +# UBL # finc-Klassifikation +finc_class_facet = script(finc_class.bsh), getFincClass() + +############################################## +# allgemeingueltig +# allfields without urls (856) +allfields = custom, getAllSearchableFields(100, 831) +zdb = script(zdb.bsh), getZdb +format = script(format.bsh), getFormat +language = 008[35-37]:041a:041d:041h:130l:730l, language_map.properties +author = 100abcd +author_orig = custom, getLinkedField(100abcd) +author2 = 700abcd +author2_orig = custom, getLinkedField(700abcd) +author_corp = 110ab:111acde +author_corp_orig = custom, getLinkedField(110ab:111acde) +author_corp2 = 710ab:711acde +author_corp2_orig = custom, getLinkedField(710ab:711acde) +author2-role = 700e:710e +# author_fuller = 100q +author_letter = 100a +# author_additional = 505r +# fuer gemeinsame Facette von Verfasser, beteiligten Personen u. Koerperschaften +author_facet = 100abcd:700abcd:110ab:111acde:710ab:711acde +title = 245ab +title_part = 245np +title_sub = 245b first +title_short = 245a +# title_full = custom, getAllSubfields(245, " ") +# keine Verfasserwiederholung mehr in title_full +title_full = 245abdefgknp +title_alt = custom, getLinkedFieldCombined(130ap:240ap:246abp:730ap:740ap:920t) +# musikalische EST +title_uniform = 130adfgklmnoprst:240adfghklmnoprs +title_old = 780ast +title_new = 785ast +title_sort = custom, getSortableTitle +title_orig = custom, getLinkedField(245abnp) +series = 800abcdefgmnopqt:810abcdefgmnoprst:811acdegjnpqstuv:830adgmnoprst +series2 = 490a +series_orig = custom, getLinkedField(800abcdefgmnopqt:810abcdefgmnoprst:811acdegjnpqstuv:830adgmnoprst:490a) +publisher = custom, getLinkedFieldCombined(260b) +# publishDate = script(getdate.bsh), getDate +publishDate = custom, removeTrailingPunct(260c) +# publishDateSort = 008[7-10] +publishDateSort = script(getPublishDateSort.bsh), getPublishDateSort +publishPlace = custom, getLinkedFieldCombined(260a) +imprint = 260abc, first +# imprint = custom, removeTrailingPunct(260abc), first +physical = custom, getLinkedFieldCombined(300abcefg) +footnote = custom, getLinkedFieldCombined(500a) +dissertation_note = custom, getLinkedFieldCombined(502abcd) +performer_note = 511a +illustrated = script(illustrated.bsh), isIllustrated +contents = custom, getLinkedFieldCombined(505agrt:520ab) # Uncomment the following line to index full text from URLs found in your MARC # records. All sorts of document formats are supported (PDF, Word Doc, ASCII # text, HTML, etc.) The first parameter is a fieldspec showing which fields to use # for URL retrieval. The second parameter is optional -- if included, only files # matching the specified suffix will be indexed. Note that this functionality -# depends on a full text tool being installed on your system. See the wiki for -# details: -# http://vufind.org/wiki/importing_records#indexing_full_text -#fulltext = custom, getFulltext(856u, pdf) +# depends on Aperture being installed on your system. See the wiki for details: +# http://vufind.org/wiki/aperture +# old version: fulltext = custom, getFulltext(856u, pdf) +# fulltext = script(getFincFulltext.bsh), getFincFulltext +fulltext = script(getFincFulltextSwbp.bsh), getFincFulltextSwbp +# fulltext_inh = script(swbplus.bsh), getSWBPlusText(001[10-18],inh) +isbn = 020a:776z:780z:785z +# NOTE: 029a ist \u00c3\u00bcberregional definiertes, anwenderspezifisches Feld, kein MARC-Standard +issn = 022a:029a:490x:730x:776x:780x:785x:800x:810x:811x:830x +# ismn = 024a +ismn = script(ismn.bsh), getIsmn +isbn_canc = 020z +issn_canc = 022yz +# topic enthaelt 970de f\u00c3\u00bcr lokale SW der HMT und 937abc f\u00c3\u00bcr Filmgattungen +topic = 600abcdefghjklmnopqrstuvxyz:610abcdefghklmnoprstuvxyz:611acdefghjklnpqstuvxyz:630adefghklmnoprstvxyz:650abcdevxyz:689a:655abvxyz:651avxyz:648avxyz:970de:937abc +topic_facet = 600a:600x:610a:610x:611a:611x:630a:630x:648x:650a:650x:651x:655x:689a +# fuer Geofacette #1028 +geogr_code = script(geogr_code.bsh), getGeogrCode, geogr_code_map.properties +# fuer Geographische Codes f\u00c3\u00bcr Personen (HMT) #1567 +geogr_code_person = 951b, geogr_code_map.properties +# fuer Facette Zeitcode HMT #1571 +timecode = 046j, timecode_map.properties +# fuer Suche in separatem Feld, Indexfunktion, fuer Browsing ggf. noch aufsplitten (Ticket #284) +music_heading = 937def +# fuer Facettierung der Filmgattungen +film_heading = 937a +dewey-hundreds = script(dewey.bsh), getDeweyNumber(082a:083a, 100), ddc22_map.properties(hundreds) +dewey-tens = script(dewey.bsh), getDeweyNumber(082a:083a, 10), ddc22_map.properties(tens) +dewey-ones = script(dewey.bsh), getDeweyNumber(082a:083a, 1), ddc22_map.properties(ones) +dewey-full = script(dewey.bsh), getDeweySearchable(082a:083a) +dewey-sort = script(dewey.bsh), getDeweySortable(082a:083a) +dewey-raw = 082a:083a, first +# RVK - Notation fuer Facette und Ausschrift zur Einbindung in die Suche +rvk_facet = script(rvk.bsh), getRvk +rvk_label = 936k +rvk_path = 0849 +# GND = script(getGnd.bsh), getGnd +# Uncomment the following lines to track history of indexing times for RSS feeds, +# OAI-PMH server and other updates. The parameter to these functions must be the +# same fieldspec as the id setting above! +# IMPORTANT: Indexing this extra information will make extra database calls during +# the indexing process and will likely slow things down significantly. +# first_indexed = custom, getFirstIndexed(001) +# last_indexed = custom, getLastIndexed(001) + +# Ticket #2048 +attached_de15 = script(attached_DE-15.bsh), getAttached() + +# Ticket #2648, #3962 +itemdata = script(getItemDataJSON.bsh), getItemDataJSON + +# Ticket #3962, Barcode und Signatur aus MARC entfernen. Daten kommen jetzt aus mddb +# Maskiere '(', ')' und '.'. '[' und ']' auch? Viel Gl\u00fcck. Aber Testen ist besser! +barcode = script(getItemData.bsh), getItemData( "barcode" , "\(DE-Ch1|DE-105|DE-Zwi2|DE-15\)") +signatur = script(getItemData.bsh), getItemData( "signatur" , "\\.*") -# Uncomment the following line if you want to index latitude/longitude data for -# Google Map recommendations: -#long_lat = custom, getLongLat +# Ticket #3674 +urn=024a:037n:856u, (pattern_map.urly_urn) +pattern_map.urly_urn.pattern_0=^.*(urn:.*)$=>$1 -# Uncomment the following lines if you are indexing journal article data that uses -# the 773 field to describe the journal containing the article. These settings -# assume the records have been formatted according to recommendation 4.1 found at: -# http://www.loc.gov/marc/marbi/2003/2003-dp01.html -# If you have records using a different 773 format, you may need to write a custom -# indexing script to parse out volume/issue/number. -# Additionally, you will need to make sure articles have a format value of "Article." -# You can hard-code this if all of your records are articles, but if you need to -# distinguish between articles and non-articles, you will need to build a custom -# getFormat script. -#format = "Article" -#container_volume = 773v -#container_issue = 773l -#container_start_page = 773q -#container_reference = 773g -#container_title = 773s +# Ticket #4087 +# hierarchytype = +hierarchy_top_id = script(getParentData.bsh), getParentData(hierarchy_top_id) +hierarchy_top_title = script(getParentData.bsh), getParentData(hierarchy_top_title) +hierarchy_parent_id = script(getParentData.bsh), getParentData(parent_id) +hierarchy_parent_title = script(getParentData.bsh), getParentData(parent_title) +# hierarchy_sequence = +is_hierarchy_id = script(getParentData.bsh), getParentData(is_hierarchy_id) +is_hierarchy_title = script(getParentData.bsh), getParentData(is_hierarchy_title) diff --git a/import/translation_maps/access_map.properties b/import/translation_maps/access_map.properties new file mode 100644 index 0000000000000000000000000000000000000000..f899ba2413eea52a3eaa3ebe5db22a0fae035861 --- /dev/null +++ b/import/translation_maps/access_map.properties @@ -0,0 +1,74 @@ +ArtPrint = Local Holdings +Article = Local Holdings +Atlas = Local Holdings +AudioTape = Local Holdings +AudioVisualMedia = Local Holdings +BluRayDisc = Local Holdings +Book = Local Holdings +Braille = Local Holdings +CD = Local Holdings +CDROM = Local Holdings +Chart = Local Holdings +ChipCartridge = Local Holdings +Collage = Local Holdings +DiscCartridge = Local Holdings +Drawing = Local Holdings +DVDAudio = Local Holdings +DVDROM = Local Holdings +DVDVideo = Local Holdings +eBook = Electronic Resources +Electronic = Electronic Resources +ElectronicArticle = Electronic Resources +ElectronicJournal = Electronic Resources +ElectronicMusicalScore = Electronic Resources +ElectronicNewspaper = Electronic Resources +ElectronicResourceDataCarrier = Local Holdings +ElectronicResourceRemoteAccess = Electronic Resources +ElectronicSerial = Electronic Resources +ElectronicThesis = Electronic Resources +Filmstrip = Local Holdings +FlashCard = Local Holdings +FloppyDisk = Local Holdings +Globe = Local Holdings +Journal = Local Holdings +Kit = Local Holdings +Manuscript = Local Holdings +Map = Local Holdings +Microfiche = Local Holdings +Microfilm = Local Holdings +Microform = Local Holdings +MotionPicture = Local Holdings +MusicalScore = Local Holdings +MusicRecording = Local Holdings +Nachlass = Local Holdings +Newspaper = Local Holdings +NotatedMusic = Local Holdings +Painting = Local Holdings +Photo = Local Holdings +Photonegative = Local Holdings +PhysicalObject = Local Holdings +Placard = Local Holdings +Print = Local Holdings +Record = Local Holdings +RegionalHoldings = Regional Holdings +SensorImage = Local Holdings +Serial = Local Holdings +Slide = Local Holdings +Software = Local Holdings +SoundRecordingMedium = Local Holdings +SoundCassette = Local Holdings +SoundDisc = Local Holdings +SoundRecording = Local Holdings +TapeCartridge = Local Holdings +TapeCassette = Local Holdings +TapeReel = Local Holdings +Thesis = Local Holdings +Transparency = Local Holdings +Unknown = Local Holdings +Video = Local Holdings +VideoTape = Local Holdings +VideoCartridge = Local Holdings +VideoCassette = Local Holdings +VideoDisc = Local Holdings +VideoReel = Local Holdings +# NewPublications = New Publications diff --git a/import/translation_maps/branch_map_de105.properties b/import/translation_maps/branch_map_de105.properties new file mode 100644 index 0000000000000000000000000000000000000000..a7bf638b5cb102bc8116f492aa0235c1b49c01d4 --- /dev/null +++ b/import/translation_maps/branch_map_de105.properties @@ -0,0 +1,16 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Zweigstellen der UB Freiberg, aus LIB_BRANCH_DESC +# Siehe auch Ticket #748 + +HB = Hauptbibliothek +#IN = Internet +3 = Zw 3 - Chemie / Biologie +15 = Zw 15 - Fremdsprachen +#18 = Zw 18 +#23 = Zw 23 +#27 = Zw 27 +73 = Zw 7/3 - Reiche Zeche +#92 = Wärmetechnik/Thermodynamik +102 = Zw 10/2 - Technikgeschichte (IWTG) diff --git a/import/translation_maps/branch_map_de15.properties b/import/translation_maps/branch_map_de15.properties new file mode 100644 index 0000000000000000000000000000000000000000..02cc36a5b5bc6ba891dd2c2a34e1f97e934767f9 --- /dev/null +++ b/import/translation_maps/branch_map_de15.properties @@ -0,0 +1,97 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Zweigstellen der UBL, aus LIB_BRANCH_DESC +11 = Musik +12 = Psychologie +13 = Sudhoffinstitut +31 = Rechtswissenschaft +#36 = Wirtschaftswiss. (ab 09/2009 nicht mehr benutzen!) +41 = Orientwissenschaften +46 = Erziehungswissenschaft +51 = Theologie +#56 = Mathematik (ab 12/06 nicht mehr benutzen!) +#61 = Informatik (ab 12/06 nicht mehr benutzen!) +66 = Geowissenschaften +71 = Physik +76 = Chemie/Physik +81 = Biowissenschaften +81idiv = iDiv +86 = Veterinärmedizin +#91 = ZB Medizin +91 = Zentralbibliothek Medizin +96 = Sportwissenschaft +#91004 = Rechtsmedizin (ab 09/2009 nicht mehr benutzen!) +91006 = Apotheke +#91007 = ZB Medizin, Zweigstelle Härtelstraße (ab 08/2009 nicht mehr benutzen!) +#91016 = Zentralbibliothek Medizin 2 +91016 = Zentralbibliothek Medizin 2 +91018 = Kopfkliniken +#91050 = Mikrobiologie (ab 10/2009 nicht mehr benutzen!) +#91163 = Kinderklinik u. Kinderchirurgie (ab 2008 nicht mehr benutzen!) +91166 = Neurochirurgie +#91204 = Paul-Flechsig-Institut (ab 01/2011 nicht mehr benutzen!) +#91271 = Arbeitsmed. u. Sozialmed. (ab 01/2011 nicht mehr benutzen!) +#00 = 00 +#01 = Hauptbibliothek +01 = Bibliotheca Albertina +#01FL = HB Fernleihe +#01com = Hauptbibliothek/Comenius (ab 2007 nicht mehr benutzen!) +#01mag = Hauptbibliothek Mag. (ab 2007 nicht mehr benutzen!) +#01rara = Hauptbibliothek Raramag. (ab 2007 nicht mehr benutzen!) +#01sm = Hauptbibliothek Sondermag (ab 2007 nicht mehr benutzen!) +01theat = Theaterwissenschaften +#01zw1 = Hauptbibliothek 02 (ab 09/2009 nicht mehr benutzen!) +02 = Campus-Bibliothek +02kmw = Kommunikations- und Medienwissenschaft +#02mag = Zw1 Mag. (ab 2007 nicht mehr benutzen!) +#03 = Orientwiss. (ab 2009 nicht mehr benutzen!) +05 = Archäologie +#06 = DLL +06 = Deutsches Literaturinstitut Leipzig +07 = Geographie +08 = Kunst +08akl = Kunst/AKL +#08mag = Kunst Mag. (ab 2007 nicht mehr benutzen!) +#09 = Herder (nicht mehr benutzen!) +11instr = Museum für Musikinstrumente +#36mag = Wirtschaftswiss. Mag (ab 2007 nicht mehr benutzen!) +#41alt = Orientwiss., Altorientalistik +41alt = Orientwissenschaften, Altorientalistik +#41ori = Orientwiss., Ägyptologie +41ori = Orientwissenschaften, Ägyptologie +#46mag = Erziehungswiss. Mag. (ab 2007 nicht mehr benutzen!) +#51mag = Theologie Mag. (ab 2007 nicht mehr benutzen!) +71thph = Theoretische Physik +76thph = Theoretische Physik +76min = Mineralogie +#86amb = Ambulator u. Geburtshilfl. Tierklinik +86amb = Ambulator und Geburtshilfliche Tierklinik +#86ana = Vet.-Anatomie +86ana = Veterinäranatomie +#86bak = Bakteriologie u. Mykologie +86bak = Bakteriologie und Mykologie +#86bio = Vet.-Physiol.-Chem. Inst. +86bio = Veterinär-physiologisch-chemisches Institut +#86chir = Chirurg. Tierklinik +86chir = Chirurgische Tierklinik +#86hyg = Tierhyg. u. öffentl. Veterinärwesen +86hyg = Tierhygiene und öffentliches Veterinärwesen +#86imm = Immunologie (ab 10/2009 nicht mehr benutzen!) +86kle = Kleintierklinik +#86leb = Lebensmitelhyg. (ab 10/2009 nicht mehr benutzen!) +86par = Parasitologie +#86pat = Vet.-Pathologie +86pat = Veterinärpathologie +86pha = Pharmakologie, Pharmazie, Toxikologie +#86phy = Vet.-Physiologie +86phy = Veterinärphysiologie +86te = Tierernährung +#86tie = Med. Tierklinik +86tie = Medizinische Tierklinik +86vir = Virologie +86vog = Poliklinik Vögel, Reptilien +#91mag = ZB Medizin Mag. (ab 2007 nicht mehr benutzen!) +#96mag = Sportwiss. Mag. (ab 2007 nicht mehr benutzen!) +#SG13 = Allg. Verw. SG13 +SG13 = Allgemeine Verwaltung SG13 diff --git a/import/translation_maps/branch_map_de520.properties b/import/translation_maps/branch_map_de520.properties new file mode 100644 index 0000000000000000000000000000000000000000..612ea0b4d870e00633d89d9204c72348f228f709 --- /dev/null +++ b/import/translation_maps/branch_map_de520.properties @@ -0,0 +1,33 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Zweigstellen der HTW Dresden, aus LIB_BRANCH_DESC + +A = Zentralbibliothek, A.-Schubert-Str. 8 +B = Zentralbibliothek, A.-Schubert-Str. 8 +BUBI = Zentralbibliothek, A.-Schubert-Str. 8 +D = Zentralbibliothek, A.-Schubert-Str. 8 +EF = Zentralbibliothek, A.-Schubert-Str. 8 +FS = Zentralbibliothek, A.-Schubert-Str. 8 +GR = Zentralbibliothek, A.-Schubert-Str. 8 +KE = Zentralbibliothek, A.-Schubert-Str. 8 +KF = Zentralbibliothek, A.-Schubert-Str. 8 +KS = Zentralbibliothek, A.-Schubert-Str. 8 +L = Zentralbibliothek, A.-Schubert-Str. 8 +M = Zentralbibliothek, A.-Schubert-Str. 8 +M1 = Zentralbibliothek, A.-Schubert-Str. 8 +R = Zentralbibliothek, A.-Schubert-Str. 8 +SAL = Zentralbibliothek, A.-Schubert-Str. 8 +SDA = Zentralbibliothek, A.-Schubert-Str. 8 +SEN = Zentralbibliothek, A.-Schubert-Str. 8 +SFR = Zentralbibliothek, A.-Schubert-Str. 8 +SON = Zentralbibliothek, A.-Schubert-Str. 8 +SRU = Zentralbibliothek, A.-Schubert-Str. 8 +SSI = Zentralbibliothek, A.-Schubert-Str. 8 +T = Zentralbibliothek, A.-Schubert-Str. 8 +ZB = Zentralbibliothek, A.-Schubert-Str. 8 +P1 = Zweigbibliothek Pillnitz +P2 = Zweigbibliothek Pillnitz +P3 = Zweigbibliothek Pillnitz +P4 = Zweigbibliothek Pillnitz +P5 = Zweigbibliothek Pillnitz \ No newline at end of file diff --git a/import/translation_maps/branch_map_dech1.properties b/import/translation_maps/branch_map_dech1.properties new file mode 100644 index 0000000000000000000000000000000000000000..9c7a7249e670e5eac79f167c3521452b16b6831d --- /dev/null +++ b/import/translation_maps/branch_map_dech1.properties @@ -0,0 +1,7 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Zweigstellen der UB Chemnitz, aus LIB_BRANCH_DESC +ZB = Zentralbibliothek +CBI = Campusbibliothek I +CBII = Campusbibliothek II \ No newline at end of file diff --git a/import/translation_maps/branch_map_dezi4.properties b/import/translation_maps/branch_map_dezi4.properties new file mode 100644 index 0000000000000000000000000000000000000000..185c5e303c7834f5ea2a6442916ffdedaa33e78e --- /dev/null +++ b/import/translation_maps/branch_map_dezi4.properties @@ -0,0 +1,42 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Zweigstellen der HSZG Zittau/Görlitz, aus LIB_BRANCH_DESC + +# komplette Code-Liste aus P99: +# Teile sind bei uns als "Bereich" bezeichnet: + +# BB = Buchbinder in Bearbeitung [nicht in finc, ANFRAGE] +# BW = Bücherwagen [nicht in finc] +FH = Zittau +FHGR = Görlitz +FHMGR = Görlitz +FHMZI = Zittau +# FL = Fernleihe [nicht in finc] +GR = Görlitz +# HS = Hochschule Zittau/Görlitz [nicht in finc] +# IHI = Internationales Hochschulinstitut [nicht in finc] +# K = Kst. Zeitschriften Zittau [nicht in finc] +# KM = Magazin Zittau [nicht in finc] +# L = LIBERO [nicht in finc] +LBGR = Görlitz +LBS = Zittau +LBSP = Zittau +LR = Zittau +LRGR = Görlitz +LRKS = Zittau +M = Zittau +MGR = Görlitz +# MGRB = Magazin Görlitz zum Buchbinder [nicht in finc] +MOG = Zittau +MP = Zittau +MS = Zittau +PGR = Görlitz +# RFL = Reservierung Fernleihe [nicht in finc] +# RGR = Reservierung Görlitz [nicht in finc] +# RZI = Reservierung Zittau [nicht in finc] +SAPP = Görlitz +TGR = Görlitz +THEKE = Zittau +VIZI = Zittau +ZI = Zittau \ No newline at end of file diff --git a/import/translation_maps/branch_map_dezwi2.properties b/import/translation_maps/branch_map_dezwi2.properties new file mode 100644 index 0000000000000000000000000000000000000000..57d3e21ee2aef5786e8de0efef7f6e2c79c0988b --- /dev/null +++ b/import/translation_maps/branch_map_dezwi2.properties @@ -0,0 +1,15 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Zweigstellen der WH Zwickau, aus LIB_BRANCH_DESC + + + +E8 = ZB Scheffelstraße +H1 = Hauptbibliothek +M6 = ZB Markneukirchen +R9 = ZB Reichenbach +S7 = ZB Schneeberg +T = In Transfer +B = In Bearbeitung +BI = Buchbinder diff --git a/import/translation_maps/collcode_map_de105.properties b/import/translation_maps/collcode_map_de105.properties new file mode 100644 index 0000000000000000000000000000000000000000..60cb3c67646d85c04b2461ac5dd965cbeb000930 --- /dev/null +++ b/import/translation_maps/collcode_map_de105.properties @@ -0,0 +1,42 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Standorte der UB Freiberg, aus LIB_COLLECTION_CODE_DESC +# Siehe auch Ticket #748 + +# alt +##BAI = Bibliographischer Apparat I +##BAII = Bibliographischer Apparat II +#CD = CD-ROM +#DBOD = Datenbank (DBoD) +#EBOOK = Ebook (Einzelkauf) +##EDV = EDV-Abteilung +#FBF = Fachbuchfreihand (FBF) +#FDLN = QUCOSA - Publikationsserver +#FFFH = Freiberger Forschungshefte (FBF) +#FKDB = Kieler Diskussionsbeiträge (FBF) +#FVDI = VDI-Berichte (FBF) +##LEER = +#LFFH = Freiberger Forschungshefte (LS) +#LS = Lesesaal (LS) +#MAG = Magazin +#MAGZw8 = Magazin Zw8 +##NA = Nicht vormerkbar +#WA = Wissenschaftlicher Altbestand + +# jetzt neu: regular expressions wegen Ticket #1573 (doppelte Zuordnung von UBE_DBOD) +pattern_0 = ^CD$=>CD-ROM +pattern_1 = DBOD=>Datenbanken (DBoD) +pattern_2 = ^EBOOK$=>Ebook (Einzelkauf) +pattern_3 = ^FBF$=>Fachbuchfreihand (FBF) +# Ticket #1703: FDLN ausblenden +#pattern_4 = ^FDLN$=>QUCOSA - Publikationsserver +pattern_4 = ^FFFH$=>Freiberger Forschungshefte (FBF) +pattern_5 = ^FKDB$=>Kieler Diskussionsbeiträge (FBF) +pattern_6 = ^FVDI$=>VDI-Berichte (FBF) +pattern_7 = ^LFFH$=>Freiberger Forschungshefte (LS) +pattern_8 = ^LS$=>Lesesaal (LS) +pattern_9 = ^MAG$=>Magazin +pattern_10 = ^MAGZw8$=>Magazin Zw8 +pattern_11 = ^WA$=>Wissenschaftlicher Altbestand +pattern_12 = UBE=>Einzelplatz diff --git a/import/translation_maps/collcode_map_de15.properties b/import/translation_maps/collcode_map_de15.properties new file mode 100644 index 0000000000000000000000000000000000000000..a9d8bcac353ff56534d5a78c276f1508417f8b50 --- /dev/null +++ b/import/translation_maps/collcode_map_de15.properties @@ -0,0 +1,70 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Standorte der UBL, aus LIB_COLLECTION_CODE_DESC + +Anw = Magazin / Sonstige +Ausk = Magazin / Sonstige +Bank = Magazin / Sonstige +Ethn = Freihandbereich +FH = Freihandbereich +FHAfr = Freihandbereich +FHAllg = Freihandbereich +FHAmer = Freihandbereich +FHAngl = Freihandbereich +FHArch = Freihandbereich +FHBio = Freihandbereich +FHChem = Freihandbereich +FHEthn = Freihandbereich +FHGeogr = Freihandbereich +FHGeolog = Freihandbereich +FHGerm = Freihandbereich +FHGesch = Freihandbereich +FHGlobStud = Freihandbereich +FHInf = Freihandbereich +FHKinder = Freihandbereich +FHKult = Freihandbereich +FHKunst = Freihandbereich +FHLandw = Freihandbereich +FHLit = Freihandbereich +FHMath = Freihandbereich +FHMed = Freihandbereich +FHMus = Freihandbereich +FHNaturw = Freihandbereich +FHNiederl = Freihandbereich +FHPaed = Freihandbereich +FHPhilol = Freihandbereich +FHPhilos = Freihandbereich +FHPhys = Freihandbereich +FHPolitik = Freihandbereich +FHPsych = Freihandbereich +FHRecht = Freihandbereich +FHRoman = Freihandbereich +FHSOSA = Freihandbereich +FHSkand = Freihandbereich +FHSlaw = Freihandbereich +FHSoz = Freihandbereich +FHSport = Freihandbereich +FHSprach = Freihandbereich +FHTechn = Freihandbereich +FHTheater = Freihandbereich +FHTheol = Freihandbereich +FHWirtsch = Freihandbereich +Frueh = Freihandbereich +GK = Magazin / Sonstige +Indol = Freihandbereich +Jap = Freihandbereich +Keine = Magazin / Sonstige +Klass = Freihandbereich +Korea = Freihandbereich +LBS = Lehrbuchsammlung +LS = Freihandbereich +Oeff = Magazin / Sonstige +Orient = Freihandbereich +Rel = Freihandbereich +SSG1 = Freihandbereich +Sin = Freihandbereich +Straf = Magazin / Sonstige +ZLS = Freihandbereich +Zas = Freihandbereich +Zivil = Magazin / Sonstige diff --git a/import/translation_maps/collcode_map_de520.properties b/import/translation_maps/collcode_map_de520.properties new file mode 100644 index 0000000000000000000000000000000000000000..d867e95eb5a9bfbf133b51b93acd3819abd56243 --- /dev/null +++ b/import/translation_maps/collcode_map_de520.properties @@ -0,0 +1,211 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Standorte der HTW Dresden, aus LIB_COLLECTION_CODE_DESC + +A = Bestellung +AA = Bibliographien, Verzeichnisse +AB = Bibliographien, Verzeichnisse +AC = Bibliographien, Verzeichnisse +AD = Bibliographien, Verzeichnisse +AE = Nachschlagewerke, Wörterbücher +AF = Nachschlagewerke, Wörterbücher +AG = Nachschlagewerke, Wörterbücher +AH = Nachschlagewerke, Wörterbücher +AK = Wissenschaftskunde, Museumswesen +AL = Hochschulwesen +AM = Schriftkunde +AN = Buch-, Bibliothekwesen, Informationswiss. +AP1 = Medien-u. Kommunikationswiss. +AP3 = Medien-u. Kommunikationswiss. +AP9 = Medien-u. Kommunikationswiss. +AP995 = Medien-u. Kommunikationswiss. +AR = Umweltschutz, Raumordnung +AV = Serien, Zeitschriften +AW = Serien, Zeitschriften +AX = Serien, Zeitschriften +AY = Serien, Zeitschriften +AZ = Serien, Zeitschriften +B = Theologie +Best = Bestellung +CA = Philosophie +CB = Philosophie +CC = Philosophie +CD = Philosophie +CE = Philosophie +CF = Philosophie +CG = Philosophie +CH = Philosophie +CI = Philosophie +CL = Psychologie +CM = Psychologie +CN = Psychologie +CO = Psychologie +CP = Psychologie +CQ = Psychologie +CR = Psychologie +CS = Psychologie +CT = Psychologie +CU = Psychologie +CV = Psychologie +CW = Psychologie +CX = Psychologie +CY = Psychologie +CZ = Psychologie +D = Pädagogik +E = Sprachen, Sprachwissenschaft +F = Philologie +FL = Fernleihe +G = Sprachen, Sprachwissenschaft +H = Sprachen, Sprachwissenschaft +I = Sprachen, Sprachwissenschaft +K = Sprachen, Sprachwissenschaft +L = Libero +LA = Ethnologie +LB = Ethnologie +LC = Ethnologie +LD = Archäologie, Kunstgeschichte +LE = Archäologie, Kunstgeschichte +LF = Archäologie, Kunstgeschichte +LG = Archäologie, Kunstgeschichte +LH = Archäologie, Kunstgeschichte +LI = Archäologie, Kunstgeschichte +LJ = Archäologie, Kunstgeschichte +LK = Archäologie, Kunstgeschichte +LL = Archäologie, Kunstgeschichte +LM = Archäologie, Kunstgeschichte +LN = Archäologie, Kunstgeschichte +LO = Archäologie, Kunstgeschichte +LP = Musikwiss. +LQ = Musikwiss. +LR = Musikwiss. +LS = Musikwiss. +LT = Musikwiss. +LU = Musikwiss. +LV = Musikwiss. +LW = Musikwiss. +LX = Musikwiss. +LY = Musikwiss. +LZ = Musikwiss. +MA = Politologie +MB = Politologie +MC = Politologie +MD = Politologie +ME = Politologie +MF = Politologie +MG = Politologie +MH = Politologie +MI = Politologie +MJ = Politologie +MK = Politologie +ML = Politologie +MM = Politologie +MN = Soziologie +MO = Soziologie +MP = Soziologie +MQ = Soziologie +MR = Soziologie +MS = Soziologie +MX = Militärwiss. +MY = Militärwiss. +MZ = Militärwiss. +N = Geschichte +P = Recht +Q = Wirtschaft +R = Geographie +SA = Mathematik +SB = Mathematik +SC = Mathematik +SD = Mathematik +SE = Mathematik +SF = Mathematik +SG = Mathematik +SH = Mathematik +SI = Mathematik +SJ = Mathematik +SK = Mathematik +SL = Mathematik +SM = Mathematik +SN = Mathematik +SO = Mathematik +SP = Mathematik +SQ = Informatik +SR = Informatik +SS = Informatik +ST = Informatik +SU = Informatik +TA = Naturwissenschaften allg. +TB = Naturwissenschaften allg. +TC = Naturwissenschaften allg. +TD = Naturwissenschaften allg. +TE = Geologie, Paläontologie +TF = Geologie, Paläontologie +TG = Geologie, Paläontologie +TH = Geologie, Paläontologie +TI = Geologie, Paläontologie +TJ = Geologie, Paläontologie +TK = Geologie, Paläontologie +TL = Geologie, Paläontologie +TM = Geologie, Paläontologie +TN = Geologie, Paläontologie +TO = Geologie, Paläontologie +TP = Geologie, Paläontologie +TQ = Geologie, Paläontologie +TR = Geologie, Paläontologie +TS = Geologie, Paläontologie +TT = Geologie, Paläontologie +TU = Geologie, Paläontologie +TV = Geologie, Paläontologie +TW = Geologie, Paläontologie +TX = Geologie, Paläontologie +TY = Geologie, Paläontologie +TZ = Geologie, Paläontologie +U = Physik +V = Chemie, Pharmazie +WA = Biologie +WB = Biologie +WC = Biologie +WD = Biologie +WE = Biologie +WF = Biologie +WG = Biologie +WH = Biologie +WI = Biologie +WJ = Biologie +WK = Biologie +WL = Biologie +WM = Biologie +WN = Biologie +WO = Biologie +WP = Biologie +WQ = Biologie +WR = Biologie +WS = Biologie +WT = Biologie +WU = Biologie +WV = Biologie +WW = Medizin +WX = Medizin +WY = Medizin +WZ = Medizin +X = Medizin +Y = Medizin +XX = Datenübernahme +ZA = Landwirtschaft, Gartenbau +ZB = Landwirtschaft, Gartenbau +ZC = Landwirtschaft, Gartenbau +ZD = Nutztierwiss., Landbautechnik +ZE = Ernährungswiss., Hauswirtschaft +ZG = Technik allg. +ZH = Architektur +ZI = Bauingenieur- u. Vermessungswesen +ZK = Bergbau- u. Hüttenwesen +ZL = Maschinenbau +ZM = Werkstoffwiss., Fertigungstechnik +ZN = Elektrotechnik, Nachrichtentechnik +ZO = Verkehr, Transport +ZP = Energietechnik +ZQ = MSR-Technik, Automatisierungstechnik +ZS = Handwerk, Gewerbe, Industrien +ZX = Sport +ZY = Sport \ No newline at end of file diff --git a/import/translation_maps/collcode_map_dech1.properties b/import/translation_maps/collcode_map_dech1.properties new file mode 100644 index 0000000000000000000000000000000000000000..2576b14b11e864f7c2040df1c42ed6355a0059f7 --- /dev/null +++ b/import/translation_maps/collcode_map_dech1.properties @@ -0,0 +1,33 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Standorte der UB Chemnitz, aus LIB_COLLECTION_CODE_DESC +# Zur Gruppierung siehe Ticket #750. + + +BK05 = Magazin +F = Freihand +FNA = Freihand +K = +KS = Magazin +LS = Lesesaal +LSCZ = Lesesaal +LSSLS = Lesesaal +M = Magazin + +#BK05 = Kellermagazin BK05, Bereitstellung am folgenden Öffnungstag +#CDROMNetz = Campuslizenz +#FL = Fernleihe nehmend +#FNA = Freihand nicht ausleihbar +#HB = Handbestand +#KS = Kartenschrank, Bereitstellung am folgenden Öffnungstag +#LSCZ = Lesesaal - Sammlung "Prof. Czok" +#LSSLS = Lesesaal - Sammlung "Stiftung Land Sachsen" +#M = Magazin, Bereitstellung am folgenden Öffnungstag +#VW = Verwaltung +#X = Datenübernahme + +#CDROMNetz, FL, VW, X, HB = entfernen +#BK05, KS, M = Magazin +#LS, LSCZ, LSSLS = Lesesaal +#F, FNA = Freihand diff --git a/import/translation_maps/collcode_map_dezi4.properties b/import/translation_maps/collcode_map_dezi4.properties new file mode 100644 index 0000000000000000000000000000000000000000..8fed19fc1b04f69940b02c714d95660503777bb7 --- /dev/null +++ b/import/translation_maps/collcode_map_dezi4.properties @@ -0,0 +1,42 @@ +### +# DATA FROM INDEXER = Label +# +# Libero-Standorte der HSZG Zittau/G\u00f6rlitz, aus LIB_COLLECTION_CODE_DESC + +# komplette Code-Liste aus P99: +# Teile sind bei uns als "Bereich" bezeichnet: + +# BB = Buchbinder in Bearbeitung [nicht in finc, ANFRAGE] +# BW = B\u00fccherwagen [nicht in finc] +FH = Freihand +FHGR = Freihand +FHMGR = Medienregal +FHMZI = Medienregal +# FL = Fernleihe [nicht in finc] +# GR = Zweigbibliothek G\u00f6rlitz [nicht in "Bereich" ] +# HS = Hochschule Zittau/G\u00f6rlitz [nicht in finc] +# IHI = Internationales Hochschulinstitut [nicht in finc ] +# K = Kst. Zeitschriften Zittau [nicht in finc] +# KM = Magazin Zittau [nicht in finc] +# L = LIBERO [nicht in finc] +LBGR = Loseblattausgabe +LBS = Lehrbuchsammlung +LBSP = Lehrbuchsammlung Pr\u00e4senz +LR = Freihand Pr\u00e4senz +LRGR = Freihand Pr\u00e4senz +LRKS = Kartenschrank Pr\u00e4senz +M = Magazin +MGR = Magazin +# MGRB = Magazin G\u00f6rlitz zum Buchbinder [nicht in finc] +MOG = Magazin +MP = Magazin Pr\u00e4senz +MS = Magazin Sonderbestand +PGR = Freihand Pr\u00e4senz +# RFL = Reservierung Fernleihe [nicht in finc] +# RGR = Reservierung G\u00f6rlitz [nicht in finc] +# RZI = Reservierung Zittau [nicht in finc] +SAPP = Semesterapparat +TGR = Theke +THEKE = Theke +VIZI = Sonderbestand +# ZI = Hochschulbibliothek Zittau [nicht in "Bereich"] \ No newline at end of file diff --git a/import/translation_maps/collcode_map_dezwi2.properties b/import/translation_maps/collcode_map_dezwi2.properties new file mode 100644 index 0000000000000000000000000000000000000000..479f49093bd9754ffdc7d6de7cc9e0ae50fef1a2 --- /dev/null +++ b/import/translation_maps/collcode_map_dezwi2.properties @@ -0,0 +1,33 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Standorte der WHZ, aus LIB_COLLECTION_CODE_DESC + +1.OG = 1.OG Zeitschriften +2.OG = 2.OG Zeitschriften +BUBI = Magazin / Buchbinder +Buchbinder = beim Buchbinder +Dis = Diskettenschrank +EG = EG Zeitschriften +F1 = Medientrog +F2 = Infobestand +F3 = Ausstellung +F3E = Freihand +F3R = Freihand +F4 = Zeitschriften +F5 = Freihand +F6 = Mediothek +F7 = Altbestand +F8 = Belletristik +F8K = Mini-Kinderbibliothek +F9 = Hörbücher +FL = Fernleihe +GG = Geschäftsgang 1.OG +IN = Internet (siehe Link) +INT = Intranet +KL = KL +Mag = Magazin +Map = Mappenschrank +NOR = Normen +UG = UG Zeitschriften +ZLS = Zeitschriftenlesesaal diff --git a/import/translation_maps/collection_map.properties b/import/translation_maps/collection_map.properties new file mode 100644 index 0000000000000000000000000000000000000000..30d89a6a09884cd115fc21be03a6e6be73ef9cb0 --- /dev/null +++ b/import/translation_maps/collection_map.properties @@ -0,0 +1,88 @@ +# Nationallizenzen +ZDB-1-DFL = Deutschsprachige Frauenliteratur des 18. & 19. Jahrhunderts, Teil 1 und 2 +ZDB-1-ECC = Eighteenth Century Collection Online +ZDB-1-EEB = Early English books online +ZDB-1-ELW = English Language Womens' Literature of the 18th & 19th Centuries +ZDB-1-MME = Making of the Modern World +ZDB-1-MML = Making of the Modern Law - Legal Treatises 1800-1926 / MOML 1 +ZDB-1-WFR = Wales related fiction of the romantic period +# ZDB-1-NEL = E-Books Net Library +ZDB-1-NEL = EBSCOhost eBook Collection +ZDB-1-MYA = Mystik & Aszese des 16. - 19. Jahrhunderts +ZDB-1-RTH = Religion & Theologie des 16. - 19. Jahrhunderts +ZDB-1-EIO = Casalini - Editoria Italiana Online +# ZDB-1-NEF = E-Books von NetLibrary +ZDB-1-NEF = EBSCOhost eBook Collection +ZDB-1-EAI = Early American Imprints, Series I - Evans 1639-1800 / EAI +ZDB-1-BEC = Brill Nijhoff E-Books Collections, Human Rights and Humanitarian Law +ZDB-1-KEB = Karger eBooks Collection 1997-2009 +ZDB-1-RSE = RSC eBook Collection, Royal Society of Chemistry, 1968-2009 +ZDB-1-DLC = Digital Library of the Catholic Reformation +ZDB-1-DLP = Digital Library of the Classic Protestant Texts +ZDB-1-CLF = Corpus de la première littérature francophone de l'Afrique noire +ZDB-1-ELC = Elsevier eBook Collection on Science Direct - Mathematics +ZDB-1-TES = Teatro Espanol del Siglo de Oro / TESO +ZDB-1-CDC = Corvey Digital Collection - Literature of the 18th and 19th Centuries +ZDB-1-ALD = Aristoteles Latinus Database +ZDB-1-SOT = Social Theory +ZDB-1-LEO = Der Literarische Expressionismus Online +ZDB-1-EMO = Empire Online +ZDB-1-MOR = Music Online Reference +ZDB-1-EAP = Early American Imprints, Series II - Shaw/Shoemaker 1801-1819 / EAI II +ZDB-1-SSB = Primary Sources / Slavic Studies Bundle +ZDB-1-WBA = World Bank E-Library Archive +ZDB-1-SSB = Primary Sources / Slavic Studies +ZDB-1-SCM = Springer eBook Collection / Chemistry and Materials Science 2005-2008 +ZDB-1-SMI = Springer eBook Collection / Medicine 2005-2008 +ZDB-1-PAO = Periodicals Archive Online / PAO 1802-2000 +# "echte" Quellen +0 = Verbunddaten SWB +1 = Project Gutenberg +3 = Nielsen Book Data - NE print +4 = Schweitzer EBL - PDA +5 = Naxos Music Library +6 = Music Online Reference +7 = Periodicals Archive Online +8 = Lizenzfreie Online-Ressourcen +9 = Early Music Online +10 = Music Treasures Consortium +11 = Bibliographie des Musikschrifttums online +12 = B3Kat +13 = Diss online +14 = Répertoire International des Sources Musicale +15 = Petrucci Musikbibliothek +16 = Elsevier E-Books +#17 = Nationallizenzen E-Books # Ticket #2117 (default value? map to null - #17 = null) +18 = Oxford Scholarship Online +19 = Kubon & Sagner Digital +20 = Gallica (BNF) +# 21 = GBV, zur Zeit nur Ausschnitt Hochschule f\u00fcr Musik Weimar +21 = GBV Musikdigitalisate +22 = Qucosa +24 = ebrary E-Books +26 = DOAB Directory of Open Access Books +27 = Munzinger +28 = DOAJ Directory of Open Access Journals +29 = Handwörterbuch der musikalischen Terminologie +30 = SSOAR Social Science Open Access Repository +31 = Opera in Video +# +34 = PQDT Open +35 = Hathi Trust +# +39 = Persée +40 = Dance in Video +41 = Classical Music in Video +42 = Classical Scores Library II +44 = Deutsches Textarchiv +# +46 = de Gruyter eBooks +47 = Vahlen eLibrary +# +# Kollektionen, die Bestandteil einer Quelle sind +AMSP = American Space +DFG1 = Sammlung C. F. Becker +TRCS = Taiwan Resource Center for Chinese Studies +qucosa = Qucosa +pdam = MyiLibrary +KEY = Schlüssel diff --git a/import/translation_maps/fincClassification.properties b/import/translation_maps/fincClassification.properties new file mode 100644 index 0000000000000000000000000000000000000000..74add618a1a9df4bb3437176bd1f639384b651a4 --- /dev/null +++ b/import/translation_maps/fincClassification.properties @@ -0,0 +1,360 @@ +# RVK +fincclass.pattern_0 = A[A-Z] [0-9]+.*=>Allgemeines +fincclass.pattern_1 = B[A-Z] [0-9]+.*=>Theologie und Religionswissenschaft +fincClass.pattern_2 = C[A-I] [0-9]+.*=>Philosophie +fincClass.pattern_3 = C[L-Z] [0-9]+.*=>Psychologie +fincClass.pattern_4 = D[A-Z] [0-9]+.*=>Pädagogik +fincClass.pattern_5 = E[A-Z] [0-9]+.*=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen +fincClass.pattern_6 = G[A-Z] [0-9]+.*=>Germanistik, Niederlandistik, Skandinavistik +fincClass.pattern_7 = H[A-Z] [0-9]+.*=>Anglistik, Amerikanistik +fincClass.pattern_8 = I[A-Z] [0-9]+.*=>Romanistik +fincClass.pattern_9 = K[A-Z] [0-9]+.*=>Slawistik +fincClass.pattern_10 = L[A-C] [0-9]+.*=>Ethnologie (Volks- und Völkerkunde) +fincClass.pattern_11 = (LD [1-2][0-9]+)|(L[E-G] [0-9]+).*=>Klassische Archäologie +fincClass.pattern_12 = (LD [3-7][0-9]+)|(L[H-O] [0-9]+).*=>Kunst und Kunstgeschichte +fincClass.pattern_13 = (LD [8-9][0-9]+)|(L[P-Y] [0-9]+).*=>Musikwissenschaft +fincClass.pattern_14 = M[A-L] [0-9]+.*=>Politologie +fincClass.pattern_15 = M[N-W] [0-9]+.*=>Soziologie +fincClass.pattern_16 = M[X-Z] [0-9]+.*=>Militärwissenschaft +fincClass.pattern_17 = N[A-Z] [0-9]+.*=>Geschichte +fincClass.pattern_18 = P[A-Z] [0-9]+.*=>Rechtswissenschaft +fincClass.pattern_19 = Q[A-Z] [0-9]+.*=>Wirtschaftswissenschaften +fincClass.pattern_20 = R[A-Z] [0-9]+.*=>Geographie +fincClass.pattern_21 = S[A-P] [0-9]+.*=>Mathematik +fincClass.pattern_22 = S[Q-U] [0-9]+.*=>Informatik +fincClass.pattern_23 = T[A-D] [0-9]+.*=>Allgemeine Naturwissenschaft +fincClass.pattern_24 = T[E-Z] [0-9]+.*=>Geologie und Paläontologie +fincClass.pattern_25 = U[A-Z] [0-9]+.*=>Physik +fincClass.pattern_26 = V[A-Z] [0-9]+.*=>Chemie und Pharmazie +fincClass.pattern_27 = W[A-Z] [0-9]+.*=>Biologie +fincClass.pattern_28 = (W[W-Z]|X[A-Z]|Y[A-V]) [0-9]+.*=>Medizin +fincClass.pattern_29 = Z[A-E] [0-9]+.*=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +fincClass.pattern_30 = Z[G-S] [0-9]+.*=>Technik +fincClass.pattern_31 = Z[X-Y] [0-9]+.*=>Sport +fincClass.pattern_32 = (F[BCEHNOPQTX] [0-9]+)|(FF [1-2][0-9]+).*=>Klassische Philologie +fincClass.pattern_33 = (FK [0-9]+)|(FF [5-6][0-9]+).*=>Byzantinistik +fincClass.pattern_34 = F[RUY] [0-9]+.*=>Mittellateinische Philologie +fincClass.pattern_35 = (F[GL] [0-9]+)|(FD [1-2][0-9]+).*=>Neugriechische Philologie +fincClass.pattern_36 = F[SVZ] [0-9]+.*=>Neulateinische Philologie +# DDC +fincClass.pattern_37 = ^0[1-35-9][0-9]=>Allgemeines +fincClass.pattern_38 = (^2[0-9]{2})|(^1[37][0-9])=>Theologie und Religionswissenschaften +fincClass.pattern_39 = ^((1[0-46-9])|21)[0-9]=>Philosophie +fincClass.pattern_40 = ^1[35][0-9]=>Psychologie +fincClass.pattern_41 = ^37[0-9]=>Pädagogik +fincClass.pattern_42 = ^(4[019][0-9])|(8[09][0-9])=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +fincClass.pattern_43 = ^(43[0-9])|(83[0-9])=>Germanistik, Niederlandistik, Skandinavistik +fincClass.pattern_44 = ^(42[0-9])|(8[12][0-9])=>Anglistik, Amerikanistik +fincClass.pattern_45 = ^(4[4-6][0-9])|(8[4-6][0-9])=>Romanistik +fincClass.pattern_46 = ^39[0-9]=>Ethnologie (Volks- und Völkerkunde) +fincClass.pattern_47 = ^93[0-9]=>Klassische Archäologie +fincClass.pattern_48 = ^7[0234-7][0-9]=>Kunst und Kunstgeschichte +fincClass.pattern_49 = ^78[0-9]=>Musikwissenschaft +fincClass.pattern_50 = ^32[0-9]=>Politologie +fincClass.pattern_51 = ^3[0-367][0-9]=>Soziologie +fincClass.pattern_52 = ^35[0-9]=>Militärwissenschaft +fincClass.pattern_53 = ^((9[012-9])|(1[89])|27)[0-9]=>Geschichte +fincClass.pattern_54 = ^3[45][0-9]=>Rechtswissenschaft +fincClass.pattern_55 = ^(3[38][0-9])|(65[0-9])=>Wirtschaftswissenschaften +fincClass.pattern_56 = ^(91|55)[0-9]=>Geographie +fincClass.pattern_57 = ^(51|16|31)[0-9]=>Mathematik +fincClass.pattern_58 = ^(00|77)[0-9]=>Informatik +fincClass.pattern_59 = ^50[0-9]=>Allgemeine Naturwissenschaft +fincClass.pattern_60 = ^5[56][0-9]=>Geologie und Paläontologie +fincClass.pattern_61 = ^5[23][0-9]=>Physik +fincClass.pattern_62 = ^(54[0-9])|(66[0-9])=>Chemie und Pharmazie +fincClass.pattern_63 = ^5[7-9][0-9]=>Biologie +fincClass.pattern_64 = ^(61|57)[0-9]=>Medizin +fincClass.pattern_65 = ^(6[34][0-9])|(7[134][0-9])=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +fincClass.pattern_66 = ^((6[0-789])|72)[0-9]=>Technik +fincClass.pattern_67 = ^79[0-9]=>Sport +fincClass.pattern_68 = ^((4[78])|8[78])[0-9]=>Klassische Philologie +fincClass.pattern_69 = ^[48]8[0-9]=>Neugriechische Philologie +fincClass.pattern_70 = ^[48]7[0-9]=>Neulateinische Philologie +fincClass.pattern_71 = ^04[0-9]=>no subject assigned +#BIC +fincClass.pattern_72 = ((^[BGW]$)|(^((B[GJMT])|(G[BLMPT])|(WZ))([A-Z]|$)))=>Allgemeines +fincClass.pattern_73 = ^HR([A-Z]|$)=>Theologie und Religionswissenschaften +fincClass.pattern_74 = ^HP([A-Z]|$)=>Philosophie +fincClass.pattern_75 = ^JM([A-Z]|$)=>Psychologie +fincClass.pattern_76 = ((^E$)|(^((CJ)|(E[BLS])|(JN)|(YQ))([A-Z]|$)))=>Pädagogik +fincClass.pattern_77 = ((^[CD]$)|(^((C[BF])|(D[CDNQS]))([A-Z]|$)))=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen +fincClass.pattern_78 = ^E[BLS]([A-Z]|$)=>Anglistik, Amerikanistik +fincClass.pattern_79 = ^HD([A-Z]|$)=>Klassische Archäologie +fincClass.pattern_80 = ((^A$)|(^((A[BCFGJKMNPS])|(WF))([A-Z]|$)))=>Kunst und Kunstgeschichte +fincClass.pattern_81 = (((^AS)|(^AV))([A-Z]|$))=>Musikwissenschaft +fincClass.pattern_82 = ^JP([A-Z]|$)=>Politologie +fincClass.pattern_83 = ((^J$)|(^J[FHK]([A-Z]|$)))=>Soziologie +fincClass.pattern_84 = ^JW([A-Z]|$)=>Militärwissenschaft +fincClass.pattern_85 = ((^H$)|(^(HB|WQ|BG)([A-Z]|$)))=>Geschichte +fincClass.pattern_86 = ((^L$)|(^L[ABNR]([A-Z]|$)))=>Rechtswissenschaft +fincClass.pattern_87 = ((^K$)|(^((K[CFJN])|AK|TR|UF)([A-Z]|$)))=>Wirtschaftswissenschaften +fincClass.pattern_88 = ((^R$)|(^RG([A-Z]|$)))=>Geographie +fincClass.pattern_89 = ^PB([A-Z]|$)=>Mathematik +fincClass.pattern_90 = ((^U$)|(^((U[BDFGKLMNQRTY])|TJ)([A-Z]|$)))=>Informatik +fincClass.pattern_91 = ((^P$)|(^PD([A-Z]|$)))=>Allgemeine Naturwissenschaft +fincClass.pattern_92 = ^(RB|TH)([A-Z]|$)=>Geologie und Paläontologie +fincClass.pattern_93 = ^P[GH]([A-Z]|$)=>Physik +fincClass.pattern_94 = ^(PN|TD|TC)([A-Z]|$)=>Chemie und Pharmazie +fincClass.pattern_95 = ^(MZ|PS|TC|RN)([A-Z]|$)=>Biologie +fincClass.pattern_96 = ((^M$)|(^M[BFJMNQRX]([A-Z]|$)))=>Medizin +fincClass.pattern_97 = ^(RP|TV|WB|WF|WK|WM)([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +fincClass.pattern_98 = ((^T$)|(^(AM|RN|RP|TC|TD|TH|(T[BGJNQRT]))([A-Z]|$)))=>Technik +fincClass.pattern_99 = ^WS([A-Z]|$)=>Sport +fincClass.pattern_100 = ((^[FVY]$)|(^((F[ACFHJKLMPQRTVWXYZ])|(V[FSX])|(W[CDGHJNT])|(Y[BDFNRXZ]))([A-Z]|$)))=>no subject assigned + +#DDC +#fincClass.pattern_37 = ^00[0-9]=>Informatik +#fincClass.pattern_38 = ^01[0-9]=>Allgemeines +#fincClass.pattern_39 = ^02[0-9]=>Allgemeines +#fincClass.pattern_40 = ^03[0-9]=>Allgemeines +#fincClass.pattern_41 = ^04[0-9]=>no subject assigned +#fincClass.pattern_42 = ^05[0-9]=>Allgemeines +#fincClass.pattern_43 = ^06[0-9]=>Allgemeines +#fincClass.pattern_44 = ^07[0-9]=>Allgemeines +#fincClass.pattern_45 = ^08[0-9]=>Allgemeines +#fincClass.pattern_46 = ^09[0-9]=>Allgemeines +#fincClass.pattern_47 = ^10[0-9]=>Philosophie +#fincClass.pattern_48 = ^11[0-9]=>Philosophie +#fincClass.pattern_49 = ^12[0-9]=>Philosophie +#fincClass.pattern_50 = ^13[0-9]=>Philosophie +#fincClass.pattern_51 = ^14[0-9]=>Philosophie +#fincClass.pattern_52 = ^15[0-9]=>Psychologie +#fincClass.pattern_53 = ^16[0-9]=>Philosophie +#fincClass.pattern_54 = ^17[0-9]=>Philosophie +#fincClass.pattern_55 = ^18[0-9]=>Philosophie +#fincClass.pattern_56 = ^19[0-9]=>Philosophie +#fincClass.pattern_57 = ^20[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_58 = ^21[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_59 = ^22[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_60 = ^23[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_61 = ^24[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_62 = ^25[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_63 = ^26[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_64 = ^27[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_65 = ^28[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_66 = ^29[0-9]=>Theologie und Religionswissenschaften +#fincClass.pattern_67 = ^30[0-9]=>Soziologie +#fincClass.pattern_68 = ^31[0-9]=>Soziologie +#fincClass.pattern_69 = ^32[0-9]=>Politologie +#fincClass.pattern_70 = ^33[0-9]=>Wirtschaftswissenschaften +#fincClass.pattern_71 = ^34[0-9]=>Rechtswissenschaft +#fincClass.pattern_72 = ^35[0-9]=>Militärwissenschaft +#fincClass.pattern_73 = ^36[0-9]=>Soziologie +#fincClass.pattern_74 = ^37[0-9]=>Pädagogik +#fincClass.pattern_75 = ^38[0-9]=>Wirtschaftswissenschaften +#fincClass.pattern_76 = ^39[0-9]=>Ethnologie (Volks- und Völkerkunde) +#fincClass.pattern_77 = ^40[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_78 = ^41[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_79 = ^42[0-9]=>Anglistik, Amerikanistik +#fincClass.pattern_80 = ^43[0-9]=>Germanistik, Niederlandistik, Skandinavistik +#fincClass.pattern_81 = ^44[0-9]=>Romanistik +#fincClass.pattern_82 = ^45[0-9]=>Romanistik +#fincClass.pattern_83 = ^46[0-9]=>Romanistik +#fincClass.pattern_84 = ^47[0-9]=>Klassische Philologie +#fincClass.pattern_85 = ^48[0-9]=>Klassische Philologie +#fincClass.pattern_86 = ^49[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_87 = ^50[0-9]=>Allgemeine Naturwissenschaft +#fincClass.pattern_88 = ^51[0-9]=>Mathematik +#fincClass.pattern_89 = ^52[0-9]=>Physik +#fincClass.pattern_90 = ^53[0-9]=>Physik +#fincClass.pattern_91 = ^54[0-9]=>Chemie und Pharmazie +#fincClass.pattern_92 = ^55[0-9]=>Geologie und Paläontologie +#fincClass.pattern_93 = ^56[0-9]=>Geologie und Paläontologie +#fincClass.pattern_94 = ^57[0-9]=>Biologie +#fincClass.pattern_95 = ^58[0-9]=>Biologie +#fincClass.pattern_96 = ^59[0-9]=>Biologie +#fincClass.pattern_97 = ^60[0-9]=>Technik +#fincClass.pattern_98 = ^61[0-9]=>Medizin +#fincClass.pattern_99 = ^62[0-9]=>Technik +#fincClass.pattern_100 = ^63[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_101 = ^64[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_102 = ^65[0-9]=>Wirtschaftswissenschaften +#fincClass.pattern_103 = ^66[0-9]=>Chemie und Pharmazie +#fincClass.pattern_104 = ^67[0-9]=>Technik +#fincClass.pattern_105 = ^68[0-9]=>Technik +#fincClass.pattern_106 = ^69[0-9]=>Technik +#fincClass.pattern_107 = ^70[0-9]=>Kunst und Kunstgeschichte +#fincClass.pattern_108 = ^71[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_109 = ^72[0-9]=>Kunst und Kunstgeschichte +#fincClass.pattern_110 = ^73[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_111 = ^74[0-9]=>Kunst und Kunstgeschichte +#fincClass.pattern_112 = ^75[0-9]=>Kunst und Kunstgeschichte +#fincClass.pattern_113 = ^76[0-9]=>Kunst und Kunstgeschichte +#fincClass.pattern_114 = ^77[0-9]=>Kunst und Kunstgeschichte +#fincClass.pattern_115 = ^78[0-9]=>Musikwissenschaft +#fincClass.pattern_116 = ^79[0-9]=>Sport +#fincClass.pattern_117 = ^80[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_118 = ^81[0-9]=>Anglistik, Amerikanistik +#fincClass.pattern_119 = ^82[0-9]=>Anglistik, Amerikanistik +#fincClass.pattern_120 = ^83[0-9]=>Germanistik, Niederlandistik, Skandinavistik +#fincClass.pattern_121 = ^84[0-9]=>Romanistik +#fincClass.pattern_122 = ^85[0-9]=>Romanistik +#fincClass.pattern_123 = ^86[0-9]=>Romanistik +#fincClass.pattern_124 = ^87[0-9]=>Neulateinische Philologie +#fincClass.pattern_125 = ^88[0-9]=>Neugriechische Philologie +#fincClass.pattern_126 = ^89[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_127 = ^90[0-9]=>Geschichte +#fincClass.pattern_128 = ^91[0-9]=>Geographie +#fincClass.pattern_129 = ^92[0-9]=>Geschichte +#fincClass.pattern_130 = ^93[0-9]=>Geschichte +#fincClass.pattern_131 = ^94[0-9]=>Geschichte +#fincClass.pattern_132 = ^95[0-9]=>Geschichte +#fincClass.pattern_133 = ^96[0-9]=>Geschichte +#fincClass.pattern_134 = ^97[0-9]=>Geschichte +#fincClass.pattern_135 = ^98[0-9]=>Geschichte +#fincClass.pattern_136 = ^99[0-9]=>Geschichte +# BIC +#fincClass.pattern_137 = ^A$=>Kunst und Kunstgeschichte +#fincClass.pattern_138 = ^AB([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_139 = ^AC([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_140 = ^AF([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_141 = ^AG([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_142 = ^AJ([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_143 = ^AK([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_144 = ^AM([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_145 = ^AN([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_146 = ^AP([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_147 = ^AS([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_148 = ^AV([A-Z]|$)=>Musikwissenschaft +#fincClass.pattern_149 = ^B$=>Allgemeines +#fincClass.pattern_150 = ^BG([A-Z]|$)=>Allgemeines +#fincClass.pattern_151 = ^BJ([A-Z]|$)=>Allgemeines +#fincClass.pattern_152 = ^BM([A-Z]|$)=>Allgemeines +#fincClass.pattern_153 = ^BT([A-Z]|$)=>Allgemeines +#fincClass.pattern_154 = ^C$=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen +#fincClass.pattern_155 = ^CB([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_156 = ^CF([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_157 = ^CJ([A-Z]|$)=>Pädagogik +#fincClass.pattern_158 = ^D$=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen +#fincClass.pattern_159 = ^DC([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_160 = ^DD([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_161 = ^DN([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_162 = ^DQ([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_163 = ^DS([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen +#fincClass.pattern_164 = ^E$=>Pädagogik +#fincClass.pattern_165 = ^EB([A-Z]|$)=>Pädagogik +#fincClass.pattern_166 = ^EL([A-Z]|$)=>Pädagogik +#fincClass.pattern_167 = ^ES([A-Z]|$)=>Pädagogik +#fincClass.pattern_168 = ^F$=>unassigned +#fincClass.pattern_169 = ^FA([A-Z]|$)=>unassigned +#fincClass.pattern_170 = ^FC([A-Z]|$)=>unassigned +#fincClass.pattern_171 = ^FF([A-Z]|$)=>unassigned +#fincClass.pattern_172 = ^FH([A-Z]|$)=>unassigned +#fincClass.pattern_173 = ^FJ([A-Z]|$)=>unassigned +#fincClass.pattern_174 = ^FK([A-Z]|$)=>unassigned +#fincClass.pattern_175 = ^FL([A-Z]|$)=>unassigned +#fincClass.pattern_176 = ^FM([A-Z]|$)=>unassigned +#fincClass.pattern_177 = ^FP([A-Z]|$)=>unassigned +#fincClass.pattern_178 = ^FQ([A-Z]|$)=>unassigned +#fincClass.pattern_179 = ^FR([A-Z]|$)=>unassigned +#fincClass.pattern_180 = ^FT([A-Z]|$)=>unassigned +#fincClass.pattern_181 = ^FV([A-Z]|$)=>unassigned +#fincClass.pattern_182 = ^FW([A-Z]|$)=>unassigned +#fincClass.pattern_183 = ^FX([A-Z]|$)=>unassigned +#fincClass.pattern_184 = ^FY([A-Z]|$)=>unassigned +#fincClass.pattern_185 = ^FZ([A-Z]|$)=>unassigned +#fincClass.pattern_186 = ^G$=>Allgemeines +#fincClass.pattern_187 = ^GB([A-Z]|$)=>Allgemeines +#fincClass.pattern_188 = ^GL([A-Z]|$)=>Allgemeines +#fincClass.pattern_189 = ^GM([A-Z]|$)=>Allgemeines +#fincClass.pattern_190 = ^GP([A-Z]|$)=>Allgemeines +#fincClass.pattern_191 = ^GT([A-Z]|$)=>Allgemeines +#fincClass.pattern_192 = ^H$=>Geschichte +#fincClass.pattern_193 = ^HB([A-Z]|$)=>Geschichte +#fincClass.pattern_194 = ^HD([A-Z]|$)=>Klassische Archäologie +#fincClass.pattern_195 = ^HP([A-Z]|$)=>Philosophie +#fincClass.pattern_196 = ^HR([A-Z]|$)=>Theologie und Religionswissenschaften +#fincClass.pattern_197 = ^J$=>Soziologie +#fincClass.pattern_198 = ^JF([A-Z]|$)=>Soziologie +#fincClass.pattern_199 = ^JH([A-Z]|$)=>Soziologie +#fincClass.pattern_200 = ^JK([A-Z]|$)=>Soziologie +#fincClass.pattern_201 = ^JM([A-Z]|$)=>Psychologie +#fincClass.pattern_202 = ^JN([A-Z]|$)=>Pädagogik +#fincClass.pattern_203 = ^JP([A-Z]|$)=>Politologie +#fincClass.pattern_204 = ^JW([A-Z]|$)=>Militärwissenschaft +#fincClass.pattern_205 = ^K$=>Wirtschaftswissenschaften +#fincClass.pattern_206 = ^KC([A-Z]|$)=>Wirtschaftswissenschaften +#fincClass.pattern_207 = ^KF([A-Z]|$)=>Wirtschaftswissenschaften +#fincClass.pattern_208 = ^KJ([A-Z]|$)=>Wirtschaftswissenschaften +#fincClass.pattern_209 = ^KN([A-Z]|$)=>Wirtschaftswissenschaften +#fincClass.pattern_210 = ^L$=>Rechtswissenschaft +#fincClass.pattern_211 = ^LA([A-Z]|$)=>Rechtswissenschaft +#fincClass.pattern_212 = ^LB([A-Z]|$)=>Rechtswissenschaft +#fincClass.pattern_213 = ^LN([A-Z]|$)=>Rechtswissenschaft +#fincClass.pattern_214 = ^LR([A-Z]|$)=>Rechtswissenschaft +#fincClass.pattern_215 = ^M$=>Medizin +#fincClass.pattern_216 = ^MB([A-Z]|$)=>Medizin +#fincClass.pattern_217 = ^MF([A-Z]|$)=>Medizin +#fincClass.pattern_218 = ^MJ([A-Z]|$)=>Medizin +#fincClass.pattern_219 = ^MM([A-Z]|$)=>Medizin +#fincClass.pattern_220 = ^MN([A-Z]|$)=>Medizin +#fincClass.pattern_221 = ^MQ([A-Z]|$)=>Medizin +#fincClass.pattern_222 = ^MR([A-Z]|$)=>Medizin +#fincClass.pattern_223 = ^MX([A-Z]|$)=>Medizin +#fincClass.pattern_224 = ^MZ([A-Z]|$)=>Biologie +#fincClass.pattern_225 = ^P$=>Allgemeine Naturwissenschaft +#fincClass.pattern_226 = ^PB([A-Z]|$)=>Mathematik +#fincClass.pattern_227 = ^PD([A-Z]|$)=>Allgemeine Naturwissenschaft +#fincClass.pattern_228 = ^PG([A-Z]|$)=>Physik +#fincClass.pattern_229 = ^PH([A-Z]|$)=>Physik +#fincClass.pattern_230 = ^PN([A-Z]|$)=>Chemie und Pharmazie +#fincClass.pattern_231 = ^PS([A-Z]|$)=>Biologie +#fincClass.pattern_232 = ^R$=>Geographie +#fincClass.pattern_233 = ^RB([A-Z]|$)=>Geologie und Paläontologie +#fincClass.pattern_234 = ^RG([A-Z]|$)=>Geographie +#fincClass.pattern_235 = ^RN([A-Z]|$)=>Technik +#fincClass.pattern_236 = ^RP([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_237 = ^T$=>Technik +#fincClass.pattern_238 = ^TB([A-Z]|$)=>Technik +#fincClass.pattern_239 = ^TC([A-Z]|$)=>Biologie +#fincClass.pattern_240 = ^TD([A-Z]|$)=>Chemie und Pharmazie +#fincClass.pattern_241 = ^TG([A-Z]|$)=>Technik +#fincClass.pattern_242 = ^TH([A-Z]|$)=>Geologie und Paläontologie +#fincClass.pattern_243 = ^TJ([A-Z]|$)=>Technik +#fincClass.pattern_244 = ^TN([A-Z]|$)=>Technik +#fincClass.pattern_245 = ^TQ([A-Z]|$)=>Technik +#fincClass.pattern_246 = ^TR([A-Z]|$)=>Technik +#fincClass.pattern_247 = ^TT([A-Z]|$)=>Technik +#fincClass.pattern_248 = ^TV([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_249 = ^U$=>Informatik +#fincClass.pattern_250 = ^UB([A-Z]|$)=>Informatik +#fincClass.pattern_251 = ^UD([A-Z]|$)=>Informatik +#fincClass.pattern_252 = ^UF([A-Z]|$)=>Informatik +#fincClass.pattern_253 = ^UG([A-Z]|$)=>Informatik +#fincClass.pattern_254 = ^UK([A-Z]|$)=>Informatik +#fincClass.pattern_255 = ^UL([A-Z]|$)=>Informatik +#fincClass.pattern_256 = ^UM([A-Z]|$)=>Informatik +#fincClass.pattern_257 = ^UN([A-Z]|$)=>Informatik +#fincClass.pattern_258 = ^UQ([A-Z]|$)=>Informatik +#fincClass.pattern_259 = ^UR([A-Z]|$)=>Informatik +#fincClass.pattern_260 = ^UT([A-Z]|$)=>Informatik +#fincClass.pattern_261 = ^UY([A-Z]|$)=>Informatik +#fincClass.pattern_262 = ^V$=>unassigned +#fincClass.pattern_263 = ^VF([A-Z]|$)=>unassigned +#fincClass.pattern_264 = ^VS([A-Z]|$)=>unassigned +#fincClass.pattern_265 = ^VX([A-Z]|$)=>unassigned +#fincClass.pattern_266 = ^W$=>Allgemeines +#fincClass.pattern_267 = ^WB([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_268 = ^WC([A-Z]|$)=>unassigned +#fincClass.pattern_269 = ^WD([A-Z]|$)=>unassigned +#fincClass.pattern_270 = ^WF([A-Z]|$)=>Kunst und Kunstgeschichte +#fincClass.pattern_271 = ^WG([A-Z]|$)=>unassigned +#fincClass.pattern_272 = ^WH([A-Z]|$)=>unassigned +#fincClass.pattern_273 = ^WJ([A-Z]|$)=>unassigned +#fincClass.pattern_274 = ^WK([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_275 = ^WM([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft +#fincClass.pattern_276 = ^WN([A-Z]|$)=>unassigned +#fincClass.pattern_277 = ^WQ([A-Z]|$)=>Geschichte +#fincClass.pattern_278 = ^WS([A-Z]|$)=>Sport +#fincClass.pattern_279 = ^WT([A-Z]|$)=>unassigned +#fincClass.pattern_280 = ^WZ([A-Z]|$)=>Allgemeines +#fincClass.pattern_281 = ^Y$=>unassigned +#fincClass.pattern_282 = ^YB([A-Z]|$)=>unassigned +#fincClass.pattern_283 = ^YD([A-Z]|$)=>unassigned +#fincClass.pattern_284 = ^YF([A-Z]|$)=>unassigned +#fincClass.pattern_285 = ^YN([A-Z]|$)=>unassigned +#fincClass.pattern_286 = ^YQ([A-Z]|$)=>Pädagogik +#fincClass.pattern_287 = ^YR([A-Z]|$)=>unassigned +#fincClass.pattern_288 = ^YX([A-Z]|$)=>unassigned +#fincClass.pattern_289 = ^YZ([A-Z]|$)=>unassigned \ No newline at end of file diff --git a/import/translation_maps/format_map_de105.properties b/import/translation_maps/format_map_de105.properties new file mode 100644 index 0000000000000000000000000000000000000000..c0f3be614f5bdcf60a44a1861a5eb59f8f5b0786 --- /dev/null +++ b/import/translation_maps/format_map_de105.properties @@ -0,0 +1,330 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Formate der UB Freiberg, aus LIB_GMD_DESC + +#Folgende Gruppierung für Facetten (Basis siehe weiter unten): + +de105.pattern_0 = ^AT$=>Book +de105.pattern_1 = ^B$=>Book +de105.pattern_2 = ^CD$=>Multimedia +de105.pattern_3 = ^CDB$=>Book +de105.pattern_4 = ^CD[ST]$=>Multimedia +de105.pattern_5 = ^CDD$=>Database +de105.pattern_6 = ^CDK$=>Map +de105.pattern_7 = Z$=>Journal +de105.pattern_8 = ZR=>Book +de105.pattern_9 = ^D$=>Book +de105.pattern_10 = ^DA$=>Book +de105.pattern_11 = ^DA$=>Thesis +de105.pattern_12 = ^DB$=>Database +de105.pattern_13 = ^DIA$=>Image / Photo +de105.pattern_14 = ^DISK$=>Multimedia +de105.pattern_15 = ^DVD$=>Multimedia +de105.pattern_16 = ^DVDB$=>Book +de105.pattern_17 = ^DVDD$=>Database +de105.pattern_18 = ^DVDK$=>Map +de105.pattern_19 = ^DVD[RSV]=>Multimedia +de105.pattern_20 = ^E=>Ebook +de105.pattern_21 = ^EBOOK$=>Electronic Resource +de105.pattern_22 = ^EBOOK$=>Book +de105.pattern_23 = HS=>Thesis +de105.pattern_24 = ^EHS$=>Book +de105.pattern_25 = FI$|MF|FIHS=>Microform +de105.pattern_26 = ^FI[HL]=>Book +de105.pattern_27 = ^FIL=>Ebook +de105.pattern_28 = ^FILE$=>Thesis +de105.pattern_29 = ^FILE$=>Electronic Resource +de105.pattern_30 = ^HS=>Book +de105.pattern_31 = ^H$=>Manuscript +de105.pattern_32 = ^K$=>Image / Photo +de105.pattern_33 = ^KT$=>Map +de105.pattern_34 = ^KTA$=>Book +de105.pattern_35 = ^L[BO]=>Book +de105.pattern_36 = [OBR]E$=>Ebook +de105.pattern_37 = ^LOE$=>Book +de105.pattern_38 = ^M[BD]=>Book +de105.pattern_39 = ^MBE$=>Electronic Resource +de105.pattern_40 = ^MD$=>Multimedia +de105.pattern_41 = ^S[CK]=>Multimedia +de105.pattern_42 = ^VK$=>Multimedia +de105.pattern_43 = ^ZRE$=>Electronic Resource +de105.pattern_44 = ^Z[ST]=>Journal +de105.pattern_45 = ^Z[ST]E$=>Electronic Resource +de105.pattern_46 = ^UR$=>Deed +de105.pattern_47 = ^OV$=>Multimedia +de105.pattern_48 = ^OV$=>Lecture Recording +de105.pattern_49 = ^A$=>Contained Article +de105.pattern_50 = ^CDDA$=>Thesis +de105.pattern_51 = ^CDDA$=>Book +de105.pattern_52 = ^BEIL$=>Book +de105.pattern_53 = ^BL$=>Book +de105.pattern_54 = ^IPAD$=>iPad / Multimedia +de105.pattern_55 = ^APP$=>iPad / Multimedia +de105.pattern_56 = ^DVDDA$=>Thesis +de105.pattern_57 = ^DVDDA$=>Book + +de105.pattern_58 = QucosaArticles=>QucosaArticles +de105.pattern_59 = QucosaThesis=>Thesis +de105.pattern_60 = QucosaConferenceproceeding=>QucosaConferenceproceeding +de105.pattern_61 = QucosaScore=>QucosaScore +de105.pattern_62 = QucosaElectronicResource=>QucosaElectronicResource +de105.pattern_63 = QucosaEBOOK=>QucosaEBOOK + +de105.pattern_64 = Map=>Map + +########################### +# old: +#de105.pattern_0 = ^B$=>Book +#de105.pattern_1 = ^CDB$=>Book +#de105.pattern_2 = CD=>Multimedia +#de105.pattern_3 = ^H$=>Book +#de105.pattern_4 = ^H$=>Manuscript +#de105.pattern_5 = ^LB$=>Book +#de105.pattern_6 = ^LO=>Book +#de105.pattern_7 = ^M[BD]$=>Book +#de105.pattern_8 = ^BEIL$=>Book +#de105.pattern_9 = ^AT$=>Book +#de105.pattern_10 = ^BL$=>Book +#de105.pattern_11 = ^CDZ=>Journal / Serial +#de105.pattern_12 = ^Z=>Journal / Serial +#de105.pattern_13 = ^FI$=>Microform +#de105.pattern_14 = ^MF$=>Microform +#de105.pattern_15 = HS=>Thesis +#de105.pattern_16 = ^DA$=>Thesis +#de105.pattern_17 = ^CDK$=>Map +#de105.pattern_18 = ^KT=>Map +#de105.pattern_19 = ^DIA$=>Multimedia +#de105.pattern_20 = SK$=>Multimedia +#de105.pattern_21 = ^VK$=>Multimedia +#de105.pattern_22 = DVD=>Multimedia +#de105.pattern_23 = ^SCH$=>Multimedia +#de105.pattern_24 = ^DB$=>Online Resource +#de105.pattern_25 = ^MBE$=>Online Resource +#de105.pattern_26 = ^FILE$=>Online Resource +#de105.pattern_27 = ^Z[RST]E$=>Online Resource +#de105.pattern_28 = ^BDIS$=>Multimedia +#de105.pattern_29 = ^EBOOK$=>E-Book +#de105.pattern_30 = ^MBE$=>E-Book +#de105.pattern_31 = ^EBOOK$=>Online Resource +#de105.pattern_32 = ^D$=>Book +#de105.pattern_33 = ^NL$=>Book +#de105.pattern_34 = ^K$=>Map +#de105.pattern_35 = ^SP$=>Map +#de105.pattern_36 = ^UR$=>Deed +#de105.pattern_37 = ^FILE$=>Thesis + +######################################## +# Veränderung laut Ticket #1348 + +#neue Format-Facette: +#Datenbanken - darunter gruppiert: CDD, DB +#Bild / Foto - darunter gruppiert: DIA, K + +#Codes ohne Erklärung bleiben unverändert so wie bisher +#entfällt bald -> erstmal noch im Mapping belassen +#die auflistung hier ist maßgebend: wenn bei der vorherigen Liste z.B. KTA in die Format-Facette Karte ging, geht sie jetzt nur noch in BUch + +#Format-Codes à la DVDK etc. gibts bei uns in Libero noch nicht. da stricken wir gerade rum. die werden dann - solange es auch noch keine #Titel findet, nicht befüllt, richtig!? + +############ +#AT -> entfällt bald +#B +#CD -> entfällt bald, geht auf in CD-SPezifika +#CDB +#CDD -> Facette Datenbanken +#CDK -> Facette Karte +#CDS -> Facette Multimedia +#CDT -> Facette Multimedia +#CDZ -> Facette Zeitschrift +#CDZR -> Facette Buch +#D -> Facette Buch +#DA -> Facette Buch, Hoschulschrift +#DB -> Facette Datenbanken +#DIA -> Facette Bild / Foto +#DISK -> Facette Multimedia +#DVD -> entfällt bald, geht auf in DVD-Spezifika +#DVDA -> bitte löschen +#DVDB -> neu, Facette Buch +#DVDD -> neu, Facette Datenbanken +#DVDK -> neu, Facette Karte +#DVDROM -> entfällt bald, geht auf in DVD-Spezifika +#DVDV -> Facette Multimedia +#DVDZ -> Facette Zeitschrift +#EBOOK -> Facette Ebook, Online-Ressource, Buch +#EHS -> Facette Ebook, Hochschulschrift, Buch +#FI +#MF +#FIHS -> Facette Hochschulschrift, Mikroform, Buch, Ebook +#FILE -> Facette Hochschulschrift, Online-Ressource, Buch, Ebook +#H +#HS -> Facette Hochschulschrift, Buch +#K -> Facette Bild / Foto +#KT +#KTA -> Facette Buch +#LB +#LO +#LOE -> Facette Buch, Ebook +#MB +#MBE -> Facette Ebook, Online-Ressource, Buch +#MD -> Facette Buch, Multimedia +#SCH +#SK +#SP -> Facette _blank>nicht zugeordnet +#VK +#ZR -> Facette Buch +#ZRE -> Facette Buch, Ebook, Online-Ressource +#ZS -> Facette Zeitschrift +#ZSE -> Facette Zeitschrift, Online-Ressource +#ZT -> Facette Zeitschrift +#ZTE -> Facette Zeitschrift, Online-Ressource +#UR + +######################################## +# Veränderung laut Ticket #1083 +# FILE auch zusätzlich "Hochschulschrift" + +######################################## +# Veränderung laut Ticket #946 + +#"Digitale Medien" soll weg. + +#"Online-Ressourcen" +#FILE +#ZRE +#ZSE +#ZTE +#MBE +#DB +#EBOOK + +#"Multimedia" +#CDB +#CDD +#CDK +#CDS +#CDZ +#CDZR +#DISK +#BCD +#BDIS +#BSK +#BCDTU +#DVDROM +#DVDZ + +#"E-Book" +#EBOOK +#MBE + +#################################################### + +#Facette: Buch +#B +#CDB +#H +#LB +#LO +#LOE +#MB +#MD +#BEIL +#AT +#BL + +#Facette: Zeitschrift / Reihe +#CDZ +#CDZR +#ZR +#ZRE +#ZS +#ZSE +#ZT +#ZTE + +#Facette: Mikroform +#FI +#MF + +#Facette: Hochschulschrift +#EHS +#HS +#FIHS +#DA + +#Facette: Karte +#CDK +#KT + +#Facette: Multimedia +#DIA +#SK +#VK +#BDVD +#DVD +#SCH +#DVDA +#DVDV +#CDT +#CD + +#Facette: Manuskript +#H + +################################################## +#AT = Arbeitstransparent +#B = Monographie +#BCD = CD-ROM als Beilage +#BCDTU = CD-ROM als Beilage (nur für Angehörige der TUBAF) +#BDIS = Diskette als Beilage +#BDVD = DVD als Beilage +#BEIL = Beilage +#BL = Booklet +#BSK = Kassette als Beilage +#CD = CD-ROM +#CDB = Monographie auf CD-ROM +#CDD = Datenbank auf CD-ROM +#CDK = Karte auf CD-ROM +#CDS = Sprachkurs auf CD-ROM +#CDT = Tonträger auf CD-ROM +#CDZ = Zeitschrift auf CD-ROM +#CDZR = Zeitschr.artige Reihe auf CD-R +#D = Sonderdruck +#DA = Abschlussarbeit +#DB = Datenbanken im Netz +#DIA = Kleinbilddia +#DISK = Diskette +#DVD = DVD +#DVDA = Tonträger auf DVD +#DVDROM = Daten auf DVD-ROM +#DVDV = Bildmaterial auf DVD +#DVDZ = DVD für Fortsetzungen +#EBOOK = E-Book +#EHS = Hochschulschrift in elektron. Form +#FEHL = Datenübernahme +#FI = Mikrofiche +#FIHS = Hochschulschrift auf Mikrofiche +#FILE = Online-Ressource +#H = Handschrift +#HS = Hochschulschrift +#K = Kalender +#KT = Karte +#KTA = Einblattmaterial +#LB = Lehrbrief +#LO = Loseblattausgabe +#LOE = Loseblattausgabe elektronisch +#MB = Mehrbändiges Werk +#MBE = Mehrbändiges Werk elektronisch +#MD = Medienkombination +#MF = Mikrofilm +#NL = Nachlaß +#SCH = Schallplatte +#SK = Sprachkurs auf Kassette +#SP = Spiel +#VK = Videokassette +#ZR = Zeitschriftenartige Reihe +#ZRE = Elektron. Form Zeitschriftenartige Reihe +#ZS = Zeitschrift +#ZSE = Elektronische Zeitschrift +#ZT = Zeitung +#ZTE = Elektronische Zeitung diff --git a/import/translation_maps/format_map_de15.properties b/import/translation_maps/format_map_de15.properties new file mode 100644 index 0000000000000000000000000000000000000000..099b0c212e242903c9becaef97faafd1b82bded8 --- /dev/null +++ b/import/translation_maps/format_map_de15.properties @@ -0,0 +1,75 @@ +# +# DATA FROM INDEXER = Label +# +Book = Book, E-Book +eBook = Book, E-Book +ElectronicJournal = Journal, E-Journal +ElectronicSerial = Journal, E-Journal +Journal = Journal, E-Journal +Serial = Journal, E-Journal +ElectronicNewspaper = Journal, E-Journal +Newspaper = Journal, E-Journal +Article = Article, E-Article +ElectronicArticle = Article, E-Article +ElectronicThesis = Thesis +Thesis = Thesis +Atlas = Map +Globe = Map +Map = Map +AudioTape = Audio +CD = Audio +DVDAudio = Audio +MusicRecording = Audio +Record = Audio +SoundRecordingMedium = Audio +SoundCassette = Audio +SoundDisc = Audio +SoundRecording = Audio +AudioVisualMedia = Video +BluRayDisc = Video +DVDVideo = Video +Filmstrip = Video +MotionPicture = Video +Video = Video +VideoTape = Video +VideoCartridge = Video +VideoCassette = Video +VideoDisc = Video +VideoReel = Video +ArtPrint = Visual Media +Chart = Visual Media +Collage = Visual Media +Drawing = Visual Media +FlashCard = Visual Media +Painting = Visual Media +Photo = Visual Media +Photonegative = Visual Media +Placard = Visual Media +Print = Visual Media +SensorImage = Visual Media +Slide = Visual Media +Transparency = Visual Media +CDROM = Software +ChipCartridge = Software +DiscCartridge = Software +DVDROM = Software +FloppyDisk = Software +Software = Software +TapeCartridge = Software +TapeCassette = Software +TapeReel = Software +Microfiche = Microform +Microfilm = Microform +Microform = Microform +MusicalScore = Musical Score +NotatedMusic = Musical Score +ElectronicMusicalScore = Musical Score +Braille = Braille +Kit = Kit +Manuscript = Manuscript +Nachlass = Nachlass +PhysicalObject = Physical Object +Unknown = Unknown Format +Electronic = Website +ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) +ElectronicResourceRemoteAccess = Electronic Resource (Remote Access) diff --git a/import/translation_maps/format_map_de520.properties b/import/translation_maps/format_map_de520.properties new file mode 100644 index 0000000000000000000000000000000000000000..6e41b1c52a82de349f2d67bd7dbc5d92156ee45e --- /dev/null +++ b/import/translation_maps/format_map_de520.properties @@ -0,0 +1,73 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Formate der HTW Dresden, aus LIB_GMD_DESC + +B = Book +MK = Book +LMK = Book +MT = Book +LBS = Book +N = Book +HS = Book +KT = Map +LF = Loose leaf edition +ZS = Journal/Newspaper print +ZT = Journal/Newspaper print +CDZ = Journal on data carrier +CD = Audio +CDS = Audio +DVDA = Audio +SK = Audio +DVDV = Video +VKA = Video +CDB = eBook on data carrier +CDMT = eBook on data carrier +DVDR = eBook on data carrier +CDD = eBook on data carrier +FI = eBook on data carrier +EB = eBook online +DB = Database online +ZSE = Journal online +ZTE = Journal online +MB = Multi volume set +SE = Multi volume set +ZR = Multi volume set +ZRE = Multi volume set +CDZR = Multi volume set +Aufsatz = Article online + +# Medientypen in deutscher Sprache: +#B = Buch +#MK = Buch +#LMK = Buch +#MT = Buch +#LBS = Buch +#N = Buch +#HS = Buch +#KT = Karte +#LF = Loseblattausgabe +#ZS = Zeitschrift/Zeitung Print +#ZT = Zeitschrift/Zeitung Print +#CDZ = Zeitschrift auf Datenträger +#CD = Audio +#CDS = Audio +#DVDA = Audio +#SK = Audio +#DVDV = Video +#VKA = Video +#CDB = eBook auf Datenträger +#CDMT = eBook auf Datenträger +#DVDR = eBook auf Datenträger +#CDD = eBook auf Datenträger +#FI = eBook auf Datenträger +#EB = eBook online +#DB = Datenbank online +#ZSE = Zeitschrift online +#ZTE = Zeitschrift online +#MB = Gesamttitel +#SE = Gesamttitel +#ZR = Gesamttitel +#ZRE = Gesamttitel +#CDZR = Gesamttitel +#Aufsatz = Aufsatz online \ No newline at end of file diff --git a/import/translation_maps/format_map_de540.properties b/import/translation_maps/format_map_de540.properties new file mode 100644 index 0000000000000000000000000000000000000000..147375826f7766eeb40d2774b36de8de8033dab2 --- /dev/null +++ b/import/translation_maps/format_map_de540.properties @@ -0,0 +1,75 @@ +# +# DATA FROM INDEXER = Label +# +Book = Book, E-Book +eBook = Book, E-Book +ElectronicJournal = Journal, E-Journal +ElectronicSerial = Journal, E-Journal +Journal = Journal, E-Journal +Serial = Journal, E-Journal +ElectronicNewspaper = Newspaper, E-Paper +Newspaper = Newspaper, E-Paper +Article = Article, E-Article +ElectronicArticle = Article, E-Article +ElectronicThesis = Thesis +Thesis = Thesis +Atlas = Map +Globe = Map +Map = Map +AudioTape = Audio +CD = Audio +DVDAudio = Audio +MusicRecording = Audio +Record = Audio +SoundRecordingMedium = Audio +SoundCassette = Audio +SoundDisc = Audio +SoundRecording = Audio +AudioVisualMedia = Video +BluRayDisc = Video +DVDVideo = Video +Filmstrip = Video +MotionPicture = Video +Video = Video +VideoTape = Video +VideoCartridge = Video +VideoCassette = Video +VideoDisc = Video +VideoReel = Video +ArtPrint = Visual Media +Chart = Visual Media +Collage = Visual Media +Drawing = Visual Media +FlashCard = Visual Media +Painting = Visual Media +Photo = Visual Media +Photonegative = Visual Media +Placard = Visual Media +Print = Visual Media +SensorImage = Visual Media +Slide = Visual Media +Transparency = Visual Media +CDROM = Software +ChipCartridge = Software +DiscCartridge = Software +DVDROM = Software +FloppyDisk = Software +Software = Software +TapeCartridge = Software +TapeCassette = Software +TapeReel = Software +Microfiche = Microform +Microfilm = Microform +Microform = Microform +MusicalScore = Musical Score +NotatedMusic = Musical Score +ElectronicMusicalScore = Musical Score +Braille = Braille +Kit = Kit +Manuscript = Manuscript +Nachlass = Nachlass +PhysicalObject = Physical Object +Unknown = Unknown Format +Electronic = Website +ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) +ElectronicResourceRemoteAccess = Electronic Resource (Remote Access) diff --git a/import/translation_maps/format_map_dech1.properties b/import/translation_maps/format_map_dech1.properties new file mode 100644 index 0000000000000000000000000000000000000000..9f7970d5bb07197d9fd33772ef18b863681084cc --- /dev/null +++ b/import/translation_maps/format_map_dech1.properties @@ -0,0 +1,120 @@ +# +# DATA FROM INDEXER = Label +# + +# Libero-Formate der UB Chemnitz, aus LIB_GMD_DESC, gruppiert und als pattern-based +# translation map, um Mehrfachzuordnungen zu realisieren + +dech1.pattern_0 = Z=>Zeitschrift / Reihe +dech1.pattern_1 = ^RE$=>Zeitschrift / Reihe +dech1.pattern_2 = [AK]T=>Karte / Bild +dech1.pattern_3 = ^D$=>Karte / Bild +dech1.pattern_4 = ^DA$=>Karte / Bild +dech1.pattern_5 = ^DIA$=>Karte / Bild +dech1.pattern_6 = ^B$=>Buch +dech1.pattern_7 = ^DISS$=>Buch +dech1.pattern_8 = ^LO$=>Buch +dech1.pattern_9 = ^MB$=>Buch +dech1.pattern_10 = ^MKO$=>Buch +dech1.pattern_11 = ^R$=>Buch +dech1.pattern_12 = ^CD$=>Multimedia +dech1.pattern_13 = ^DV=>Multimedia +dech1.pattern_14 = ^KA$=>Multimedia +dech1.pattern_15 = ^MK=>Multimedia +dech1.pattern_16 = ^SLP$=>Multimedia +dech1.pattern_17 = ^SP=>Multimedia +dech1.pattern_18 = ^V$=>Multimedia +dech1.pattern_19 = ^CD[BDEKN]=>Elektronische Ressource +dech1.pattern_20 = ^CDZ[ENR]=>Elektronische Ressource +dech1.pattern_21 = ^DB$=>Elektronische Ressource +dech1.pattern_22 = ^DBV$=>Elektronische Ressource +dech1.pattern_23 = ^DCD$=>Elektronische Ressource +dech1.pattern_24 = ^DISK$=>Elektronische Ressource +dech1.pattern_25 = ^DO$=>Elektronische Ressource +dech1.pattern_26 = ^DVD[EN]=>Elektronische Ressource +dech1.pattern_27 = ^EBOOK$=>Elektronische Ressource +dech1.pattern_28 = ^EHS$=>Elektronische Ressource +dech1.pattern_29 = ^FILE$=>Elektronische Ressource +dech1.pattern_30 = ^SPR$=>Elektronische Ressource +dech1.pattern_31 = ^ZE=>Elektronische Ressource +dech1.pattern_32 = ^DA$=>Hochschulschrift +dech1.pattern_33 = ^DCD$=>Hochschulschrift +dech1.pattern_34 = ^DISS$=>Hochschulschrift +dech1.pattern_35 = ^DMF$=>Hochschulschrift +dech1.pattern_36 = ^DO$=>Hochschulschrift +dech1.pattern_37 = HS$=>Hochschulschrift +dech1.pattern_38 = MF$=>Mikroform +dech1.pattern_39 = ^ZM=>Mikroform +dech1.pattern_40 = ^KA$=>Noten +dech1.pattern_41 = ^NOT$=>Noten + +# Libero-Formate der UB Chemnitz, aus LIB_GMD_DESC, gruppiert, Stand 15.05.2012 + +# AT = Karte / Bild +# B = Buch +# CD = Multimedia +# CDB = Elektronische Ressource +# CDD = Elektronische Ressource +# CDE = Elektronische Ressource +# CDK = Elektronische Ressource +# CDN = Elektronische Ressource +# CDZA = Zeitschrift / Reihe +# CDZE = Elektronische Ressource +# CDZE = Zeitschrift / Reihe +# CDZN = Elektronische Ressource +# CDZN = Zeitschrift / Reihe +# CDZR = Elektronische Ressource +# CDZR = Zeitschrift / Reihe +# D = Karte / Bild +# DA = Hochschulschrift +# DA = Karte / Bild +# DB = Elektronische Ressource +# DBV = Elektronische Ressource +# DCD = Elektronische Ressource +# DCD = Hochschulschrift +# DIA = Karte / Bild +# DISK = Elektronische Ressource +# DISS = Buch +# DISS = Hochschulschrift +# DMF = Hochschulschrift +# DMF = Mikroform +# DO = Elektronische Ressource +# DO = Hochschulschrift +# DVDE = Elektronische Ressource +# DVDE = Multimedia +# DVDN = Elektronische Ressource +# DVDN = Multimedia +# EBOOK = Elektronische Ressource +# EHS = Elektronische Ressource +# EHS = Hochschulschrift +# FILE = Elektronische Ressource +# HS = Hochschulschrift +# KA = Multimedia +# KA = Noten +# KT = Karte / Bild +# LO = Buch +# MB = Buch +# MF = Mikroform +# MKO = Buch +# MKO = Multimedia +# MKZ = Multimedia +# MKZ = Zeitschrift / Reihe +# NOT = Noten +# R = Buch +# RE = Zeitschrift / Reihe +# SLP = Multimedia +# SP = Multimedia +# SPR = Elektronische Ressource +# SPR = Multimedia +# V = Multimedia +# Z = Zeitschrift / Reihe +# ZA = Zeitschrift / Reihe +# ZE = Elektronische Ressource +# ZE = Zeitschrift / Reihe +# ZEA = Elektronische Ressource +# ZEA = Zeitschrift / Reihe +# ZM = Mikroform +# ZM = Zeitschrift / Reihe +# ZMA = Mikroform +# ZMA = Zeitschrift / Reihe +# ZR = Zeitschrift / Reihe \ No newline at end of file diff --git a/import/translation_maps/format_map_ded117.properties b/import/translation_maps/format_map_ded117.properties new file mode 100644 index 0000000000000000000000000000000000000000..147375826f7766eeb40d2774b36de8de8033dab2 --- /dev/null +++ b/import/translation_maps/format_map_ded117.properties @@ -0,0 +1,75 @@ +# +# DATA FROM INDEXER = Label +# +Book = Book, E-Book +eBook = Book, E-Book +ElectronicJournal = Journal, E-Journal +ElectronicSerial = Journal, E-Journal +Journal = Journal, E-Journal +Serial = Journal, E-Journal +ElectronicNewspaper = Newspaper, E-Paper +Newspaper = Newspaper, E-Paper +Article = Article, E-Article +ElectronicArticle = Article, E-Article +ElectronicThesis = Thesis +Thesis = Thesis +Atlas = Map +Globe = Map +Map = Map +AudioTape = Audio +CD = Audio +DVDAudio = Audio +MusicRecording = Audio +Record = Audio +SoundRecordingMedium = Audio +SoundCassette = Audio +SoundDisc = Audio +SoundRecording = Audio +AudioVisualMedia = Video +BluRayDisc = Video +DVDVideo = Video +Filmstrip = Video +MotionPicture = Video +Video = Video +VideoTape = Video +VideoCartridge = Video +VideoCassette = Video +VideoDisc = Video +VideoReel = Video +ArtPrint = Visual Media +Chart = Visual Media +Collage = Visual Media +Drawing = Visual Media +FlashCard = Visual Media +Painting = Visual Media +Photo = Visual Media +Photonegative = Visual Media +Placard = Visual Media +Print = Visual Media +SensorImage = Visual Media +Slide = Visual Media +Transparency = Visual Media +CDROM = Software +ChipCartridge = Software +DiscCartridge = Software +DVDROM = Software +FloppyDisk = Software +Software = Software +TapeCartridge = Software +TapeCassette = Software +TapeReel = Software +Microfiche = Microform +Microfilm = Microform +Microform = Microform +MusicalScore = Musical Score +NotatedMusic = Musical Score +ElectronicMusicalScore = Musical Score +Braille = Braille +Kit = Kit +Manuscript = Manuscript +Nachlass = Nachlass +PhysicalObject = Physical Object +Unknown = Unknown Format +Electronic = Website +ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) +ElectronicResourceRemoteAccess = Electronic Resource (Remote Access) diff --git a/import/translation_maps/format_map_del152.properties b/import/translation_maps/format_map_del152.properties new file mode 100644 index 0000000000000000000000000000000000000000..5a9fe24d38acf9b129a4a67edfd944c2bd41ebe0 --- /dev/null +++ b/import/translation_maps/format_map_del152.properties @@ -0,0 +1,39 @@ +# +# DATA FROM INDEXER = Label +# +# Libero-Formate der HMT Leipzig, aus LIB_GMD_DESC, gruppiert und als pattern-based +# translation map, um Mehrfachzuordnungen zu realisieren + +del152.pattern_0 = ^A$=>Aufsatz +del152.pattern_1 = ^B$=>Buch +del152.pattern_2 = CD$=>CD +del152.pattern_3 = TIT=>Hierarchie +del152.pattern_4 = ^TIT$=>Buch +del152.pattern_5 = CDD$=>CD-ROM +del152.pattern_6 = ^DVD$=>DVD +del152.pattern_7 = MK=>Medienkombination +del152.pattern_8 = ^N$=>Noten +del152.pattern_9 = [DFT]N$=>Noten +del152.pattern_10 = OD$=>E-Text +del152.pattern_11 = SP$=>Schallplatte +del152.pattern_12 = VV=>Videokassette +del152.pattern_13 = ^DN$=>Elektronisch +del152.pattern_14 = ^SF=>Mikrofilm +del152.pattern_15 = ^SF$=>Buch +del152.pattern_16 = ^AU$=>Noten +del152.pattern_17 = ^DB$=>Datenbank +del152.pattern_18 = ^H$=>Handschrift +del152.pattern_19 = ^HS$=>Buch +del152.pattern_20 = ^K$=>Kassette +del152.pattern_21 = ^LB$=>Buch +del152.pattern_22 = ZS$=>Zeitschrift +del152.pattern_23 = ^OZS$=>Elektronisch +#speziell fuer BMS online +del152.pattern_24 = ^WL$=>Weitere Literaturnachweise +#speziell fuer Naxos Music Library +del152.pattern_25 = ^ECD=>Elektronisch +del152.pattern_26 = ^PN$=>Petrucci-Noten +del152.pattern_27 = ^DVDO$=>DVDO +del152.pattern_28 = ^DVDV$=>DVD +#3193: HideFacetValue Aufsatz but have own icon for AufsatzBuch +del152.pattern_29 = ^[A]$=>Buch diff --git a/import/translation_maps/format_map_del189.properties b/import/translation_maps/format_map_del189.properties new file mode 100644 index 0000000000000000000000000000000000000000..733f29dff7bd21cb3a6ffb2eb65c624c07a9d4cc --- /dev/null +++ b/import/translation_maps/format_map_del189.properties @@ -0,0 +1,79 @@ +# +# DATA FROM INDEXER = Label +# Siehe #1499. +# +# IMPORTANT NOTE: No spaces on the left hand side, please. + +ArtPrint = Art Print +Collage = Art Print +Drawing = Art Print +Painting = Art Print +Article = Article +ElectronicArticle = Article +Atlas = Map +AudioTape = Audio +CD = Audio +DVDAudio = Audio +MusicRecording = Audio +Record = Audio +SoundRecordingMedium = Audio +SoundCassette = Audio +SoundDisc = Audio +SoundRecording = Audio +TapeCartridge = Audio +TapeCassette = Audio +TapeReel = Audio +AudioVisualMedia = Electronic Resource (Data Carrier) +BluRayDisc = Electronic Resource (Data Carrier) +CDROM = Electronic Resource (Data Carrier) +ChipCartridge = Electronic Resource (Data Carrier) +DiscCartridge = Electronic Resource (Data Carrier) +DVDROM = Electronic Resource (Data Carrier) +DVDVideo = Electronic Resource (Data Carrier) +ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) +FloppyDisk = Electronic Resource (Data Carrier) +Book = Book +Manuscript = Book +Braille = Braille +Chart = Offprint +FlashCard = Offprint +Map = Offprint +Placard = Offprint +Print = Offprint +Slide = Offprint +Transparency = Offprint +eBook = E-Book +ElectronicThesis = E-Book +Electronic = Online Resource +ElectronicResourceRemoteAccess = Online Resource +ElectronicJournal = Electronic Journal +ElectronicSerial = Electronic Journal +ElectronicNewspaper = Electronic Newspaper +Filmstrip = Film +MotionPicture = Film +Globe = Physical Object +Kit = Physical Object +PhysicalObject = Physical Object +Journal = Journal +Microfiche = Microform +Microfilm = Microform +Microform = Microform +Photonegative = Microform +MusicalScore = Musical Score +NotatedMusic = Musical Score +ElectronicMusicalScore = Musical Score +Nachlass = Inheritance +Newspaper = Newspaper +Photo = Photo +SensorImage = Sensor Image +Serial = Serial +Software = Software +Thesis = Book +HTWK-Thesis = HTWK Thesis +Unknown = Unknown Format +Video = Video +VideoTape = Video +VideoCartridge = Video +VideoCassette = Video +VideoDisc = Video +VideoReel = Video diff --git a/import/translation_maps/format_map_dezi4.properties b/import/translation_maps/format_map_dezi4.properties new file mode 100644 index 0000000000000000000000000000000000000000..c85a7c76e2e24cac18d02eb5db6fec16e2463a01 --- /dev/null +++ b/import/translation_maps/format_map_dezi4.properties @@ -0,0 +1,49 @@ +# +# DATA FROM INDEXER = Label +# +## Libero-Formate der HS Zittau/Görlitz, aus der LIB_GMD_DESC +B = Book +CDROM = CD-ROM +DA = Bachelor-/Master-/Diploma-Theses +DISK = Disk +DVD = DVD +EB = e-Book +FI = Microfiche +HS = Dissertation +KT = Map +LB = Loose-leaf edition +MB = Multi volume set_1 +MBDVD = Multi volume DVD +MW = Multi volume set_2 +SE = Multi volume set_3 +SOTO = Audio +SP = Game +VID = Video +ZR = Multi volume set_4 +ZS = Journal +ZSCROM = Journal on data carrier +ZT = Newspaper +# Medientypen in deutscher Sprache: +#B = Monographie +#CDROM = CD-ROM +#DA = Bachelor-/Master-/Diplomarbeit +#DISK = Disketten +#DVD = DVD +#EB = E-Book +#FI = Mikrofiche +#HS = Hochschulschrift +#KT = Karte +#LB = Loseblattsammlung +#MB = mehrbändige Werke +#MBDVD = mehrbändige DVD +#MW = mehrbändige Werke in Reihe +#SE = Schriftenreihe (Serie) +#SOTO = Sonstige Tonträger +#SP = Spiel +#VID = Video +#ZR = Zeitschriftenartige Reihe +#ZS = Zeitschrift +#ZSCROM = Zeitschriftenjahrgang CDROM +#ZT = Zeitung +8 = e-Book +17 = e-Book diff --git a/import/translation_maps/format_map_dezwi2.properties b/import/translation_maps/format_map_dezwi2.properties new file mode 100644 index 0000000000000000000000000000000000000000..9b599b94e98c2ad36cdbf65e6a389d0dd5f6b5a2 --- /dev/null +++ b/import/translation_maps/format_map_dezwi2.properties @@ -0,0 +1,65 @@ +# +# DATA FROM INDEXER = Label +# +## Libero-Formate der Westsächsischen Hochschule Zwickau [https://www.katalog.fh-zwickau.de], aus der LIB_GMD_DESC +B = Book +BCD = Book with CD +CD = Audio CD +CDROM = CD-ROM +CDZ = Journal on CD-ROM +DISK = Disk +DVDR = DVD-ROM +DVDV = DVD +EB = Ebook +HB = Talking book +HS = Academic publication +KAS = Cassette +KT = Map +LF = Loose-leaf edition +LP = Record +MB = Multi-volume edition +MK = Media combination +NOT = Music notes +SE = Series +SVB = Book (in several parts) +SVC = Audio CD (in several parts) +SVCR = CD-ROM (in several parts) +SVDVD = DVD-ROM (in several parts) +SVHB = Talking book (in several parts) +SVK = Cassette (in several parts) +SVMK = Media combination (in several parts) +SVV = Video (in several parts) +V = Video +ZS = Journal +ZT = Newspaper +# Medientypen in deutscher Sprache: +#B = Buch +#BCD = Buch mit CD +#CD = Audio-CD +#CDROM = CD-ROM +#CDZ = Zeitschrift auf CD-ROM +#DISK = Diskette +#DVDR = DVD-ROM +#DVDV = DVD-Video +#EB = eBook +#HB = Hörbuch +#HS = Hochschulschrift +#KAS = Kassette +#KT = Karte +#LF = Loseblattsammlung +#LP = Schallplatte +#MB = Mehrbändiges Werk +#MK = Medienkombination +#NOT = Noten +#SE = Serie +#SVB = Buch (mehrteilig) +#SVC = Audio-CD (mehrteilig) +#SVCR = CD-ROM (mehrteilig) +#SVDVD = DVD (mehrteilig) +#SVHB = Hörbuch (mehrteilig) +#SVK = Kassette (mehrteilig) +#SVMK = Medienkombination (mehrteilig) +#SVV = Video (mehrteilig) +#V = Video +#ZS = Zeitschrift +#ZT = Zeitung \ No newline at end of file diff --git a/import/translation_maps/geogr_code_map.properties b/import/translation_maps/geogr_code_map.properties new file mode 100644 index 0000000000000000000000000000000000000000..bfb70c2b8936ecd7700debc0d35512a24c378a44 --- /dev/null +++ b/import/translation_maps/geogr_code_map.properties @@ -0,0 +1,373 @@ +# Geographical codes according to DIN ISO 3166 +# based on this document provided by the German National Library http://www.dnb.de/SharedDocs/Downloads/DE/DNB/standardisierung/inhaltserschliessung/laendercodesSyst.pdf + +# translation based on Wikipedia; for the German translation please see de.ini + +# Europa +XA = Europe +XA-AD = Andorra +XA-AL = Albania +XA-AT = Austria +XA-AT-1 = Austria / Burgenland +XA-AT-2 = Austria / Carinthia +XA-AT-3 = Austria / Lower Austria +XA-AT-4 = Austria / Upper Austria +XA-AT-5 = Austria / Salzburg +XA-AT-6 = Austria / Styria +XA-AT-7 = Austria / Tyrol +XA-AT-8 = Austria / Vorarlberg +XA-AT-9 = Austria / Vienna +XA-AX = Åland Islands +XA-BA = Bosnia and Herzegovina +XA-BE = Belgium +XA-BG = Bulgaria +XA-BY = Belarus +XA-CH = Switzerland +XA-CH-AG = Switzerland / Aargau +XA-CH-AI = Switzerland / Appenzell Innerrhoden +XA-CH-AR = Switzerland / Appenzell Ausserrhoden +XA-CH-BE = Switzerland / Bern +XA-CH-BL = Switzerland / Basel-Landschaft +XA-CH-BS = Switzerland / Basel +XA-CH-FR = Switzerland / Fribourg +XA-CH-GE = Switzerland / Geneva +XA-CH-GL = Switzerland / Glarus +XA-CH-GR = Switzerland / Graubünden +XA-CH-JU = Switzerland / Jura +XA-CH-LU = Switzerland / Lucerne +XA-CH-NE = Switzerland / Neuchâtel +XA-CH-NW = Switzerland / Nidwalden +XA-CH-OW = Switzerland / Obwalden +XA-CH-SG = Switzerland / St. Gallen +XA-CH-SH = Switzerland / Schaffhausen +XA-CH-SO = Switzerland / Solothurn +XA-CH-SZ = Switzerland / Schwyz +XA-CH-TG = Switzerland / Thurgau +XA-CH-TI = Switzerland / Ticino +XA-CH-UR = Switzerland / Uri +XA-CH-VD = Switzerland / Vaud +XA-CH-VS = Switzerland / Valais +XA-CH-ZG = Switzerland / Zug +XA-CH-ZH = Switzerland / Zurich +XA-CY = Cyprus +XA-CZ = Czech Republic +XA-DE = Germany +XA-DE-BB = Germany / Brandenburg +XA-DE-BE = Germany / Berlin +XA-DE-BW = Germany / Baden-Württemberg +XA-DE-BY = Germany / Bavaria +XA-DE-HB = Germany / Bremen +XA-DE-HE = Germany / Hesse +XA-DE-HH = Germany / Hamburg +XA-DE-MV = Germany / Mecklenburg-Vorpommern +XA-DE-NI = Germany / Lower Saxony +XA-DE-NW = Germany / North Rhine-Wesphalia +XA-DE-RP = Germany / Rhineland-Palatinate +XA-DE-SH = Germany / Schleswig-Holstein +XA-DE-SL = Germany / Saarland +XA-DE-SN = Germany / Saxony +XA-DE-ST = Germany / Saxony-Anhalt +XA-DE-TH = Germany / Thuringia +XA-DK = Denmark +XA-EE = Estonia +XA-ES = Spain +XA-FI = Finland +XA-FR = France +XA-GB = United Kingdom +XA-GG = Guernsey +XA-GI = Gibraltar +XA-GR = Greece +XA-HR = Croatia +XA-HU = Hungary +XA-IE = Ireland +XA-IM = Isle of Man +XA-IS = Iceland +XA-IT = Italy +XA-IT-32 = Italy / Trentino-Alto Adige +XA-JE = Jersey +XA-LI = Liechtenstein +XA-LT = Lithuania +XA-LU = Luxembourg +XA-LV = Latvia +XA-MC = Monaco +XA-MD = Moldova +XA-ME = Montenegro +XA-MK = Macedonia +XA-MT = Malta +XA-NL = Netherlands +XA-NO = Norway +XA-PL = Poland +XA-PT = Portugal +XA-RO = Romania +XA-RS = Serbia +XA-RU = Russia +XA-SE = Sweden +XA-SI = Slovenia +XA-SK = Slovakia +XA-SM = San Marino +XA-UA = Ukraine +XA-VA = Vatican City +# Asien +XB = Asia +XB-AE = United Arab Emirates +XB-AF = Afghanistan +XB-AM = Armenia +XB-AZ = Azerbaijan +XB-BD = Bangladesh +XB-BH = Bahrain +XB-BN = Brunei +XB-BT = Bhutan +XB-CN = China +XB-CN-54 = Tibet +XB-GE = Georgia +XB-HK = Hong Kong +XB-ID = Indonesia +XB-IL = Israel +XB-IN = India +XB-IQ = Iraq +XB-IR = Iran +XB-JO = Jordan +XB-JP = Japan +XB-KG = Kyrgyzstan +XB-KH = Cambodia +XB-KP = North Korea +XB-KR = South Korea +XB-KW = Kuwait +XB-KZ = Kazakhstan +XB-LA = Laos +XB-LB = Lebanon +XB-LK = Sri Lanka +XB-MM = Myanmar +XB-MN = Mongolia +XB-MO = Macao +XB-MV = Maldives +XB-MY = Malaysia +XB-NP = Nepal +XB-OM = Oman +XB-PH = Philippines +XB-PK = Pakistan +XB-PS = Palestinian territories +XB-QA = Qatar +XB-SA = Saudi Arabia +XB-SG = Singapore +XB-SY = Syria +XB-TH = Thailand +XB-TJ = Tajikistan +XB-TL = Timor-Leste +XB-TM = Turkmenistan +XB-TR = Turkey +XB-TW = Taiwan +XB-UZ = Uzbekistan +XB-VN = Vietnam +XB-YE = Yemen +# Afrika +XC = Africa +XC-AO = Angola +XC-BF = Burkina Faso +XC-BI = Burundi +XC-BJ = Benin +XC-BW = Botswana +XC-CD = Congo, Democratic Republic of the Congo +XC-CF = Central African Republic +XC-CG = Congo, Republic of the Congo +XC-CI = Côte d'Ivoire +XC-CM = Cameroon +XC-CV = Cape Verde +XC-DJ = Djibouti +XC-DZ = Algeria +XC-EG = Egypt +XC-EH = Western Sahara +XC-ER = Eritrea +XC-ET = Ethiopia +XC-GA = Gabon +XC-GH = Ghana +XC-GM = Gambia +XC-GN = Guinea +XC-GQ = Equatorial Guinea +XC-GW = Guinea-Bissau +XC-KE = Kenya +XC-KM = Comoros +XC-LR = Liberia +XC-LS = Lesotho +XC-LY = Libya +XC-MA = Morocco +XC-MG = Madagascar +XC-ML = Mali +XC-MR = Mauritania +XC-MU = Mauritius +XC-MW = Malawi +XC-MZ = Mozambique +XC-NA = Namibia +XC-NE = Niger +XC-NG = Nigeria +XC-RW = Rwanda +XC-SC = Seychelles +XC-SD = Sudan +XC-SL = Sierra Leone +XC-SN = Senegal +XC-SO = Somalia +XC-SS = South Sudan +XC-ST = São Tomé and Príncipe +XC-SZ = Swaziland +XC-TD = Chad +XC-TG = Togo +XC-TN = Tunisia +XC-TZ = Tanzania +XC-UG = Uganda +XC-YT = Mayotte +XC-ZA = South Africa +XC-ZM = Zambia +XC-ZW = Zimbabwe +# Amerika +XD = America +XD-AG = Antigua and Barbuda +XD-AI = Anguilla +XD-AR = Argentina +XD-AS = American Samoa +XD-AW = Aruba +XD-BB = Barbados +XD-BL = Saint Barthélemy +XD-BM = Bermuda +XD-BO = Bolivia +XD-BQ = Bonaire, Sint Eustatius, Saba (Caribbean Netherlands) +XD-BR = Brazil +XD-BS = Bahamas +XD-BZ = Belize +XD-CA = Canada +XD-CL = Chile +XD-CO = Colombia +XD-CR = Costa Rica +XD-CU = Cuba +XD-CW = Curaçao +XD-DM = Dominica +XD-DO = Dominican Republic +XD-EC = Ecuador +XD-GD = Grenada +XD-GF = French Guiana +XD-GP = Guadeloupe +XD-GT = Guatemala +XD-GY = Guyana +XD-HN = Honduras +XD-HT = Haiti +XD-JM = Jamaica +XD-KN = Saint Kitts und Nevis +XD-KY = Cayman Islands +XD-LC = Saint Lucia +XD-MF = Saint Martin +XD-MQ = Martinique +XD-MS = Montserrat +XD-MX = Mexico +XD-NI = Nicaragua +XD-PA = Panama +XD-PE = Peru +XD-PM = Saint Pierre and Miquelon +XD-PR = Puerto Rico +XD-PY = Paraguay +XD-SR = Suriname +XD-SV = El Salvador +XD-SX = Sint Maarten +XD-TC = Turks and Caicos Islands +XD-TT = Trinidad and Tobago +XD-US = USA +XD-UY = Uruguay +XD-VC = Saint Vincent and the Grenadines +XD-VE = Venezuela +XD-VG = Virgin Islands, British +XD-VI = Virgin Islands, United States +# Australien, Ozeanien +XE = Australia and Oceania +XE-AU = Australia +XE-CC = Cocos (Keeling) Islands +XE-CK = Cook Islands +XE-CX = Christmas Island <Australia> +XE-FJ = Fiji +XE-FM = Micronesia, Federated States of +XE-GU = Guam +XE-KI = Kiribati +XE-MH = Marshall Islands +XE-MP = Northern Mariana Islands +XE-NC = New Caledonia +XE-NF = Norfolk Island +XE-NR = Nauru +XE-NZ = New Zealand +XE-PF = French Polynesia +XE-PG = Papua New Guinea +XE-PW = Palau +XE-SB = Solomon Islands +XE-TK = Tokelau +XE-TO = Tonga +XE-TV = Tuvalu +XE-VU = Vanuatu +XE-WF = Wallis and Futuna +XE-WS = Samoa +# Arktis und Antarktis +XH = Arctic +XI = Antarctic +XI-AQ = Antarctica +XI-HM = Heard Islands and McDonald Islands +# Atlantischer Ozean +XK = Atlantic Ocean +XK-BV = Bouvet Island +XK-FK = Falkland Islands +XK-FO = Faroe Islands +XK-GL = Greenland +XK-GS = South Georgia and the South Sandwich Islands +XK-SH = Saint Helena, Ascension and Tristan da Cunha +XK-SJ = Svalbard and Jan Mayen +# Indischer Ozean +XL = Indian Ocean +XL-IO = British Indian Ocean Territory +XL-RE = Réunion +XL-TF = French Southern and Antarctic Lands +# Pazifischer Ozean +XM = Pacific Ocean +XM-NU = Niue +XM-PN = Pitcairn +XM-UM = United States Minor Outlying Islands +# Kontinentübergreifende Staatengruppen, Sonstiges +XN = Outer Space +XP = International organisations and communities of states +XQ = Entire world +XW = Palestinian people +XX = Arab people +XY = Jewish people +XZ = Fictitious places +ZZ = Other places +XR = Ancient Near East +XS = Ancient Greece +XT = Roman Empire +XU = Byzantine Empire +XV = Ottoman Empire +# Historische Bezeichnungen +NTHH = Saudi-Iraqi neutral zone (-1993) +XA-AAAT = Austria (- 12.11.1918) +XA-CSHH = Czechoslovakia (-1993) +XA-CSXX = Serbia and Montenegro (2003-2006) +XA-DDDE = German Democratic Republic (-1990) +XA-DXDE = German Reich +XA-FXFR = Metropolitan France (1993-1997) +XA-SUHH = Soviet Union (-1992) +XA-YUCS = Yugoslavia (-2003) +XB-BUMM = Burma (-1989) +XB-SKIN = Sikkim (-1975) +XB-TPTL = East Timor (-2002) +XB-VDVN = Vietnam, Republic of (i.e. South Vietnam) (-1977) +XB-YDYE = Yemen (i.e. South Yemen) (-1990) +XC-AIDJ = Djibouti (French Territory of the Afars and the Issas) (-1977) +XC-DYBJ = Benin (Dahomey) (-1977) +XC-HVBF = Burkina Faso (Upper Volta) (-1984) +XC-RHZW = Zimbabwe (Southern Rhodesia) (-1980) +XC-ZRCD = Congo, Democratic Republic of the Congo (Zaire) (-1997) +XD-ANHH = Netherlands Antilles (1974-2011) +XD-PZPA = Panama Canal Zone (-1980) +XE-CTKI = Canton and Enderbury Islands (-1984) +XE-GEHH = Gilbert and Ellice Islands (-1979) +XE-NHVU = Vanuatu (New Hebrides) (-1980) +XE-PCHH = Pacific Islands, Trust Territory of the (-1986) +XI-BQAQ = British Antarctic Territory (-1979) +XI-FQHH = French Southern and Antarctic Lands (-1979) +XI-NQAQ = Queen Maud Land (-1983) +XM-JTUM = Johnston Island (-1986) +XM-MIUM = Midway Islands (-1986) +XM-PUUM = United States Miscellaneous Pacific Islands (-1986) +XM-WKUM = Wake Island (-1986) \ No newline at end of file diff --git a/import/translation_maps/htwk_udk_map.properties b/import/translation_maps/htwk_udk_map.properties new file mode 100644 index 0000000000000000000000000000000000000000..4fe478407792ece17418e2ab62f3bbc5e57fd55d --- /dev/null +++ b/import/translation_maps/htwk_udk_map.properties @@ -0,0 +1,142 @@ +# UDK to Facet mapping file HTWK => trunk/import/translation_maps +# Copy of mapping file for TUBAF - to be changed. + +# UDK 1978 +htwk_udk.pattern_0 = ^DK 0=>Allgemeines +htwk_udk.pattern_1 = ^DK 1=>Philosophie. Psychologie +htwk_udk.pattern_2 = ^DK 2=>Religion. Theologie +htwk_udk.pattern_3 = ^DK 3$=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde +htwk_udk.pattern_4 = ^DK 30=>Soziologie. Soziale Fragen. Soziographie +htwk_udk.pattern_5 = ^DK 31=>Statistik +htwk_udk.pattern_6 = ^DK 32=>Politik +htwk_udk.pattern_7 = ^DK 33=>Wirtschaft. Wirtschaftswissenschaften +htwk_udk.pattern_8 = ^DK 34=>Recht. Rechtswissenschaften +htwk_udk.pattern_9 = ^DK 35=>Öffentliche Verwaltung. Kriegskunst. Kriegswissenschaften +htwk_udk.pattern_10 = ^DK 36=>Fürsorge. Volkshilfe. Versicherung +htwk_udk.pattern_11 = ^DK 37=>Erziehung. Bildung. Unterricht. Freizeitgestaltung +htwk_udk.pattern_12 = ^DK 38=>Metrologie. Maß- und Gewichtswesen +htwk_udk.pattern_13 = ^DK 39=>Völkerkunde. Volkskunde. Sitte. Brauchtum. Volksleben. Folklore +htwk_udk.pattern_14 = ^DK 3\D=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde +htwk_udk.pattern_15 = ^DK 5$=>Mathematik. Naturwissenschaften +htwk_udk.pattern_16 = ^DK 502=>Naturschutz +htwk_udk.pattern_17 = ^DK 504=>Umweltwissenschaften +htwk_udk.pattern_18 = ^DK 50[\D1]=>Allgemeines über die Naturwissenschaften +htwk_udk.pattern_19 = ^DK 51=>Mathematik +htwk_udk.pattern_20 = ^DK 52=>Astronomie. Gedäsie +htwk_udk.pattern_21 = ^DK 53$=>Physik +htwk_udk.pattern_22 = ^DK 530=>Theoretische Physik +htwk_udk.pattern_23 = ^DK 531=>Mechanik starrer Körper +htwk_udk.pattern_24 = ^DK 534=>Mechnische Schwingungen +htwk_udk.pattern_25 = ^DK 535=>Optik +htwk_udk.pattern_26 = ^DK 536=>Wärmelehre +htwk_udk.pattern_27 = ^DK 539$=>Physikalischer Aufbau der Materie +htwk_udk.pattern_28 = ^DK 539\.1=>Kern- und Atomphysik +htwk_udk.pattern_29 = ^DK 539\.2=>Festkörperphysik +htwk_udk.pattern_30 = ^DK 539\.[3-8]=>Deformation. Festigkeit +htwk_udk.pattern_31 = ^DK 53[23]=>Mechanik der Flüssigkeiten und Gase +htwk_udk.pattern_32 = ^DK 53[78]=>Elektrizität. Magnetismus +htwk_udk.pattern_33 = ^DK 53\D=>Physik +htwk_udk.pattern_34 = ^DK 54$=>Chemie. Mineralogie +htwk_udk.pattern_35 = ^DK 541=>Physikalische Chemie +htwk_udk.pattern_36 = ^DK 542=>Experimentalchemie +htwk_udk.pattern_37 = ^DK 543=>Analytische Chemie +htwk_udk.pattern_38 = ^DK 546=>Anorganische Chemie +htwk_udk.pattern_39 = ^DK 547=>Organische Chemie +htwk_udk.pattern_40 = ^DK 548=>Kristallographie +htwk_udk.pattern_41 = ^DK 549=>Mineralogie +htwk_udk.pattern_42 = ^DK 54\D=>Chemie. Mineralogie +htwk_udk.pattern_43 = ^DK 55=>Geologwissenschaften ohne Paläontologie +htwk_udk.pattern_44 = ^DK 56=>Paläontologie +htwk_udk.pattern_45 = ^DK 57=>Biologie +htwk_udk.pattern_46 = ^DK 58=>Botanik +htwk_udk.pattern_47 = ^DK 59=>Zoologie +htwk_udk.pattern_48 = ^DK 5\D=>Mathematik. Naturwissenschaften +htwk_udk.pattern_49 = ^DK 6$=>Angewandte Wissenschaften. Medizin. Technik +htwk_udk.pattern_50 = ^DK 61=>Medizin +htwk_udk.pattern_51 = ^DK 62$=>Ingenieurwesen. Technik im Allgemeinen +htwk_udk.pattern_52 = ^DK 620=>Werkstoffprüfung. Warenkunde. Kraftzentralen. Energiewirtschaft +htwk_udk.pattern_53 = ^DK 621$=>Maschinen-, Anlagen- & Energietechnik +htwk_udk.pattern_54 = ^DK 621\.3=>Elektrotechnik, Elektronik +htwk_udk.pattern_55 = ^DK 621\.7=>Fertigungstechnik. Fügen. Oberflächenbehandlung +htwk_udk.pattern_56 = ^DK 621\.8=>Maschinenelemente. Fördermittel. Schmierung +htwk_udk.pattern_57 = ^DK 621\.9=>Spanende Umformtechnik. Zerkleinerungs- und Abscheidevorrichtungen. Blechbearbeitung +htwk_udk.pattern_58 = ^DK 621\.[0-24-6]=>Maschinen-, Anlagen- & Energietechnik +htwk_udk.pattern_59 = ^DK 622=>Bergbau. Rohstoffgewinnung +htwk_udk.pattern_60 = ^DK 623=>Wehrtechnik +htwk_udk.pattern_61 = ^DK 624=>Geotechnik. Bauingenieurwesen +htwk_udk.pattern_62 = ^DK 625=>Technik der Verkehrswege zu Lande. Eisenbahnbau. Straßenbau. Wegebau +htwk_udk.pattern_63 = ^DK 626=>Allgemeiner Wasserbau. Kanalbau. Landeskulturbau +htwk_udk.pattern_64 = ^DK 627=>Wasserbau. Hafen- und Seebau +htwk_udk.pattern_65 = ^DK 628=>Gesundheitstechnik. Wasser. Sanitäre Anlagen. Lichttechnik +htwk_udk.pattern_66 = ^DK 629=>Fahrzeugtechnik +htwk_udk.pattern_67 = ^DK 62\(038\)$=>Technik - Wörterbücher +htwk_udk.pattern_68 = ^DK 62\(083\.7\)$=>Technik - Normen, Standards +htwk_udk.pattern_69 = ^DK 62\D=>Ingenieurwesen. Technik im Allgemeinen +htwk_udk.pattern_70 = ^DK 63$=>Landwirtschaft und verwandte Wissenschaften und Techniken +htwk_udk.pattern_71 = ^DK 631$=>Landwirtschaft und verwandte Wissenschaften und Techniken +htwk_udk.pattern_72 = ^DK 631\.4=>Bodenkunde +htwk_udk.pattern_73 = ^DK 631\.[0-35-9]=>Landwirtschaft und verwandte Wissenschaften und Techniken +htwk_udk.pattern_74 = ^DK 63[02-9\D]=>Landwirtschaft und verwandte Wissenschaften und Techniken +htwk_udk.pattern_75 = ^DK 64=>Hauswirtschaft +htwk_udk.pattern_76 = ^DK 65=>Betriebsführung und Organisation von Industrie, Handel und Verkehr +htwk_udk.pattern_77 = ^DK 66$=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige +htwk_udk.pattern_78 = ^DK 66-=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige +htwk_udk.pattern_79 = ^DK 666=>Glas. Email. Keramik. Kunststeine. Zement (Gesteinshüttenkunde) +htwk_udk.pattern_80 = ^DK 667=>Farbtechnische Industrien +htwk_udk.pattern_81 = ^DK 669=>Metallurgie. Metalle und Legierungen +htwk_udk.pattern_82 = ^DK 66[1-5]=>Verschiedene Industriezweige +htwk_udk.pattern_83 = ^DK 66\.0=>Verfahrenstechnik +htwk_udk.pattern_84 = ^DK 67$=>Verschiedene Industrien und Gewerbe. Mechanische Technologie +htwk_udk.pattern_85 = ^DK 671=>Gegenstände aus Edelmetall und Edelsteinen +htwk_udk.pattern_86 = ^DK 672=>Gegenstände aus Eisen und Stahl +htwk_udk.pattern_87 = ^DK 673=>Gegenstände aus Nichteisenmetallen außer Edelmetallen +htwk_udk.pattern_88 = ^DK 674=>Holzindustrie +htwk_udk.pattern_89 = ^DK 675=>Lederindustrie. Pelze. Kunstleder +htwk_udk.pattern_90 = ^DK 676=>Papierindustrie +htwk_udk.pattern_91 = ^DK 677=>Textilindustrie. Textilveredelung. Kabelindustrie +htwk_udk.pattern_92 = ^DK 678=>Industrie der natürlichen und synthetischen makromolekularen Stoffe. Gummiindustrie. Kunststoffindustrie +htwk_udk.pattern_93 = ^DK 679=>Technologie der Steine. Industrie der Steine und Erden +htwk_udk.pattern_94 = ^DK 67\D=>Verschiedene Industrien und Gewerbe. Mechanische Technologie +htwk_udk.pattern_95 = ^DK 68$=>Verschiedene Industrien und Gewerbe +htwk_udk.pattern_96 = ^DK 681$=>Feinmechanik +htwk_udk.pattern_97 = ^DK 681\.3=>IT. Informatik. Software +htwk_udk.pattern_98 = ^DK 681\.[0-24-9]=>Feinmechanik +htwk_udk.pattern_99 = ^DK 682=>Schmiedegewerbe. Hufbeschlag +htwk_udk.pattern_100 = ^DK 683=>Eisenwaren. Schlosserei +htwk_udk.pattern_101 = ^DK 684=>Möbelindustrie und verwandte Industrien +htwk_udk.pattern_102 = ^DK 685=>Sattlerei. Riemerei. Schuhmacherei. Handschuhmacherei. Reiseartikel und Sportgeräte. Spielartikel +htwk_udk.pattern_103 = ^DK 686=>Buchbinderei. Metallisierung. Glaserei. Bürogeräte +htwk_udk.pattern_104 = ^DK 687=>Bekleidungsindustrie. Schönheitspflege +htwk_udk.pattern_105 = ^DK 688=>Kunstdrechselei. Spielwaren. Dekorationsartikel +htwk_udk.pattern_106 = ^DK 689=>Technische und handwerkliche Liebhaberarbeiten. Bastelarbeiten +htwk_udk.pattern_107 = ^DK 68\D=>Verschiedene Industrien und Gewerbe +htwk_udk.pattern_108 = ^DK 69=>Baustoffe. Bauhandwerk. Bauarbeiten +htwk_udk.pattern_109 = ^DK 6\D=>Angewandte Wissenschaften. Medizin. Technik +htwk_udk.pattern_110 = ^DK 7$=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport +htwk_udk.pattern_111 = ^DK 71=>Raumordnung. Landesplanung. Städtebau. Landschaftsgestaltung. Gartenarchitektur +htwk_udk.pattern_112 = ^DK 72=>Architektur. Baukunst +htwk_udk.pattern_113 = ^DK 73=>Bildhauerei. Münzkunde. Künstlerische Metallverarbeitung +htwk_udk.pattern_114 = ^DK 74=>Zeichenkunst. Kunstgewerbe +htwk_udk.pattern_115 = ^DK 75=>Malerei +htwk_udk.pattern_116 = ^DK 76=>Graphische Künste. Graphik +htwk_udk.pattern_117 = ^DK 77=>Photographie +htwk_udk.pattern_118 = ^DK 78=>Musik +htwk_udk.pattern_119 = ^DK 79=>Unterhaltung. Spiele. Sport +htwk_udk.pattern_120 = ^DK 7\D=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport +htwk_udk.pattern_121 = ^DK 8=>Sprachwissenschaften. Philologie. Schöne Literatur. Literaturwissenschaft +htwk_udk.pattern_122 = ^DK 9$=>Geographie. Biographien. Geschichte +htwk_udk.pattern_123 = ^DK 91$=>Geographie. Erforschung der Erde und Länder. Reisen. Länderkunde. Landeskunde +htwk_udk.pattern_124 = ^DK 910=>Allg. Fragen der Geographie +htwk_udk.pattern_125 = ^DK 911=>Physische Geographie & Anthropogeographie +htwk_udk.pattern_126 = ^DK 912=>Karten und Atlanten +htwk_udk.pattern_127 = ^DK 91[3-9]=>Geographie. Erforschung der Erde und Länder. Reisen. Länderkunde. Landeskunde +htwk_udk.pattern_128 = ^DK 92=>Biographien. Genealogie. Heraldik +htwk_udk.pattern_129 = ^DK 93=>Geschichtswissenschaft. Alte Geschichte +htwk_udk.pattern_130 = ^DK 94=>Geschichte Europas +htwk_udk.pattern_131 = ^DK 95=>Geschichte Asiens +htwk_udk.pattern_132 = ^DK 96=>Geschichte Afrikas +htwk_udk.pattern_133 = ^DK 97=>Geschichte Nordamerikas +htwk_udk.pattern_134 = ^DK 98=>Geschichte Südamerikas +htwk_udk.pattern_135 = ^DK 99=>Geschichte der ozeanischen und polarischen Gebiete +htwk_udk.pattern_136 = ^DK 9[0\D]=>Geographie. Biographien. Geschichte + diff --git a/import/translation_maps/rvk_map.properties b/import/translation_maps/rvk_map.properties new file mode 100644 index 0000000000000000000000000000000000000000..63cbdaa5ea1b519d80354c6c7e11bd88e556b6f2 --- /dev/null +++ b/import/translation_maps/rvk_map.properties @@ -0,0 +1,210 @@ +A = Allgemeines +B = Theologie und Religionswissenschaften +CA = Philosophie +CB = Philosophie +CC = Philosophie +CD = Philosophie +CE = Philosophie +CF = Philosophie +CG = Philosophie +CH = Philosophie +CI = Philosophie +CL = Psychologie +CM = Psychologie +CN = Psychologie +CO = Psychologie +CP = Psychologie +CQ = Psychologie +CR = Psychologie +CS = Psychologie +CT = Psychologie +CU = Psychologie +CV = Psychologie +CW = Psychologie +CX = Psychologie +CY = Psychologie +CZ = Psychologie +D = Pädagogik +E = Allgemeine und vergleichende Sprach- und Literaturwissenschaft. Indogermanistik. Außereuropäische Sprachen und Literaturen +F = Klassische Philologie. Byzantinistik. Mittellateinische und Neugriechische Philologie. Neulatein +G = Germanistik. Niederlandistik. Skandinavistik +H = Anglistik. Amerikanistik +I = Romanistik +K = Slawistik +LA = Ethnologie(Volks- und Völkerkunde) +LB = Ethnologie(Volks- und Völkerkunde) +LC = Ethnologie(Volks- und Völkerkunde) +LD = Zeitschriften für Klassische Archäologie, Kunstgeschichte, Musikwissenschaft, Architektur und Baukunst +LE = Klassische Archäologie +LF = Klassische Archäologie +LG = Klassische Archäologie +LH = Kunstgeschichte +LI = Kunstgeschichte +LJ = Kunstgeschichte +LK = Kunstgeschichte +LL = Kunstgeschichte +LM = Kunstgeschichte +LN = Kunstgeschichte +LO = Kunstgeschichte +LP = Musikwissenschaft +LQ = Musikwissenschaft +LR = Musikwissenschaft +LS = Musikwissenschaft +LT = Musikwissenschaft +LU = Musikwissenschaft +LV = Musikwissenschaft +LW = Musikwissenschaft +LX = Musikwissenschaft +LY = Musikwissenschaft +MA = Politologie +MB = Politologie +MC = Politologie +MD = Politologie +ME = Politologie +MF = Politologie +MG = Politologie +MH = Politologie +MI = Politologie +MJ = Politologie +MK = Politologie +ML = Politologie +MN = Soziologie +MO = Soziologie +MP = Soziologie +MQ = Soziologie +MR = Soziologie +MS = Soziologie +MT = Soziologie +MU = Soziologie +MV = Soziologie +MW = Soziologie +MX = Militärwissenschaft +MY = Militärwissenschaft +MZ = Militärwissenschaft +N = Geschichte +P = Rechtswissenschaft +Q = Wirtschaftswissenschaften +R = Geographie +SA = Mathematik +SB = Mathematik +SC = Mathematik +SD = Mathematik +SE = Mathematik +SF = Mathematik +SG = Mathematik +SH = Mathematik +SI = Mathematik +SJ = Mathematik +SK = Mathematik +SL = Mathematik +SM = Mathematik +SN = Mathematik +SO = Mathematik +SP = Mathematik +SQ = Informatik +SR = Informatik +SS = Informatik +ST = Informatik +SU = Informatik +TA = Allgemeine Naturwissenschaft +TB = Allgemeine Naturwissenschaft +TC = Allgemeine Naturwissenschaft +TD = Allgemeine Naturwissenschaft +TE = Geologie und Paläontologie +TF = Geologie und Paläontologie +TG = Geologie und Paläontologie +TH = Geologie und Paläontologie +TI = Geologie und Paläontologie +TJ = Geologie und Paläntologiie +TK = Geologie und Paläontologie +TL = Geologie und Paläontologie +TM = Geologie und Paläontologie +TN = Geologie und Paläontologie +TO = Geologie und Paläontologie +TP = Geologie und Paläontologie +TQ = Geologie und Paläontologie +TR = Geologie und Paläontologie +TS = Geologie und Paläontologie +TT = Geologie und Paläontologie +TU = Geologie und Paläontologie +TV = Geologie und Paläontologie +TW = Geologie und Paläontologie +TX = Geologie und Paläontologie +TY = Geologie und Paläontologie +TZ = Geologie und Paläontologie +U = Physik +V = Chemie und Pharmazie +W = Biologie +WW = Biologie +WX = Biologie +WY = Biologie +WZ = Biologie +XA = Medizin +XB = Medizin +XC = Medizin +XD = Medizin +XE = Medizin +XF = Medizin +XG = Medizin +XH = Medizin +XI = Medizin +XJ = Medizin +XK = Medizin +XL = Medizin +XM = Medizin +XN = Medizin +XO = Medizin +XP = Medizin +XQ = Medizin +XR = Medizin +XS = Medizin +XT = Medizin +XU = Medizin +XV = Medizin +XW = Medizin +XX = Medizin +XY = Medizin +XZ = Medizin +YA = Medizin +YB = Medizin +YC = Medizin +YD = Medizin +YE = Medizin +YF = Medizin +YG = Medizin +YH = Medizin +YI = Medizin +YJ = Medizin +YK = Medizin +YL = Medizin +YM = Medizin +YN = Medizin +YO = Medizin +YP = Medizin +YQ = Medizin +YR = Medizin +YS = Medizin +YT = Medizin +YU = Medizin +YV = Medizin +ZA = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft +ZB = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft +ZC = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft +ZD = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft +ZE = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft +ZG = Technik +ZH = Technik +ZI = Technik +ZJ = Technik +ZK = Technik +ZL = Technik +ZM = Technik +ZN = Technik +ZO = Technik +ZP = Technik +ZQ = Technik +ZR = Technik +ZS = Technik +ZX = Sport +ZY = Sport +No subject assigned = No subject assigned \ No newline at end of file diff --git a/import/translation_maps/timecode_map.properties b/import/translation_maps/timecode_map.properties new file mode 100644 index 0000000000000000000000000000000000000000..c850c6abe5e2b6af7ab78e1db8cefeed9914f93e --- /dev/null +++ b/import/translation_maps/timecode_map.properties @@ -0,0 +1,21 @@ +ad01 = 0 \u2013 100 +ad02 = 101 \u2013 200 +ad03 = 201 \u2013 300 +ad04 = 301 \u2013 400 +ad05 = 401 \u2013 500 +ad06 = 501 \u2013 600 +ad07 = 601 \u2013 700 +ad08 = 701 \u2013 800 +ad09 = 801 \u2013 900 +ad10 = 901 \u2013 1000 +ad11 = 1001 \u2013 1100 +ad12 = 1101 \u2013 1200 +ad13 = 1201 \u2013 1300 +ad14 = 1301 \u2013 1400 +ad15 = 1401 \u2013 1500 +ad16 = 1501 \u2013 1600 +ad17 = 1601 \u2013 1700 +ad18 = 1701 \u2013 1800 +a19a = 1801 \u2013 1850 +a19b = 1851 \u2013 1900 + diff --git a/import/translation_maps/tuf_udk_map.properties b/import/translation_maps/tuf_udk_map.properties new file mode 100644 index 0000000000000000000000000000000000000000..e17d7627a44335bd28a11f9e6146896d6a3d95b9 --- /dev/null +++ b/import/translation_maps/tuf_udk_map.properties @@ -0,0 +1,218 @@ +# UDK to facet mapping file TUBAF => trunk/import/translation_maps +# Generated by CreateUDKFacetPatternMatching.py + +# UDK 1978 +tuf_udk.pattern_0 = ^DK 0$=>Allgemeines +tuf_udk.pattern_1 = ^DK 001=>Wissenschaft, Allgemeines +tuf_udk.pattern_2 = ^DK 00[2-9]=>Allgemeines +tuf_udk.pattern_3 = ^DK 01=>Bibliographie +tuf_udk.pattern_4 = ^DK 02=>Bibliothekswesen +tuf_udk.pattern_5 = ^DK 06$=>Organisationen +tuf_udk.pattern_6 = ^DK 061$=>Organisationen +tuf_udk.pattern_7 = ^DK 061\.3=>Kongresse +tuf_udk.pattern_8 = ^DK 061\.4=>Ausstellungen +tuf_udk.pattern_9 = ^DK 061\.[125679]=>Organisationen +tuf_udk.pattern_10 = ^DK 069=>Museen +tuf_udk.pattern_11 = ^DK 06\.=>Organisationen +tuf_udk.pattern_12 = ^DK 0[345789]=>Allgemeines +tuf_udk.pattern_13 = ^DK 1$=>Philosophie. Psychologie +tuf_udk.pattern_14 = ^DK 15=>Psychologie +tuf_udk.pattern_15 = ^DK 1[0-46-9]=>Philosophie +tuf_udk.pattern_16 = ^DK 2=>Religion. Theologie +tuf_udk.pattern_17 = ^DK 3$=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde +tuf_udk.pattern_18 = ^DK 30=>Soziologie. Methoden +tuf_udk.pattern_19 = ^DK 31=>Statistik +tuf_udk.pattern_20 = ^DK 316=>Soziologie +tuf_udk.pattern_21 = ^DK 31[\D1-57-9]=>Statistik +tuf_udk.pattern_22 = ^DK 32=>Politik +tuf_udk.pattern_23 = ^DK 33=>Wirtschaft. Wirtschaftswissenschaften +tuf_udk.pattern_24 = ^DK 34$=>Recht. Rechtswissenschaften +tuf_udk.pattern_25 = ^DK 340=>Recht im Allgemeinen +tuf_udk.pattern_26 = ^DK 341=>Internationales Recht +tuf_udk.pattern_27 = ^DK 342=>Staatsrecht. Verfassungsrecht. Verwaltungsrecht +tuf_udk.pattern_28 = ^DK 347=>Zivilrecht +tuf_udk.pattern_29 = ^DK 348=>Kirchenrecht +tuf_udk.pattern_30 = ^DK 349$=>Spezielle Rechtszweige. Rechtszweige gemischten Charakters +tuf_udk.pattern_31 = ^DK 349\.2=>Arbeitsrecht +tuf_udk.pattern_32 = ^DK 349\.3=>Sozialrecht +tuf_udk.pattern_33 = ^DK 349\.4=>Bodenrecht. Baurecht +tuf_udk.pattern_34 = ^DK 349\.6=>Umweltrecht +tuf_udk.pattern_35 = ^DK 349\.7=>Atomrecht. Energierecht +tuf_udk.pattern_36 = ^DK 34[34]=>Strafrecht +tuf_udk.pattern_37 = ^DK 35=>Verwaltung. Militärwissenschaft +tuf_udk.pattern_38 = ^DK 36=>Fürsorge. Versicherung +tuf_udk.pattern_39 = ^DK 37$=>Bildungswesen. Pädagogik. Freizeitgestaltung +tuf_udk.pattern_40 = ^DK 378$=>Hochschulwesen +tuf_udk.pattern_41 = ^DK 378\.2$=>Hochschulwesen +tuf_udk.pattern_42 = ^DK 378\.24$=>Hochschulwesen +tuf_udk.pattern_43 = ^DK 378\.245$=>Dissertationen +tuf_udk.pattern_44 = ^DK 378\.24[0-46-9]=>Hochschulwesen +tuf_udk.pattern_45 = ^DK 378\.2[1-35-9]=>Hochschulwesen +tuf_udk.pattern_46 = ^DK 378\.[013-9]=>Hochschulwesen +tuf_udk.pattern_47 = ^DK 379=>Freizeitgestaltung +tuf_udk.pattern_48 = ^DK 37[\D0-7]=>Bildungswesen. Pädagogik +tuf_udk.pattern_49 = ^DK 38=>Metrologie. Maß- und Gewichtswesen +tuf_udk.pattern_50 = ^DK 39=>Völkerkunde +tuf_udk.pattern_51 = ^DK 3\D=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde +tuf_udk.pattern_52 = ^DK 5$=>Mathematik. Naturwissenschaften +tuf_udk.pattern_53 = ^DK 502=>Naturschutz +tuf_udk.pattern_54 = ^DK 504=>Umweltwissenschaften +tuf_udk.pattern_55 = ^DK 50[\D1]=>Allgemeines über die Naturwissenschaften +tuf_udk.pattern_56 = ^DK 51=>Mathematik +tuf_udk.pattern_57 = ^DK 52=>Astronomie. Geodäsie +tuf_udk.pattern_58 = ^DK 53$=>Physik +tuf_udk.pattern_59 = ^DK 530=>Theoretische Physik +tuf_udk.pattern_60 = ^DK 531=>Mechanik starrer Körper +tuf_udk.pattern_61 = ^DK 534=>Mechnische Schwingungen +tuf_udk.pattern_62 = ^DK 535=>Optik +tuf_udk.pattern_63 = ^DK 536=>Wärmelehre +tuf_udk.pattern_64 = ^DK 539$=>Physikalischer Aufbau der Materie +tuf_udk.pattern_65 = ^DK 539\.1=>Kern- und Atomphysik +tuf_udk.pattern_66 = ^DK 539\.2=>Festkörperphysik +tuf_udk.pattern_67 = ^DK 539\.[3-8]=>Deformation. Festigkeit +tuf_udk.pattern_68 = ^DK 53[23]=>Mechanik der Flüssigkeiten und Gase +tuf_udk.pattern_69 = ^DK 53[78]=>Elektrizität. Magnetismus +tuf_udk.pattern_70 = ^DK 53\D=>Physik +tuf_udk.pattern_71 = ^DK 54$=>Chemie. Mineralogie +tuf_udk.pattern_72 = ^DK 541=>Physikalische Chemie +tuf_udk.pattern_73 = ^DK 542=>Experimentalchemie +tuf_udk.pattern_74 = ^DK 543=>Analytische Chemie +tuf_udk.pattern_75 = ^DK 546=>Anorganische Chemie +tuf_udk.pattern_76 = ^DK 547=>Organische Chemie +tuf_udk.pattern_77 = ^DK 548=>Kristallographie +tuf_udk.pattern_78 = ^DK 549=>Mineralogie +tuf_udk.pattern_79 = ^DK 54\D=>Chemie. Mineralogie +tuf_udk.pattern_80 = ^DK 55=>Geolog. Wissenschaften ohne Paläontologie +tuf_udk.pattern_81 = ^DK 56=>Paläontologie +tuf_udk.pattern_82 = ^DK 57=>Biologie +tuf_udk.pattern_83 = ^DK 58=>Botanik +tuf_udk.pattern_84 = ^DK 59=>Zoologie +tuf_udk.pattern_85 = ^DK 5\D=>Mathematik. Naturwissenschaften +tuf_udk.pattern_86 = ^DK 6$=>Angewandte Wissenschaften. Medizin. Technik +tuf_udk.pattern_87 = ^DK 61=>Medizin +tuf_udk.pattern_88 = ^DK 62$=>Ingenieurwesen. Technik im Allgemeinen +tuf_udk.pattern_89 = ^DK 620=>Werkstoffprüfung. Warenkunde. Kraftzentralen. Energiewirtschaft +tuf_udk.pattern_90 = ^DK 621$=>Maschinen-, Anlagen- & Energietechnik +tuf_udk.pattern_91 = ^DK 621\.3=>Elektrotechnik, Elektronik +tuf_udk.pattern_92 = ^DK 621\.7=>Fertigungstechnik. Fügen. Oberflächenbehandlung +tuf_udk.pattern_93 = ^DK 621\.8=>Maschinenelemente. Fördermittel. Schmierung +tuf_udk.pattern_94 = ^DK 621\.9=>Spanende Umformtechnik. Zerkleinerungs- und Abscheidevorrichtungen. Blechbearbeitung +tuf_udk.pattern_95 = ^DK 621\.[0-24-6]=>Maschinen-, Anlagen- & Energietechnik +tuf_udk.pattern_96 = ^DK 622=>Bergbau. Rohstoffgewinnung +tuf_udk.pattern_97 = ^DK 623=>Wehrtechnik +tuf_udk.pattern_98 = ^DK 624=>Geotechnik. Bauingenieurwesen +tuf_udk.pattern_99 = ^DK 625=>Technik der Verkehrswege zu Lande. Eisenbahnbau. Straßenbau. Wegebau +tuf_udk.pattern_100 = ^DK 626=>Allgemeiner Wasserbau. Kanalbau. Landeskulturbau +tuf_udk.pattern_101 = ^DK 627=>Wasserbau. Hafen- und Seebau +tuf_udk.pattern_102 = ^DK 628=>Gesundheitstechnik. Wasser. Sanitäre Anlagen. Lichttechnik +tuf_udk.pattern_103 = ^DK 629=>Fahrzeugtechnik +tuf_udk.pattern_104 = ^DK 62\(038\)$=>Technik - Wörterbücher +tuf_udk.pattern_105 = ^DK 62\(083\.7\)$=>Technik - Normen, Standards +tuf_udk.pattern_106 = ^DK 62\D=>Ingenieurwesen. Technik im Allgemeinen +tuf_udk.pattern_107 = ^DK 63$=>Landwirtschaft und verwandte Wissenschaften und Techniken +tuf_udk.pattern_108 = ^DK 631$=>Landwirtschaft und verwandte Wissenschaften und Techniken +tuf_udk.pattern_109 = ^DK 631\.4=>Bodenkunde +tuf_udk.pattern_110 = ^DK 631\.[0-35-9]=>Landwirtschaft und verwandte Wissenschaften und Techniken +tuf_udk.pattern_111 = ^DK 63[02-9\D]=>Landwirtschaft und verwandte Wissenschaften und Techniken +tuf_udk.pattern_112 = ^DK 64=>Hauswirtschaft +tuf_udk.pattern_113 = ^DK 65=>Betriebsführung und Organisation von Industrie, Handel und Verkehr +tuf_udk.pattern_114 = ^DK 66$=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige +tuf_udk.pattern_115 = ^DK 66-=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige +tuf_udk.pattern_116 = ^DK 666=>Glas. Email. Keramik. Kunststeine. Zement (Gesteinshüttenkunde) +tuf_udk.pattern_117 = ^DK 667=>Farbtechnische Industrien +tuf_udk.pattern_118 = ^DK 669=>Metallurgie. Metalle und Legierungen +tuf_udk.pattern_119 = ^DK 66[1-5]=>Verschiedene Industriezweige +tuf_udk.pattern_120 = ^DK 66\.0=>Verfahrenstechnik +tuf_udk.pattern_121 = ^DK 67$=>Verschiedene Industrien und Gewerbe. Mechanische Technologie +tuf_udk.pattern_122 = ^DK 671=>Gegenstände aus Edelmetall und Edelsteinen +tuf_udk.pattern_123 = ^DK 672=>Gegenstände aus Eisen und Stahl +tuf_udk.pattern_124 = ^DK 673=>Gegenstände aus Nichteisenmetallen außer Edelmetallen +tuf_udk.pattern_125 = ^DK 674=>Holzindustrie +tuf_udk.pattern_126 = ^DK 675=>Lederindustrie. Pelze. Kunstleder +tuf_udk.pattern_127 = ^DK 676=>Papierindustrie +tuf_udk.pattern_128 = ^DK 677=>Textilindustrie. Textilveredelung. Kabelindustrie +tuf_udk.pattern_129 = ^DK 678=>Industrie der natürlichen und synthetischen makromolekularen Stoffe. Gummiindustrie. Kunststoffindustrie +tuf_udk.pattern_130 = ^DK 679=>Technologie der Steine. Industrie der Steine und Erden +tuf_udk.pattern_131 = ^DK 67\D=>Verschiedene Industrien und Gewerbe. Mechanische Technologie +tuf_udk.pattern_132 = ^DK 68$=>Verschiedene Industrien und Gewerbe +tuf_udk.pattern_133 = ^DK 681$=>Feinmechanik +tuf_udk.pattern_134 = ^DK 681\.3=>IT. Informatik. Software +tuf_udk.pattern_135 = ^DK 681\.[012456789]=>Feinmechanik +tuf_udk.pattern_136 = ^DK 682=>Schmiedegewerbe. Hufbeschlag +tuf_udk.pattern_137 = ^DK 683=>Eisenwaren. Schlosserei +tuf_udk.pattern_138 = ^DK 684=>Möbelindustrie und verwandte Industrien +tuf_udk.pattern_139 = ^DK 685=>Sattlerei. Riemerei. Schuhmacherei. Handschuhmacherei. Reiseartikel und Sportgeräte. Spielartikel +tuf_udk.pattern_140 = ^DK 686=>Buchbinderei. Metallisierung. Glaserei. Bürogeräte +tuf_udk.pattern_141 = ^DK 687=>Bekleidungsindustrie. Schönheitspflege +tuf_udk.pattern_142 = ^DK 688=>Kunstdrechselei. Spielwaren. Dekorationsartikel +tuf_udk.pattern_143 = ^DK 689=>Technische und handwerkliche Liebhaberarbeiten. Bastelarbeiten +tuf_udk.pattern_144 = ^DK 68\D=>Verschiedene Industrien und Gewerbe +tuf_udk.pattern_145 = ^DK 69=>Baustoffe. Bauhandwerk. Bauarbeiten +tuf_udk.pattern_146 = ^DK 6[\D0]=>Angewandte Wissenschaften. Medizin. Technik +tuf_udk.pattern_147 = ^DK 7$=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport +tuf_udk.pattern_148 = ^DK 7-=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport +tuf_udk.pattern_149 = ^DK 71=>Raumordnung. Landesplanung. Städtebau. Gartenarchitektur +tuf_udk.pattern_150 = ^DK 72$=>Architektur. Baukunst +tuf_udk.pattern_151 = ^DK 725$=>Architektur. Baukunst +tuf_udk.pattern_152 = ^DK 725\.4=>Industriebauten +tuf_udk.pattern_153 = ^DK 725\.[0-35-9]=>Architektur. Baukunst +tuf_udk.pattern_154 = ^DK 72[0-46-9]=>Architektur. Baukunst +tuf_udk.pattern_155 = ^DK 72\.025=>Denkmalschutz +tuf_udk.pattern_156 = ^DK 72\.02[0-46-9]=>Architektur. Baukunst +tuf_udk.pattern_157 = ^DK 72\.0[013-9]=>Architektur. Baukunst +tuf_udk.pattern_158 = ^DK 73$=>Bildhauerei. Münzkunde. Künstlerische Metallverarbeitung +tuf_udk.pattern_159 = ^DK 737=>Münzkunde. Numismatik +tuf_udk.pattern_160 = ^DK 73[0-689]=>Bildhauerei. Künstlerische Metallverarbeitung +tuf_udk.pattern_161 = ^DK 74=>Zeichenkunst. Kunstgewerbe +tuf_udk.pattern_162 = ^DK 75=>Malerei +tuf_udk.pattern_163 = ^DK 76=>Graphik +tuf_udk.pattern_164 = ^DK 77=>Photographie +tuf_udk.pattern_165 = ^DK 78=>Musik +tuf_udk.pattern_166 = ^DK 79=>Unterhaltung. Sport +tuf_udk.pattern_167 = ^DK 7\.025=>Kunsttechnik: Verfall, Pflege, Schutz +tuf_udk.pattern_168 = ^DK 7\.02[0-46-9]=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport +tuf_udk.pattern_169 = ^DK 7\.0[013-9]=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport +tuf_udk.pattern_170 = ^DK 8$=>Sprach- und Literaturwissenschaft. Schöne Literatur +tuf_udk.pattern_171 = ^DK 80=>Linguistik +tuf_udk.pattern_172 = ^DK 82=>Literaturwissenschaft +tuf_udk.pattern_173 = ^DK 9$=>Geographie. Biographien. Geschichte +tuf_udk.pattern_174 = ^DK 904=>Reste der Kulturen der historischen Zeit. Industriearchäologie +tuf_udk.pattern_175 = ^DK 90[0-35-9]=>Archäologie. Vor- und Frühgeschichte. Reste der Kulturen +tuf_udk.pattern_176 = ^DK 91$=>Geographie. Erforschung der Erde und Länder. Reisen. Länderkunde. Landeskunde +tuf_udk.pattern_177 = ^DK 910=>Allg. Fragen der Geographie +tuf_udk.pattern_178 = ^DK 911=>Physische Geographie und Anthropogeographie +tuf_udk.pattern_179 = ^DK 912=>Karten und Atlanten +tuf_udk.pattern_180 = ^DK 913=>Orte der alten Welt. Legendäre und vermutete Länder +tuf_udk.pattern_181 = ^DK 914$=>Europa +tuf_udk.pattern_182 = ^DK 914\.30=>Deutschland +tuf_udk.pattern_183 = ^DK 914\.3[1-9]=>Europa +tuf_udk.pattern_184 = ^DK 914\.[0-24-9]=>Europa +tuf_udk.pattern_185 = ^DK 915=>Asien +tuf_udk.pattern_186 = ^DK 916=>Afrika +tuf_udk.pattern_187 = ^DK 917=>Nord- und Mittelamerika +tuf_udk.pattern_188 = ^DK 918=>Südamerika +tuf_udk.pattern_189 = ^DK 919$=>Ozeanien +tuf_udk.pattern_190 = ^DK 919\.8=>Arktis +tuf_udk.pattern_191 = ^DK 919\.9=>Antarktis +tuf_udk.pattern_192 = ^DK 919\.[1-7]=>Ozeanien +tuf_udk.pattern_193 = ^DK 92=>Biographien. Genealogie. Heraldik +tuf_udk.pattern_194 = ^DK 93$=>Geschichte allgemein +tuf_udk.pattern_195 = ^DK 930=>Geschichtswissenschaft +tuf_udk.pattern_196 = ^DK 93[1-9]=>Alte Geschichte +tuf_udk.pattern_197 = ^DK 94$=>Mittelalterliche und neuere Geschichte im allgemeinen +tuf_udk.pattern_198 = ^DK 943\.0$=>Geschichte Deutschlands +tuf_udk.pattern_199 = ^DK 943\.01=>Geschichte Bundesrepublik Deutschland +tuf_udk.pattern_200 = ^DK 943\.02=>Geschichte Deutsche Demokratische Republik +tuf_udk.pattern_201 = ^DK 943\.0\D=>Geschichte Deutschlands +tuf_udk.pattern_202 = ^DK 943\.5$=>Geschichte Deutschlands +tuf_udk.pattern_203 = ^DK 943\.59=>Geschichte Europas +tuf_udk.pattern_204 = ^DK 943\.6=>Geschichte Europas +tuf_udk.pattern_205 = ^DK 943\.[1-4]=>Geschichte Deutschlands +tuf_udk.pattern_206 = ^DK 94[0-24-9]=>Geschichte Europas +tuf_udk.pattern_207 = ^DK 95=>Geschichte Asiens +tuf_udk.pattern_208 = ^DK 96=>Geschichte Afrikas +tuf_udk.pattern_209 = ^DK 97=>Geschichte Nordamerikas +tuf_udk.pattern_210 = ^DK 98=>Geschichte Südamerikas +tuf_udk.pattern_211 = ^DK 99=>Geschichte der ozeanischen und polarischen Gebiete +tuf_udk.pattern_212 = ^DK 9\D=>Geographie. Biographien. Geschichte +tuf_udk.pattern_213 = ^Q=>Wirtschaftswissenschaften diff --git a/solr/biblio/conf/german_stop.txt b/solr/biblio/conf/german_stop.txt new file mode 100644 index 0000000000000000000000000000000000000000..f770384188703d5c5253311786901b258f54e4bb --- /dev/null +++ b/solr/biblio/conf/german_stop.txt @@ -0,0 +1,292 @@ + | From svn.tartarus.org/snowball/trunk/website/algorithms/german/stop.txt + | This file is distributed under the BSD License. + | See http://snowball.tartarus.org/license.php + | Also see http://www.opensource.org/licenses/bsd-license.html + | - Encoding was converted to UTF-8. + | - This notice was added. + + | A German stop word list. Comments begin with vertical bar. Each stop + | word is at the start of a line. + + | The number of forms in this list is reduced significantly by passing it + | through the German stemmer. + + +aber | but + +alle | all +allem +allen +aller +alles + +als | than, as +also | so +am | an + dem +an | at + +ander | other +andere +anderem +anderen +anderer +anderes +anderm +andern +anderr +anders + +auch | also +auf | on +aus | out of +bei | by +bin | am +bis | until +bist | art +da | there +damit | with it +dann | then + +der | the +den +des +dem +die +das + +daß | that + +derselbe | the same +derselben +denselben +desselben +demselben +dieselbe +dieselben +dasselbe + +dazu | to that + +dein | thy +deine +deinem +deinen +deiner +deines + +denn | because + +derer | of those +dessen | of him + +dich | thee +dir | to thee +du | thou + +dies | this +diese +diesem +diesen +dieser +dieses + + +doch | (several meanings) +dort | (over) there + + +durch | through + +ein | a +eine +einem +einen +einer +eines + +einig | some +einige +einigem +einigen +einiger +einiges + +einmal | once + +er | he +ihn | him +ihm | to him + +es | it +etwas | something + +euer | your +eure +eurem +euren +eurer +eures + +für | for +gegen | towards +gewesen | p.p. of sein +hab | have +habe | have +haben | have +hat | has +hatte | had +hatten | had +hier | here +hin | there +hinter | behind + +ich | I +mich | me +mir | to me + + +ihr | you, to her +ihre +ihrem +ihren +ihrer +ihres +euch | to you + +im | in + dem +in | in +indem | while +ins | in + das +ist | is + +jede | each, every +jedem +jeden +jeder +jedes + +jene | that +jenem +jenen +jener +jenes + +jetzt | now +kann | can + +kein | no +keine +keinem +keinen +keiner +keines + +können | can +könnte | could +machen | do +man | one + +manche | some, many a +manchem +manchen +mancher +manches + +mein | my +meine +meinem +meinen +meiner +meines + +mit | with +muss | must +musste | had to +nach | to(wards) +nicht | not +nichts | nothing +noch | still, yet +nun | now +nur | only +ob | whether +oder | or +ohne | without +sehr | very + +sein | his +seine +seinem +seinen +seiner +seines + +selbst | self +sich | herself + +sie | they, she +ihnen | to them + +sind | are +so | so + +solche | such +solchem +solchen +solcher +solches + +soll | shall +sollte | should +sondern | but +sonst | else +über | over +um | about, around +und | and + +uns | us +unse +unsem +unsen +unser +unses + +unter | under +viel | much +vom | von + dem +von | from +vor | before +während | while +war | was +waren | were +warst | wast +was | what +weg | away, off +weil | because +weiter | further + +welche | which +welchem +welchen +welcher +welches + +wenn | when +werde | will +werden | will +wie | how +wieder | again +will | want +wir | we +wird | will +wirst | willst +wo | where +wollen | want +wollte | wanted +würde | would +würden | would +zu | to +zum | zu + dem +zur | zu + der +zwar | indeed +zwischen | between + diff --git a/solr/biblio/conf/schema.xml b/solr/biblio/conf/schema.xml index 6ccce34540319c9d2959b4c274fe8526deda6b0f..c8920d01826e5c42c2cda32b2372f03da87008f6 100644 --- a/solr/biblio/conf/schema.xml +++ b/solr/biblio/conf/schema.xml @@ -1,8 +1,8 @@ -<?xml version="1.0"?> +<?xml version="1.0" ?> <schema name="VuFind Bibliographic Index" version="1.2"> <types> <!-- Define fieldType long as it is needed by the _version_ field required by Solr 4.x --> - <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> + <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> <fieldType name="textFacet" class="solr.TextField" sortMissingLast="true" omitNorms="true"> <analyzer> @@ -11,14 +11,6 @@ <filter class="solr.PatternReplaceFilterFactory" pattern="(?<!\b[A-Z])[.\s]*$" replacement="" replace="first"/> </analyzer> </fieldType> - <!-- BOF vufind2 addition --> - <fieldType name="textFacetRaw" class="solr.TextField" sortMissingLast="true" omitNorms="true"> - <analyzer> - <tokenizer class="solr.KeywordTokenizerFactory"/> - <!-- this is just like textFacet but without punctuation stripping. --> - </analyzer> - </fieldType> - <!-- EOF vufind2 addition --> <fieldType name="text" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> @@ -37,8 +29,8 @@ <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/> - <!-- Zusatz --> - <filter class="solr.SynonymFilterFactory" synonyms="zusatz.txt" ignoreCase="true" expand="true"/> + <!-- Zusatz --> + <!--<filter class="solr.SynonymFilterFactory" synonyms="zusatz.txt" ignoreCase="true" expand="true"/>--> <filter class="solr.StopFilterFactory" ignoreCase="true" words="german_stop.txt" enablePositionIncrements="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> <filter class="solr.LowerCaseFilterFactory"/> @@ -49,6 +41,7 @@ <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> </analyzer> </fieldType> + <!-- Text Field without Stemming and Synonyms --> <fieldType name="textProper" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> @@ -102,7 +95,7 @@ <tokenizer class="solr.PatternTokenizerFactory" pattern="^(\S*)\s*.*$" group="1"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.PatternReplaceFilterFactory" pattern="[^0-9x]" replacement="" replace="all"/> - <filter class="solr.LengthFilterFactory" min="1" max="100"/> + <filter class="solr.LengthFilterFactory" min="1" max="100" /> </analyzer> </fieldType> <!-- Text Field for rather normalized information like call number (Signatur), @@ -118,6 +111,7 @@ <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> + <fieldType name="codetokenized" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> @@ -128,221 +122,237 @@ <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> + <fieldType name="num" class="solr.TrieLongField" sortMissingLast="true" omitNorms="true"/> <fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/> </types> - <fields> - <!-- Required by Solr 4.x --> - <field name="_version_" type="long" indexed="true" stored="true"/> - <!-- Core Fields --> - <!-- Used for loading correct record driver --> - <field name="recordtype" type="string" indexed="false" stored="true"/> - <field name="id" type="string" indexed="true" stored="true"/> - <field name="mrc0007" type="string" indexed="true" stored="true"/> - <field name="mrc0070" type="string" indexed="true" stored="true"/> - <field name="fullrecord" type="string" indexed="false" stored="true"/> - <field name="itemdata" type="string" indexed="false" stored="true"/> - <field name="marc_error" type="string" indexed="false" stored="true" multiValued="true"/> - <field name="allfields" type="text" indexed="true" stored="false"/> - <field name="allfields_unstemmed" type="textProper" indexed="true" stored="false"/> - <field name="fulltext" type="text" indexed="true" stored="false" multiValued="false"/> - <field name="spelling" type="textSpell" indexed="true" stored="true"/> - <field name="spellingShingle" type="textSpellShingle" indexed="true" stored="true" multiValued="true"/> - <!-- finc-spezifisch, bibliotheksübergreifend --> - <field name="mega_collection" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="mega_toplevel" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="record_id" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/> - <field name="source_id" default="error" type="string" indexed="true" stored="true" multiValued="false"/> - <!-- <field name="source_name" default="error" type="string" indexed="true" stored="true" multiValued="false"/> --> - <field name="authorized_mode" default="true" type="string" indexed="true" stored="true" multiValued="false"/> - <field name="institution" default="finc" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="signatur" type="code" indexed="true" stored="true" multiValued="true"/> - <field name="barcode" type="code" indexed="true" stored="true" multiValued="true"/> - <field name="rsn" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="access_facet" type="string" indexed="true" stored="true" multiValued="false"/> - <field name="author_id" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="topic_id" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="author_ref" type="textProper" indexed="true" stored="false" multiValued="true"/> - <field name="author_corp_ref" type="textProper" indexed="true" stored="false" multiValued="true"/> - <field name="topic_ref" type="text" indexed="true" stored="false" multiValued="true"/> - <field name="multipart_set" type="string" indexed="true" stored="true" multiValued="false"/> - <field name="multipart_link" type="string" indexed="true" stored="true" multiValued="true" termVectors="true"/> - <field name="multipart_part" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="purchase" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="timecode" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <fields> + <!-- Core Fields --> + <!-- Required by Solr 4.x --> + <field name="_version_" type="long" indexed="true" stored="true"/> + <!-- Used for loading correct record driver --> + <field name="recordtype" type="string" indexed="false" stored="true"/> + <field name="id" type="string" indexed="true" stored="true"/> + <field name="mrc0007" type="string" indexed="true" stored="true"/> + <field name="mrc0070" type="string" indexed="true" stored="true"/> + <!--<field name="fullrecord" type="string" indexed="false" stored="true"/>--> + <field name="itemdata" type="string" indexed="false" stored="true"/> + <field name="marc_error" type="string" indexed="false" stored="true" multiValued="true"/> + <field name="allfields" type="text" indexed="true" stored="false"/> + <field name="allfields_unstemmed" type="textProper" indexed="true" stored="false"/> + <field name="fulltext" type="text" indexed="true" stored="false" multiValued="false"/> + <field name="spelling" type="textSpell" indexed="true" stored="true"/> + <field name="spellingShingle" type="textSpellShingle" indexed="true" stored="true" multiValued="true"/> + <!-- finc-spezifisch, bibliotheksübergreifend --> + <field name="mega_collection" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="mega_toplevel" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="record_id" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/> + <field name="source_id" default="error" type="string" indexed="true" stored="true" multiValued="false"/> + <!-- <field name="source_name" default="error" type="string" indexed="true" stored="true" multiValued="false"/> --> + <field name="authorized_mode" default="true" type="string" indexed="true" stored="true" multiValued="false"/> + <field name="institution" default="finc" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="signatur" type="code" indexed="true" stored="true" multiValued="true"/> + <field name="barcode" type="code" indexed="true" stored="true" multiValued="true"/> + <field name="rsn" type="string" indexed="true" stored="true" multiValued="true" /> + <field name="access_facet" type="string" indexed="true" stored="true" multiValued="false"/> + <field name="author_id" type="string" indexed="true" stored="true" multiValued="true" /> + <field name="topic_id" type="string" indexed="true" stored="true" multiValued="true" /> + <field name="author_ref" type="textProper" indexed="true" stored="false" multiValued="true" /> + <field name="author_corp_ref" type="textProper" indexed="true" stored="false" multiValued="true" /> + <field name="topic_ref" type="text" indexed="true" stored="false" multiValued="true" /> + <field name="multipart_set" type="string" indexed="true" stored="true" multiValued="false"/> + <field name="multipart_link" type="string" indexed="true" stored="true" multiValued="true" termVectors="true"/> + <field name="multipart_part" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="purchase" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="timecode" type="textFacet" indexed="true" stored="true" multiValued="true"/> <!-- finc-spezifisch UND bibliotheksspezifisch --> - <field name="misc_dech1" type="codetokenized" indexed="true" stored="false" multiValued="true"/> - <!--field name="misc_de15" type="code" indexed="true" stored="false" multiValued="true"/--> - <field name="misc_del152" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <!--field name="misc_de105" type="string" indexed="true" stored="true" multiValued="true"/--> - <!--field name="misc_de520" type="code" indexed="true" stored="false" multiValued="true"/--> - <!--field name="misc_del189" type="code" indexed="true" stored="false" multiValued="true"/--> - <!--field name="misc_dezwi2" type="code" indexed="true" stored="false" multiValued="true"/--> - <!--field name="misc_dezi4" type="code" indexed="true" stored="false" multiValued="true"/--> - <!--field name="misc_ded117" type="code" indexed="true" stored="false" multiValued="true"/--> - <!--field name="misc_de540" type="code" indexed="true" stored="false" multiValued="true"/--> - <!--field name="misc_del242" type="code" indexed="true" stored="false" multiValued="true"/--> - <field name="branch_de15" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="branch_dech1" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="branch_de105" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="branch_de520" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <!--field name="branch_del189" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <field name="branch_dezwi2" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="branch_dezi4" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <!--field name="branch_ded117" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <!--field name="branch_de540" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <!--field name="branch_del242" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <field name="collcode_de15" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="collcode_dech1" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="collcode_de105" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="collcode_de520" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <!--field name="collcode_del189" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <field name="collcode_dezwi2" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="collcode_dezi4" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <!--field name="collcode_ded117" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <!--field name="collcode_de540" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <!--field name="collcode_del242" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <field name="format_de15" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_del152" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_dech1" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_de105" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_de520" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_del189" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_dezwi2" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_dezi4" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_de540" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="format_ded117" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <!--field name="format_ded117" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <!--field name="format_de540" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <!--field name="format_del242" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <!-- Local Subject Headings for searching and faceting --> - <field name="local_heading_facet_del152" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="local_heading_dezwi2" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="local_heading_facet_dezwi2" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="local_heading_del242" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="local_class_del242" type="code" indexed="true" stored="true" multiValued="true"/> - <field name="udk_raw_de105" default="not assigned" type="code" indexed="true" stored="true" multiValued="true"/> - <field name="udk_facet_de105" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="udk_raw_del189" default="not assigned" type="code" indexed="true" stored="true" multiValued="true"/> - <!--field name="udk_facet_del189" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/--> - <field name="finc_class_facet" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="misc_dech1" type="codetokenized" indexed="true" stored="false" multiValued="true"/> + <!--field name="misc_de15" type="code" indexed="true" stored="false" multiValued="true"/--> + <field name="misc_del152" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <!--field name="misc_de105" type="string" indexed="true" stored="true" multiValued="true"/--> + <!--field name="misc_de520" type="code" indexed="true" stored="false" multiValued="true"/--> + <!--field name="misc_del189" type="code" indexed="true" stored="false" multiValued="true"/--> + <!--field name="misc_dezwi2" type="code" indexed="true" stored="false" multiValued="true"/--> + <!--field name="misc_dezi4" type="code" indexed="true" stored="false" multiValued="true"/--> + <!--field name="misc_ded117" type="code" indexed="true" stored="false" multiValued="true"/--> + <!--field name="misc_de540" type="code" indexed="true" stored="false" multiValued="true"/--> + <!--field name="misc_del242" type="code" indexed="true" stored="false" multiValued="true"/--> + <field name="branch_de15" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="branch_dech1" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="branch_de105" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="branch_de520" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <!--field name="branch_del189" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <field name="branch_dezwi2" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="branch_dezi4" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <!--field name="branch_ded117" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <!--field name="branch_de540" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <!--field name="branch_del242" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <field name="collcode_de15" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="collcode_dech1" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="collcode_de105" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="collcode_de520" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <!--field name="collcode_del189" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <field name="collcode_dezwi2" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="collcode_dezi4" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <!--field name="collcode_ded117" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <!--field name="collcode_de540" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <!--field name="collcode_del242" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <field name="format_de15" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_del152" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_dech1" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_de105" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_de520" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_del189" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_dezwi2" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_dezi4" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_de540" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="format_ded117" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <!--field name="format_ded117" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <!--field name="format_de540" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <!--field name="format_del242" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <!-- Local Subject Headings for searching and faceting --> + <field name="local_heading_facet_del152" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="local_heading_dezwi2" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="local_heading_facet_dezwi2" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="local_heading_del242" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="local_class_del242" type="code" indexed="true" stored="true" multiValued="true"/> + <field name="udk_raw_de105" default="not assigned" type="code" indexed="true" stored="true" multiValued="true"/> + <field name="udk_facet_de105" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="udk_raw_del189" default="not assigned" type="code" indexed="true" stored="true" multiValued="true"/> + <!--field name="udk_facet_del189" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/--> + <field name="finc_class_facet" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> <!-- allgemeingueltig, Generic Fields --> - <field name="zdb" type="string" indexed="true" stored="true" multiValued="false"/> - <field name="format" default="not assigned" type="string" indexed="true" stored="true" multiValued="true" termVectors="true"/> - <field name="language" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="author" type="textProper" indexed="true" stored="true" termVectors="true"/> - <field name="author_orig" type="textProper" indexed="true" stored="true" multiValued="false"/> - <field name="authorStr" type="textFacet" indexed="true" stored="false"/> - <field name="author2" type="textProper" indexed="true" stored="true" multiValued="true"/> - <field name="author2_orig" type="textProper" indexed="true" stored="true" multiValued="true"/> - <!--field name="author2Str" type="textFacet" indexed="true" stored="false" multiValued="true"/--> - <field name="author_corp" type="textProper" indexed="true" stored="true" termVectors="true"/> - <field name="author_corp_orig" type="textProper" indexed="true" stored="true" multiValued="false"/> - <!-- field name="author_corpStr" type="textFacet" indexed="true" stored="false"/--> - <field name="author_corp2" type="textProper" indexed="true" stored="true" multiValued="true"/> - <field name="author_corp2_orig" type="textProper" indexed="true" stored="true" multiValued="true"/> - <!-- field name="author_corp2Str" type="textFacet" indexed="true" stored="false" multiValued="true"/ --> - <field name="author2-role" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="author_letter" type="string" indexed="true" stored="true"/> - <field name="author_additional" type="textProper" indexed="true" stored="true" multiValued="true"/> - <!--field name="author_additionalStr" type="string" indexed="true" stored="true" multiValued="true"/ --> - <field name="author_facet" type="textFacet" indexed="true" stored="false" multiValued="true"/> - <field name="author_browse" type="string" indexed="true" stored="false" multiValued="true"/> - <field name="title" type="text" indexed="true" termVectors="true" stored="true"/> - <field name="title_part" type="text" indexed="true" stored="true"/> - <field name="title_sub" type="text" indexed="true" stored="true"/> - <field name="title_short" type="text" indexed="true" stored="true"/> - <field name="title_full" type="text" indexed="true" stored="true"/> - <field name="title_full_unstemmed" type="textProper" indexed="true" stored="true"/> - <field name="title_fullStr" type="string" indexed="true" stored="true"/> - <field name="title_alt" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="title_uniform" type="text" indexed="true" stored="true" multiValued="false"/> - <field name="title_old" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="title_new" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="title_sort" type="string" indexed="true" stored="true"/> - <field name="title_orig" type="textProper" indexed="true" stored="true" multiValued="false"/> - <field name="series" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="series2" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="series_orig" type="textProper" indexed="true" stored="true" multiValued="true"/> - <field name="edition" type="string" indexed="true" stored="true"/> - <field name="publisher" type="textProper" indexed="true" stored="true" multiValued="true"/> - <field name="publishDate" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="publishDateSort" type="string" indexed="true" stored="true"/> - <field name="imprint" type="string" indexed="false" stored="true" multiValued="false"/> - <field name="dateSpan" type="string" indexed="false" stored="true" multiValued="true"/> - <field name="publishPlace" type="textProper" indexed="true" stored="true" multiValued="true"/> - <field name="physical" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="footnote" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="dissertation_note" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="performer_note" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="illustrated" type="string" indexed="true" stored="true" multiValued="false"/> - <field name="contents" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="url" type="string" indexed="false" stored="true" multiValued="true"/> - <field name="urn" type="string" indexed="true" stored="false" multiValued="true"/> - <field name="isbn" type="isn" indexed="true" stored="true" multiValued="true"/> - <field name="issn" type="isn" indexed="true" stored="true" multiValued="true"/> - <field name="isbn_canc" type="isn" indexed="true" stored="true" multiValued="true"/> - <field name="ismn" type="isn" indexed="true" stored="true" multiValued="true"/> - <field name="issn_canc" type="isn" indexed="true" stored="true" multiValued="true"/> - <field name="oclc_num" type="num" indexed="true" stored="true" multiValued="true"/> - <field name="topic" type="text" indexed="true" stored="true" termVectors="true" multiValued="true"/> - <field name="topic_unstemmed" type="textProper" indexed="true" stored="false" multiValued="true"/> - <field name="topic_facet" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="geogr_code" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="geogr_code_person" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="music_heading" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="music_heading_browse" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="film_heading" type="textFacet" indexed="true" stored="true" multiValued="true"/> - <field name="dewey-hundreds" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="dewey-tens" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="dewey-ones" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="dewey-full" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> - <field name="dewey-sort" default="not assigned" type="string" indexed="true" stored="true"/> - <field name="dewey-raw" type="string" indexed="true" stored="true"/> - <field name="rvk_facet" default="not assigned" type="code" indexed="true" stored="true" termVectors="true" multiValued="true"/> - <field name="rvk_label" type="text" indexed="true" stored="true" multiValued="true"/> - <field name="rvk_path" type="code" indexed="true" stored="true" multiValued="true"/> - <field name="attached_de15" type="date" indexed="true" stored="true" multiValued="false"/> - <!-- Tracking fields to keep track of oldest and most recent index times --> - <!-- field name="first_indexed" type="date" indexed="true" stored="true"/ --> - <!-- field name="last_indexed" type="date" indexed="true" stored="true"/ --> - </fields> - <uniqueKey>id</uniqueKey> - <!-- CopyFields for Spelling --> - <!-- ** Basic, single word spelling --> - <copyField source="allfields" dest="spelling"/> - <!-- ** Complex, Shingle spelling --> - <copyField source="author" dest="spellingShingle"/> - <copyField source="author2" dest="spellingShingle"/> - <copyField source="author_corp" dest="spellingShingle"/> - <copyField source="author_corp2" dest="spellingShingle"/> - <copyField source="title" dest="spellingShingle"/> - <copyField source="contents" dest="spellingShingle"/> - <copyField source="series" dest="spellingShingle"/> - <copyField source="series2" dest="spellingShingle"/> - <copyField source="topic" dest="spellingShingle"/> - <!-- CopyFields for Faceting on Text --> - <copyField source="title_full" dest="title_fullStr"/> - <copyField source="title_full" dest="title_full_unstemmed"/> - <copyField source="author" dest="authorStr"/> - <!--copyField source="author2" dest="author2Str"/> + <field name="zdb" type="string" indexed="true" stored="true" multiValued="false"/> + <field name="format" default="not assigned" type="string" indexed="true" stored="true" multiValued="true" termVectors="true"/> + <field name="language" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="author" type="textProper" indexed="true" stored="true" termVectors="true"/> + <field name="author_orig" type="textProper" indexed="true" stored="true" multiValued="false"/> + <field name="authorStr" type="textFacet" indexed="true" stored="false"/> + <field name="author2" type="textProper" indexed="true" stored="true" multiValued="true"/> + <field name="author2_orig" type="textProper" indexed="true" stored="true" multiValued="true"/> + <!--field name="author2Str" type="textFacet" indexed="true" stored="false" multiValued="true"/--> + <field name="author_corp" type="textProper" indexed="true" stored="true" termVectors="true"/> + <field name="author_corp_orig" type="textProper" indexed="true" stored="true" multiValued="false"/> + <!-- field name="author_corpStr" type="textFacet" indexed="true" stored="false"/--> + <field name="author_corp2" type="textProper" indexed="true" stored="true" multiValued="true"/> + <field name="author_corp2_orig" type="textProper" indexed="true" stored="true" multiValued="true"/> + <!-- field name="author_corp2Str" type="textFacet" indexed="true" stored="false" multiValued="true"/ --> + <field name="author2-role" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="author_letter" type="string" indexed="true" stored="true"/> + <!-- field name="author_additional" type="textProper" indexed="true" stored="true" multiValued="true"/ --> + <!--field name="author_additionalStr" type="string" indexed="true" stored="true" multiValued="true"/ --> + <field name="author_facet" type="textFacet" indexed="true" stored="false" multiValued="true"/> + <field name="author_browse" type="string" indexed="true" stored="false" multiValued="true"/> + <field name="title" type="text" indexed="true" termVectors="true" stored="true"/> + <field name="title_part" type="text" indexed="true" stored="true"/> + <field name="title_sub" type="text" indexed="true" stored="true"/> + <field name="title_short" type="text" indexed="true" stored="true"/> + <field name="title_full" type="text" indexed="true" stored="true"/> + <field name="title_full_unstemmed" type="textProper" indexed="true" stored="true"/> + <field name="title_fullStr" type="string" indexed="true" stored="true"/> + <field name="title_alt" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="title_uniform" type="text" indexed="true" stored="true" multiValued="false"/> + <field name="title_old" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="title_new" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="title_sort" type="string" indexed="true" stored="true"/> + <field name="title_orig" type="textProper" indexed="true" stored="true" multiValued="false"/> + <field name="series" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="series2" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="series_orig" type="textProper" indexed="true" stored="true" multiValued="true"/> + <field name="edition" type="string" indexed="true" stored="true"/> + <field name="publisher" type="textProper" indexed="true" stored="true" multiValued="true"/> + <field name="publishDate" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="publishDateSort" type="string" indexed="true" stored="true"/> + <field name="imprint" type="string" indexed="false" stored="true" multiValued="false"/> + <field name="dateSpan" type="string" indexed="false" stored="true" multiValued="true"/> + <field name="publishPlace" type="textProper" indexed="true" stored="true" multiValued="true"/> + <field name="physical" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="footnote" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="dissertation_note" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="performer_note" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="illustrated" type="string" indexed="true" stored="true" multiValued="false"/> + <field name="contents" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="url" type="string" indexed="false" stored="true" multiValued="true"/> + <field name="urn" type="string" indexed="true" stored="false" multiValued="true"/> + <field name="isbn" type="isn" indexed="true" stored="true" multiValued="true"/> + <field name="issn" type="isn" indexed="true" stored="true" multiValued="true"/> + <field name="isbn_canc" type="isn" indexed="true" stored="true" multiValued="true"/> + <field name="ismn" type="isn" indexed="true" stored="true" multiValued="true"/> + <field name="issn_canc" type="isn" indexed="true" stored="true" multiValued="true"/> + <field name="oclc_num" type="num" indexed="true" stored="true" multiValued="true"/> + <field name="topic" type="text" indexed="true" stored="true" termVectors="true" multiValued="true"/> + <field name="topic_unstemmed" type="textProper" indexed="true" stored="false" multiValued="true"/> + <field name="topic_facet" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="geogr_code" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="geogr_code_person" default="not assigned" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="music_heading" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="music_heading_browse" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="film_heading" type="textFacet" indexed="true" stored="true" multiValued="true"/> + <field name="dewey-hundreds" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="dewey-tens" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="dewey-ones" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="dewey-full" default="not assigned" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="dewey-sort" default="not assigned" type="string" indexed="true" stored="true" /> + <field name="dewey-raw" type="string" indexed="true" stored="true"/> + <field name="rvk_facet" default="not assigned" type="code" indexed="true" stored="true" termVectors="true" multiValued="true"/> + <field name="rvk_label" type="text" indexed="true" stored="true" multiValued="true"/> + <field name="rvk_path" type="code" indexed="true" stored="true" multiValued="true"/> + <field name="attached_de15" type="date" indexed="true" stored="true" multiValued="false"/> + <!-- Tracking fields to keep track of oldest and most recent index times --> + <!-- field name="first_indexed" type="date" indexed="true" stored="true"/ --> + <!-- field name="last_indexed" type="date" indexed="true" stored="true"/ --> + <!-- blubb--> + <field name="fulltext_unstemmed" type="textProper" indexed="true" stored="false"/> + <!-- Hierarchy Fields --> + <field name="hierarchytype" type="string" indexed="true" stored="true" multiValued="false"/> + <field name="hierarchy_top_id" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="hierarchy_top_title" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="hierarchy_parent_id" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="hierarchy_parent_title" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="hierarchy_sequence" type="string" indexed="true" stored="true" multiValued="true"/> + <field name="is_hierarchy_id" type="string" indexed="true" stored="true" multiValued="false"/> + <field name="is_hierarchy_title" type="string" indexed="true" stored="true" multiValued="false"/> + <!-- <field name="title_in_hierarchy" type="string" indexed="true" stored="true" multiValued="true" /> --> + <!-- <field name="hierarchy_browse" type="textFacetRaw" indexed="true" stored="false" multiValued="true"/> --> + +</fields> + <uniqueKey>id</uniqueKey> + <!-- CopyFields for Spelling --> + <!-- ** Basic, single word spelling --> + <copyField source="allfields" dest="spelling"/> + <!-- ** Complex, Shingle spelling --> + <copyField source="author" dest="spellingShingle"/> + <copyField source="author2" dest="spellingShingle"/> + <copyField source="author_corp" dest="spellingShingle"/> + <copyField source="author_corp2" dest="spellingShingle"/> + <copyField source="title" dest="spellingShingle"/> + <copyField source="contents" dest="spellingShingle"/> + <copyField source="series" dest="spellingShingle"/> + <copyField source="series2" dest="spellingShingle"/> + <copyField source="topic" dest="spellingShingle"/> + <!-- CopyFields for Faceting on Text --> + <copyField source="title_full" dest="title_fullStr"/> + <copyField source="title_full" dest="title_full_unstemmed"/> + <copyField source="author" dest="authorStr"/> + <!--copyField source="author2" dest="author2Str"/> <copyField source="author_corp" dest="author_corpStr"/> <copyField source="author_corp2" dest="author_corp2Str"/--> - <!-- copyField source="author_additional" dest="author_additionalStr"/ --> - <!-- copyField source="publisher" dest="publisherStr"/ --> - <!-- copyField source="publishPlace" dest="publishPlaceStr"/ --> - <copyField source="topic" dest="topic_unstemmed"/> - <copyField source="allfields" dest="allfields_unstemmed"/> - <!-- CopyFields for Alphabetic Browse --> - <!--copyField source="topic" dest="topic_browse"/--> - <copyField source="music_heading" dest="music_heading_browse"/> - <copyField source="author" dest="author_browse"/> - <copyField source="author2" dest="author_browse"/> - <!-- Laut http://wiki.apache.org/solr/SchemaXml ist "defaultSearchField" considered for deprecation. + <!-- copyField source="author_additional" dest="author_additionalStr"/ --> + <!-- copyField source="publisher" dest="publisherStr"/ --> + <!-- copyField source="publishPlace" dest="publishPlaceStr"/ --> + <copyField source="topic" dest="topic_unstemmed"/> + <copyField source="allfields" dest="allfields_unstemmed"/> + <!-- CopyFields for Alphabetic Browse --> + <!--copyField source="topic" dest="topic_browse"/--> + <copyField source="music_heading" dest="music_heading_browse" /> + <copyField source="author" dest="author_browse"/> + <copyField source="author2" dest="author_browse"/> + <!-- Laut http://wiki.apache.org/solr/SchemaXml ist "defaultSearchField" considered for deprecation. Stattdessen sollen der Request Handler oder die Query LocalParams die Default-Felder festlegen.--> - <defaultSearchField>allfields</defaultSearchField> - <!-- Default Boolean Operator --> - <!-- Laut http://wiki.apache.org/solr/SchemaXml ist "defaultOperator" considered for deprecation. + <defaultSearchField>allfields</defaultSearchField> + <!-- Default Boolean Operator --> + <!-- Laut http://wiki.apache.org/solr/SchemaXml ist "defaultOperator" considered for deprecation. Stattdessen sollen der Request Handler oder die Query LocalParams den Default-Operator festlegen.--> - <solrQueryParser defaultOperator="AND"/> + <solrQueryParser defaultOperator="AND"/> + </schema>