29-03-2022 Pattern per volumi e numeri
Cosa ho fatto
Ho pubblicato la documentazione su come produrre CSV contenti metadati e citazioni per OCMeta e CROCI.
Ecco quali funzionalità di Meta sono state testate con successo su oc_ficlit:
- Generazione dell’indice DOI-ORCID
- Generazione della lista di publishers su Crossref.
- Generazione della lista di DOI presenti su COCI.
- Tutti i 143 test di Meta sono stati superati.
Ho studiato il caso dei campi ‘issue’ e ‘volume’ invalidi. Segue un elenco di tutti i pattern validi e invalidi presenti nel dump di Crossref. Tutti i pattern sono case insensitive. È sottointeso che ogni pattern è preceduto da ^ e seguito da $.
Ecco i casi che ho ritenuto validi sia per numeri che per volumi. Per ogni pattern valido riporto il pattern e un esempio, separati da due punti.
Alcune variabili per rendere i pattern più leggibili:
separators =
-\s&\/_,\.:;\|
alphabets =
a-zà-öø-ÿ\u0430-я\u0391-ω
- basic latin, latin-1 supplement, cyrillic, greek
numero =
(?:№|no?(?!v)\.?|n[º°]\.?|n[uú]m(?:[eé]ro)?|number)
vi_pattern =
((?:[{alphabets}]*\d[{alphabets}\d]*|[ivxlcdm]+)(?:\s?(?:[{separators}]|and|\()\s?[{alphabets}\d]+\)?)*?)
: 4, S10, 10S, 5B, 8S2, 7AB, 123-124, 1 and 2, 1&2, 1/2, 1S-2, 1/2/3, 1_2, V, V-VI, I-6, 2(415) 2, 1(7), 7-8 (10), 7-8(10), 7-8 (10)
[{alphabets}{separators}\s]+{vi_pattern}
: ovvero, parole e separatori e infine un numero di volume o issue. Alcuni sottoinsiemi notevoli:\(?s(uppl([eéi]ment(ary|um)?))?\)?\s?(part)?\s?(s?{vi_pattern})?
: Supplement 1, Supplement s1, Supplementum 2, Supplimentary 2014, Supplément 1, Supplement Part 4historica\svol\.\s\d+,\d+(-\d+)?
: Historica vol. 24,1-2, Historica vol. 4,2 (nonostante il termine vol., finora ho visto questo pattern comparire correttamente come issue)
({vi_pattern}_)?({vi_pattern}\s)?[\(_]?supp?(plement|pl)?l?[\s\._]*({vi_pattern}|[{alphabets}])?\)?\.?
: sup1, 1_suppl, Sup 1, Suppl.1, Suppl. 1, 1 Suppl, suppl_1, Supl.A[{alphabets}\d]*,?\s?part[\s_1]\d(\sof\s{vi_pattern})?(,\sno?\.\s?{vi_pattern})?
: “Part 2”, ”5, Part 1”, ”6, Part 1 of 2”, ”4 Part 1”, “Part 1, No. 1”{vi_pattern}*[_\s]?pt?[_\s\.]{vi_pattern}
: Pt_3, Pt 3, 3 pt 3, 3_pt_3, 12 P.2(ed|pt|d)\sinside(d|r)
: ED Insidedp(ublish\s)?a(head\sof\s)?p(rint)?
: Publish Ahead of Print, PAP預刊文章
: 預刊文章 (significa prestampa in cinese)[\u0621-\u064A]+
: ovvero, qualunque combinazione di caratteri arabi. Ci vorrebbe Nooshin per una validazione più puntuale.(\[\d{4}\]\s)?(\d+\s)?vl?r(\s\([a-z]+\))?
: [1905] VLR (10.25291/vr/1905-vlr-104), 1 VLR (Eq){vi_pattern}\s\[\+CDROM\]
: 4 [+CDROM]([{alphabets}]+\.)?[{alphabets}]+\.?
: Esp. (10.11606/1807-5509202000034nesp051), n.esp[{alphabets}]+-\d+
: PGI-4, PGIE-2, IE-7[{alphabets}]+(_[{alphabets}]+)+
: Clin_Sect, Dermatol_Sect, Electro_Ther, Epidem_State_Me{numero}:?\s?{vi_pattern}(,?\s(\d{{4}}|\({vi_pattern}\)))?
: № 12 2012 (10.17513/ejnh.33863), No. 8A, nº 1, N°7, numero 3, Number: 6\d+\(\d+\)\d{4}
: 2(27)2017([{alphabets}]+\s\d{{4}}\s)?\(?(jan(uary)?|feb(ruary)?|mar(ch)?|apr(il)?|may|jun(e)?|jul(y)?|aug(ust)?|sep(tember)?|oct(ober)?|(nov|dec)(ember)?|spring|summer|autumn|winter)(\s\d{{4}})?\)?
: (July 2013) (10.1515/jdrg-2013-0005), Index 1973 Mar[‹<\()]?[{alphabets}]+?([{separators}\s]?[{alphabets}])*[\)›>]?
: Abstracts, ‹Digitale Bildung›, MOC-PS CME Coll[{alphabets}\d\-'/]+(,?\s[{alphabets}\d\-'/]+)+
: 6 Undesrtanding, s2 Fourth JSH S, s1 worldsleep07, 13 Chain-Type I, “2 Chemistry, Ph”, 13 Schuler’s Pr, 1 Factor VIII/v\({vi_pattern}\/{vi_pattern}\)\s[{alphabets}]+(-[{alphabets}]+)?
: (13/72) Education, (13/72) Language-Literature
Sono pattern validi solo per i volumi:
original\sseries,\svolume\s\d+
: Original Series, Volume 1(vol(ume)?|tome|cilt)\s?[{separators}]?\s?{vi_pattern}
: Vol 71, volume 3, “Vol, 7”, vol.7, vol .74, Tome 1 (volume in francese e bosniaco), Cilt: 1 (volume in turco)
Sono pattern validi solo per i numeri:
issue[\.,]?\s{vi_pattern}
: issue 2({vi_pattern}\s)?e?sp?e?(ecial)?[\s_\-\.](issue)?(_number_)?[\s_-]?({vi_pattern})?(["“][{alphabets}\s]+?["”])?
: Special Issue 2, 1 special issue, Special Issue “Urban Morphology”, Special_Issue_Number_2, Special-Issue-1, Special 13, Especial 2, esp.2,, spe.2, 1 S.2\(s\)
: (S)özel(\ssayı|\(special\))?(\s{vi_pattern})?
: Özel Sayı 5, ÖS1 (significa numero speciale in turco)({numero}[{separators}\s]?)?hors[{separators}\s]série[{separators}\s]{vi_pattern}
: N° Hors série 10, Hors-série 5 (significa numero speciale in francese)특별호
: 특별호 (significa numero speciale in coreano)sayı[{separators}\s]\s?{vi_pattern}
: Sayı: 24 (Sayı vuol dire numero in turco)issues?\s{vi_pattern},\s(supplement|part)\s{vi_pattern}
: Issue 11, Supplement 6issue\s{vi_pattern}\.?\spp\.\s[a-z\d]+[^a-z\d]+[a-z\d]+
: Issue 2. pp. 94-185- Le pagine non si riferiscono all’articolo, ma al numero stesso. Pertanto, non è un errore.
Sono invece pattern invalidi:
.*?(vol\.?(ume)?|tome)[{separators}]?\s?{vi_pattern}[{separators}\s]*({numero}|issues?)[{separators}\s]*(sp[eé]cial\s)?{vi_pattern}.*
: Vol 2 Núm 3, Volume 15-Issue 1, Lang.- Lit. Volume 10 numéro 2, Vol. 14 Issue 1, Vol. 39 N°1, Vol. 10, N° 2-3, Vol. 35 N° spécial 1, Vol. XXXIII N° 2, Volume 14 Issue 5, “Vol.10, No.3”, “Vol.10, №3”, Tome II - N°1- Il numero di volume viene inserito nel campo volume, quello di issue nel campo issue
{vi_pattern},\s?{numero}\s?{vi_pattern}
: ‘13,N°2’, ‘9, n° 4’, 13,N°4- Idem.
tập\s?{vi_pattern},?\s?số\s?{vi_pattern}
: Tập 55, Số 3 (Tập significa volume in vietnamita)- Idem
issues?\s{vi_pattern}\svol\.?(?:ume)?\s{vi_pattern}(?:.*?\d{{4}}.*?)?
: Issue 1 Volume 21, 2020- Idem, più l’anno.
{vi_pattern}\s?\({vi_pattern}'\d{{4}}\)
: 17 (1’2020), 19 (1’2021), 14 (2’2018)- Idem.
cilt[{separators}\s]\s?{vi_pattern}[{separators}\s]sayı[{separators}\s]\s?{vi_pattern}(?:[{separators}\s]\s?temmuz\s\d{4})?
: Cilt:13 Sayı:3 (in turco, cilt vuol dire volume e sayı vuol dire numero), Cilt 21 Sayı 3 Temmuz 2020 (Temmuz vuol dire anno in turco)- Idem.
&na;|n\/a
: &NA;, n/a- Il campo viene cancellato.
[\:\-\.
ё/]: -, ., [
](http://doi.org/10.18535/ijsrm/v8i10.el01), ё, /, :- Idem.
\${[{alphabets}]+(\.[{alphabets}]+)?}
: ${articleBase.volume}- Idem.
[&\/_,:;\|
‘#]\s*{vi_pattern}`: .38, /4, #0- Il carattere iniziale viene rimosso
[\->+]{vi_pattern}
: >6, -1- Boh. Rimuovere il segno che precede il numero non è garanzia di correggere l’informazione.
- issue >3: 10.1136/bjsm.37.3.197 (non c’è alcun numero)
- issue -1: 10.1188/13.cjon.a1-a7 (ma il numero è il 2)
- issue >6: 10.1136/jcp.56.6.412 (non c’è alcun numero)
- issue >90001: 10.1136/oem.60.suppl_1.i40 (non c’è alcun numero)
- issue >14: 10.1242/dev.00531 (il numero è veramente il 14)
- issue -1: 10.1243/14680874jer511 (il numero è veramente l’1)
- Issue +1: La rivista Annals of Oncology [issn:0923-7534] registra i supplementi come ‘+{numero_supplemento}’: 10.1023/a:1008303300675
- Non avviene alcuna correzione.
- Boh. Rimuovere il segno che precede il numero non è garanzia di correggere l’informazione.
{numero}?[{separators}]?\s?{vi_pattern}[&\/_,:;\|
‘([