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)

      1. [{alphabets}{separators}\s]+{vi_pattern}: ovvero, parole e separatori e infine un numero di volume o issue. Alcuni sottoinsiemi notevoli:
        1. \(?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 4
        2. historica\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)
      2. ({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
      3. [{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”
      4. {vi_pattern}*[_\s]?pt?[_\s\.]{vi_pattern}: Pt_3, Pt 3, 3 pt 3, 3_pt_3, 12 P.2
      5. (ed|pt|d)\sinside(d|r): ED Insided
      6. p(ublish\s)?a(head\sof\s)?p(rint)?: Publish Ahead of Print, PAP
      7. 預刊文章: 預刊文章 (significa prestampa in cinese)
      8. [\u0621-\u064A]+: ovvero, qualunque combinazione di caratteri arabi. Ci vorrebbe Nooshin per una validazione più puntuale.
      9. (\[\d{4}\]\s)?(\d+\s)?vl?r(\s\([a-z]+\))?: [1905] VLR (10.25291/vr/1905-vlr-104), 1 VLR (Eq)
      10. {vi_pattern}\s\[\+CDROM\]: 4 [+CDROM]
      11. ([{alphabets}]+\.)?[{alphabets}]+\.?: Esp. (10.11606/1807-5509202000034nesp051), n.esp
      12. [{alphabets}]+-\d+: PGI-4, PGIE-2, IE-7
      13. [{alphabets}]+(_[{alphabets}]+)+: Clin_Sect, Dermatol_Sect, Electro_Ther, Epidem_State_Me
      14. {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
      15. \d+\(\d+\)\d{4}: 2(27)2017
      16. ([{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
      17. [‹<\()]?[{alphabets}]+?([{separators}\s]?[{alphabets}])*[\)›>]?: Abstracts, ‹Digitale Bildung›, MOC-PS CME Coll
      18. [{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
      19. \({vi_pattern}\/{vi_pattern}\)\s[{alphabets}]+(-[{alphabets}]+)?: (13/72) Education, (13/72) Language-Literature
    • Sono pattern validi solo per i volumi:

      1. original\sseries,\svolume\s\d+: Original Series, Volume 1
      2. (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:

      1. issue[\.,]?\s{vi_pattern}: issue 2
      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
      3. \(s\): (S)
      4. özel(\ssayı|\(special\))?(\s{vi_pattern})?: Özel Sayı 5, ÖS1 (significa numero speciale in turco)
      5. ({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)
      6. 특별호: 특별호 (significa numero speciale in coreano)
      7. sayı[{separators}\s]\s?{vi_pattern}: Sayı: 24 (Sayı vuol dire numero in turco)
      8. issues?\s{vi_pattern},\s(supplement|part)\s{vi_pattern}: Issue 11, Supplement 6
      9. issue\s{vi_pattern}\.?\spp\.\s[a-z\d]+[^a-z\d]+[a-z\d]+: Issue 2. pp. 94-185
        1. Le pagine non si riferiscono all’articolo, ma al numero stesso. Pertanto, non è un errore.
    • Sono invece pattern invalidi:

      1. .*?(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
        1. Il numero di volume viene inserito nel campo volume, quello di issue nel campo issue
      2. {vi_pattern},\s?{numero}\s?{vi_pattern}: ‘13,N°2’, ‘9, n° 4’, 13,N°4
        1. Idem.
      3. tập\s?{vi_pattern},?\s?số\s?{vi_pattern}: Tập 55, Số 3 (Tập significa volume in vietnamita)
        • Idem
      4. issues?\s{vi_pattern}\svol\.?(?:ume)?\s{vi_pattern}(?:.*?\d{{4}}.*?)?: Issue 1 Volume 21, 2020
        1. Idem, più l’anno.
      5. {vi_pattern}\s?\({vi_pattern}'\d{{4}}\): 17 (1’2020), 19 (1’2021), 14 (2’2018)
        1. Idem.
      6. 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.
      7. &na;|n\/a: &NA;, n/a
        1. Il campo viene cancellato.
      8. [\:\-\.ё/]: -, ., [](http://doi.org/10.18535/ijsrm/v8i10.el01), ё, /, :
        1. Idem.
      9. \${[{alphabets}]+(\.[{alphabets}]+)?}: ${articleBase.volume}
        1. Idem.
      10. [&\/_,:;\|‘#]\s*{vi_pattern}`: .38, /4, #0
        1. Il carattere iniziale viene rimosso
      11. [\->+]{vi_pattern}: >6, -1
        1. Boh. Rimuovere il segno che precede il numero non è garanzia di correggere l’informazione.
          1. issue >3: 10.1136/bjsm.37.3.197 (non c’è alcun numero)
          2. issue -1: 10.1188/13.cjon.a1-a7 (ma il numero è il 2)
          3. issue >6: 10.1136/jcp.56.6.412 (non c’è alcun numero)
          4. issue >90001: 10.1136/oem.60.suppl_1.i40 (non c’è alcun numero)
          5. issue >14: 10.1242/dev.00531 (il numero è veramente il 14)
          6. issue -1: 10.1243/14680874jer511 (il numero è veramente l’1)
          7. Issue +1: La rivista Annals of Oncology [issn:0923-7534] registra i supplementi come ‘+{numero_supplemento}’: 10.1023/a:1008303300675
        2. Non avviene alcuna correzione.
      12. {numero}?[{separators}]?\s?{vi_pattern}[&\/_,:;\|‘([

29-03-2022 Pattern per volumi e numeri
https://arcangelo7.github.io/p/da4a5d36d0154fe6bcf2f312bbb3a818/
Author
Arcangelo Massari
Posted on
March 28, 2022
Licensed under