Regex: Isoler Universitetsnavne

Både SCOPUS og Web of Science registrerer alle forfatteradresser i de artikler, der indekseres til basen, men i nogen tilfælde - specielt for konferencer og i ganske få tidsskrifter, kan man ikke fastslå sammenhængen mellem navn og arbejdsadresse, så en adressesøgning alene finder ikke alle en forskers publikationer. Der er også stor forskel på detaljeringsgraden af adresseelementerne.

Rådata: SCOPUS

Isoler adressefeltet: Authors with affiliations sammen med postens EID-nummer. Hvis en forfatter har angivet flere adresser i artiklen, vil de i SCOPUS blot være adskilt med komma, mens forskellige forfatteres adresseelementer er adskilt af semikolon. Derfor skal man først splitte datafilen med EID + AU-AFF efter semikolon:
1. Erstat TAB med %TAB og semikolon med <Linieskift># - datafilen ser nu således ud:

EID1 %<TAB> Forfatter A, Adresse 1, Land1, Adresse 2, Land2
#Forfatter B, Adresse 3, Land3
#Forfatter C, Adresse 4, Land4, Adresse 5, Land5

2. Kør filen gennem programmet Bibliometry Toolbox > Add header to line:
EID1 <TAB> Forfatter A, Adresse 1, Land1, Adresse 2, Land2
EID1 <TAB> Forfatter B, Adresse 3, Land3
EID1 <TAB> Forfatter C, Adresse 4, Land4, Adresse 5, Land5

Hver adresse skal nu splittes efter land: kør filen gennem Perl-programmet: landenavne.pl og gentag proceduren ovenfor med den forskel, at EID og navn skal følge hvert adresseelement: Isoler først forfatternavn fra adresseelementerne:

^(.*?)\t([^,\n\r]*?), ([^,\n\r]*?),

og saml EID + isolerede forfatternavn i en samlet streng + øvrige adresseoplysninger
\1_\2, \3\t

Resulatet er nu en fuldstændig opsplitning af alle forfatternavne på alle de adresseelementer, de optræder sammen med i den enkelte artikels "affiliation" felt:
EID1_Forfatter A <TAB> Adresse 1, Land1
EID1_Forfatter A <TAB> Adresse 2, Land2
EID1_Forfatter B <TAB> Adresse 3, Land3
EID1_Forfatter C <TAB> Adresse 4, Land4
EID1_Forfatter C <TAB> Adresse 5, Land5

Hvis du allerede har EID, navn, adresse adskilt i tre felter, kan de samles til det "rigtige" format med:

(.*?)    (.*?)    (.*?)$

erstat med:
\1_\2\t\3

Hvis adressestrengen rummer flere adresser for samme forfatter, f.eks.:

xxxx <tab> yyyy <tab> Jones A, aaaa, Denmark; bbbb, Sweden; cccc, Germany
zzzz <tab> qqqq <tab> Brown B, ffff, Italy
xxxx <tab> yyyy <tab> Smith C, dddd, Denmark; eeee, Sweden; ffff, Germany

kan de skilles i navn + enkelt-adresseelementer med perl-programmet mult_aff.pl - kør det gentagne gange indtil alle elementer er adskilt:

xxxx <tab> yyyy <tab> Jones A, aaaa, Denmark
xxxx <tab> yyyy <tab> Jones A, bbbb, Sweden
xxxx <tab> yyyy <tab> Jones A, cccc, Germany
zzzz <tab> qqqq <tab> Brown B, ffff, Italy
xxxx <tab> yyyy <tab> Smith C, dddd, Denmark
xxxx <tab> yyyy <tab> Smith C, eeee, Sweden
xxxx <tab> yyyy <tab> Smith C, ffff, Germany

Rådata: Web of Science

Isoler adressefeltet C1* sammen med **UT. I WoS er alle forfattere tilknyttet samme adresse samlet i [ ] med semikolon mellem personnavne og efter landenavn (hvis der er flere adressestrenge i C1-feltet).
Derfor begynder man med at maskere semikolon mellem forfatternavne med Bibliometry Toolbox > Mask semikolons in []
1. Erstat TAB med ¤TAB og semikolon med <Linieskift># - datafilen ser nu således ud:

UT¤    [Forfatter1### Forfatter2] Adresse1, Land1
#[Forfatter3] Adresse3, Land3
#[Forfatter4### Forfatter5] Adresse4, Land4

2. Kør filen gennem programmet Bibliometry Toolbox > Add header to line:
UT <TAB> [Forfatter1### Forfatter2] Adresse1, Land1
UT <TAB> [Forfatter3] Adresse3, Land3
UT <TAB> [Forfatter4### Forfatter5] Adresse4, Land4

I få tilfælde er der kun en UT <TAB> ren adresse. Erstat <TAB> med <TAB><TAB> og derefter <TAB><TAB> [ med <TAB>. Erstat til slut ]+space med <TAB>.
Vi skal nu adskille forfatter og adresse-streng: UT + adressedelen sammenkobles med:
(.*?)    (.*?)    (.*?)$

erstat med:
\1_\3\t\2

Resultatfilen har nu formatet:
UT_Adresse1, Land1 <TAB> [Forfatter1### Forfatter2]
UT_Adresse3, Land3 <TAB> [Forfatter3]
UT_Adresse4, Land4 <TAB> [Forfatter4### Forfatter5]

Erstat nu ### med linieskift# og <TAB> med ¤<TAB> og kør igen filen gennem Bibliometry Toolbox > Add header to line:
UT_Adresse1, Land1 <TAB> Forfatter1
UT_Adresse1, Land1 <TAB> Forfatter2
UT_Adresse3, Land3 <TAB> Forfatter3
UT_Adresse4, Land4 <TAB> Forfatter4
UT_Adresse4, Land1 <TAB> Forfatter5

Til slut skilles UT_Adresse med en simpel find/erstat og den oprindelige rækkefølge af felter kan genskabes med
(.*?)_(.*?)    \t(.*?)$

erstat med:
\1\t\3\t\2

Isoler universitets- og institutnavne

Der er ingen konsekvens i den måde eller den rækkefølge SCOPUS og Web of Science angiver de to adresseelementer på, men man kan igen splitte den samlede adressestreng efter komma:

UT_Forfatter1 < TAB> adresseelement1, adresseelement2, adresseelement3, Land
UT_Forfatter1 < TAB> adresseelement1
UT_Forfatter1 < TAB> adresseelement2
UT_Forfatter1 < TAB> adresseelement3
UT_Forfatter1 < TAB> Land

og herefter gennem søgning på Univ, Hosp, Dept*, **Inst isolere de relevante adresseelementer.
Landenavnet alene kan isoleres som beskrevet her

Danske Universiteter

PERL-program - tilføjer Uni-akronym til samlede adressestreng

Udenlandske Universiteter

Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-ShareAlike 3.0 License