Bibliography Report

Author
Affiliation

Rainer M. Krug

Abstract

Reports analysing the IPBES Libraries on Zotero.

Introduction

This report assesses the SCM Bibliography in regards to different measures and shows some information of the content. It does not assess the content of the sources but rather the bibliometric data.

Bibliographic analysis

In most cases, the bibliographic analysis is done on the OpenAlex library. In some cases, we can also do it using the Zenodo data. This is mentioned in the beginning of each subsection

Publication types

Analysis: Zenodo and OpenAlex

OpenAlex and Zotero use different tyoes. These are not directly compable, which is whu=y both are shown.

Show the code
bib_data$figure_types_data |>
  dplyr::arrange(
    from,
    desc(count)
  ) |>
  knitr::kable(
    caption = "Types of documents from the Zotero bibliography as well as from OpenApex."
  )
Types of documents from the Zotero bibliography as well as from OpenApex.
type count from
article 630 OpenAlex
review 71 OpenAlex
book-chapter 4 OpenAlex
letter 2 OpenAlex
book 1 OpenAlex
erratum 1 OpenAlex
other 1 OpenAlex
preprint 1 OpenAlex
journalArticle 851 Zotero
book 129 Zotero
report 87 Zotero
bookSection 29 Zotero
conferencePaper 3 Zotero
thesis 1 Zotero
Show the code
bib_data$figure_types

Zenodo versus OpenAlex Types

Analysis: Zenodo and OpenAlex

The types entered in the Zenodo library and the types as retrieved from OpenAlex are not linked, therefore they can differ. This can indicate faulty data entering in Zenodo but not necessarily has to. These cases need to be carefully evaluated and here only given as a starting point.

NA in OpenAlex is likely caused by the doi not found in OpenAlex (not in there, not valid, non-standard DOI in Zenodo). NA in Zotero is linked to non-standard DOI entries (i.e. with http) which can therefore not be linked to OpenAlex data. If all DOIs are in standard format, there should be no NAs in this Table in the column Ferom Zenodo.

TODO: Improvements should be done after feedback.

Show the code
bib_data$metrics$types$comparison |>
  knitr::kable(
    col.names = c("Type from Zenodo", "Type from [OpenAlex](https://OpenAlex.org){target='_blank'}", "count"),
    caption = "Table giving the combination of types from Zenodo as well as [OpenAlex](https://OpenAlex.org){target='_blank'} and their frequency"
  )
Table giving the combination of types from Zenodo as well as OpenAlex and their frequency
Type from Zenodo Type from OpenAlex count
journalArticle article 579
journalArticle NA 195
book NA 129
report NA 87
journalArticle review 70
NA article 55
bookSection NA 29
journalArticle book-chapter 3
journalArticle letter 2
conferencePaper NA 2
journalArticle book 1
journalArticle other 1
conferencePaper article 1
thesis NA 1
journalArticle preprint 1
journalArticle erratum 1
NA book-chapter 1
NA review 1

Year of Publication

Analysis: Zenodo and OpenAlex

The following ranges of publication years can be found in the data.

Show the code
bib_data$figure_pub_year_data |>
  dplyr::summarize(
    min = min(publication_year, na.rm = TRUE),
    max = max(publication_year, na.rm = TRUE),
    .by = c(from)
  ) |>
  knitr::kable()
from min max
Zenodo 100 2020
OpenAlex 1921 2017
Show the code
bib_data$figure_pub_year
Warning: Removed 1 row containing missing values or values outside the scale range
(`geom_col()`).

Access Status of References

Analysis: OpenAlex

Show the code
bib_data$figure_oa_status

50 Most often cited Journals

Analysis: Zenodo

TODO: OpenAlex should be added

Show the code
bib_data$figure_top_journals

This table contains all Journals as specified in the Zotero database.

Show the code
bib_data$figure_top_journals_data |>
  IPBES.R::table_dt("cited_journals")

Coutries of Institutes of all authors

Analysis: OpenAlex

In this section we will take a closer look at the countries from which ih the authors ot the publication come. THe data includes all authoirs without weighting.

Show the code
#|
#| fig-height: 10
#| fig-width: 10

bib_data$figure_top_country_map

This plot only contains the countries with more than 10 references.

Show the code
#|
#| fig-height: 10
#| fig-width: 10

bib_data$figure_top_country

This table contains all countries and the number of authorship.

Show the code
bib_data$figure_top_country_data |>
  IPBES.R::table_dt("top_countries")

Cleanliness of the Bibliography

Cleanliness of a bibliography is defined here as the quality of the bibliografic data in the bibliography. It does not concern any topical measures, only measures related to the bibliografic data in the bibliography.

The analysis is at the moment only done for DOIs as corresponding measures are not available at the moment for ISBNs and ISSNs and duplicate ISBNs and ISSNs can be rcorrect as different chapters of a book might be in the bibliography.

Entries with DOIs, ISBNs or ISSNs in Zotero

To identify a reference, the most widely used identifier is the DOI. The following table shows the number of references with a DOI and the number of unique DOIs.

To consider duplicate ISBNs or ISSNs as duplicates entries in the library is not waranted as e.g. differenc chapters of a book can be separate entries in the library and therefore lead to duplicates.

  • DOIs: 746 (67.82%) - 7 duplicates
  • ISBNss: 92 (8.36%)
  • ISBNss: 692 (62.91%)

DOIs in Zotero

The following sections provide some more detailed analysis of the bibliography in Zenodo. The tables all contain clickable links which, shwen clicked, show the respective article in the Zotero bibliograpohy.

Duplicates

The following DOIs are duplicates in the bibliography. This table should be empty.

Show the code
if (length(bib_data$metrics$zotero_dois$duplicate) > 0) {
  data.frame(
    doi = bib_data$metrics$zotero_dois$duplicate,
    link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$duplicate))
  ) |>
    dplyr::mutate(
      sort = doi,
      doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
    ) |>
    dplyr::arrange(
      sort
    ) |>
    dplyr::mutate(
      sort = NULL
    ) |>
    knitr::kable(
      caption = "DOIs in Zenodo which are duplicated",
      escape = FALSE
    )
}
DOIs in Zenodo which are duplicated
doi link
L4CTW7WX 10.1016/j.gloenvcha.2008.02.001 https://www.zotero.org/groups/2333079/items/L4CTW7WX
32BZP7IA 10.1016/j.gloenvcha.2008.02.001 https://www.zotero.org/groups/2333079/items/32BZP7IA
P6UWMCIE 10.1016/j.gloenvcha.2012.06.001 https://www.zotero.org/groups/2333079/items/P6UWMCIE
9HZDS73L 10.1016/j.gloenvcha.2012.06.001 https://www.zotero.org/groups/2333079/items/9HZDS73L
HGGDK9I9 10.1016/j.gloenvcha.2012.06.001 https://www.zotero.org/groups/2333079/items/HGGDK9I9
LH3IHT5X 10.1016/j.pocean.2010.09.001 https://www.zotero.org/groups/2333079/items/LH3IHT5X
KXWSGG2Z 10.1016/j.pocean.2010.09.001 https://www.zotero.org/groups/2333079/items/KXWSGG2Z

Non Standard

All DOIs should be given as only the DOI without the resolver, i.e. not starting with http. The following table shows all entries which do have a non-conform DOI:

Show the code
#|

http <- grep("http", bib_data$metrics$zotero_dois$id_raw)
data.frame(
  doi = bib_data$metrics$zotero_dois$id_raw[http],
  link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$id_raw)[http])
) |>
  dplyr::mutate(
    doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
    link = NULL
  ) |>
  knitr::kable(
    caption = "DOIs in Zenodo which include a `http`",
    escape = FALSE
  )
DOIs in Zenodo which include a http
doi
I4W9ESR2 http://dx.doi.org/10.1016/j.foreco.2012.09.043

Not Valid

Here we do acheck for the structural validity of the dois. This check needs to be improved. Of these 89 are not valid. These are:

Show the code
#|

if (length(bib_data$metrics$zotero_dois$not_valid) > 0) {
  data.frame(
    doi = bib_data$metrics$zotero_dois$not_valid,
    link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$not_valid))
  ) |>
    dplyr::mutate(
      doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
      link = NULL
    ) |>
    knitr::kable(
      caption = "DOIs in Zenodo which ar not valid",
      escape = FALSE
    )
} else {
  print("All DOIs in Zenodo are valid.")
}
DOIs in Zenodo which ar not valid
doi
6AY7B2FN (null)
YUX7EUJ5 papers3://publication/doi/10.1890/0012-9658(2006)87%255B1877:MBDICL%255D2.0.CO;2
UHGB8J5R 10.1890/1540-9295(2006)4[402:NOIESU]2.0.CO;2
CVZHCUK8 papers3://publication/uuid/CA7EB3A8-6653-4D9F-8D67-078B72D0E44C
4Q5PBA9W papers3://publication/uuid/E08D15D3-9400-46CC-9415-53917EFD2AAD
3ZGC5IE6 27
MFW234KC 10.1641/0006-3568(2002)052[0499:pfbcpc]2.0.co;2
U9MMHNER papers3://publication/doi/10.1890/07-1861.1
BW23DQ94 10.1890/1540-9295(2003)001[0322:WGSNE]2.0.CO;2
KJPI4G76 papers3://publication/uuid/446FBDE9-A213-455C-9E19-D9E5CE196252
PA7ECTXJ 10.1093/icesjms/fsr165 Is
XPDWLILY 10.1890/1540-9295(2007)5[261:LESAWR]2.0.CO;2
UX9WQA8Q ISBN 978-2-940443-37-6
CGSNCAFP papers3://publication/doi/10.1111/j.1472-4642.2010.00652.x/pdf
ZQWFKHBQ papers3://publication/uuid/6F951141-1DA7-4D8C-88D5-8CA47168678B
FAJQGT8L 10.1890/0012-9658(2003)084[1382:HBMFPT]2.0.CO;2
3LEIYTBU papers3://publication/uuid/BA89106B-3993-4E06-887B-58D768043F7D
L7ZMIQAT papers3://publication/uuid/B10C8691-A371-4683-9171-59942A44CECD
MGH4M69I papers3://publication/uuid/34CD9F5D-203B-4B83-AE9E-0199C4922D04
AKVF7QLS papers3://publication/uuid/D932EDF9-1449-4A9C-A684-16D7FD052C11
R9QQLENG 10.1577/1548-8446(2004)29[23:fsvpoa]2.0.co;2
FTN6ZI3Z papers3://publication/doi/10.1111/j.1365-2664.2010.01936.x
WHEGX6G3 10.1890/1051-0761(2000)010[0689:BICEGC]2.0.CO;2
H2TX693I papers3://publication/uuid/B38AB62C-1E75-4F78-B4AE-A517F0F7D438
XAQPPFNE papers3://publication/uuid/27A75C51-DD7A-46A7-8A7F-7663C2A7FFD3
ZSQCIX7F 10.1641/0006-3568(2001)051[0933:teotwa]2.0.co;2

Not in OpenAlex

To validate the existence and validity of the DOIs, we check if the DOIs are in the OpenAlex database.

Of the 746 unique DOIs in the library, 89 (11.93%) are in not in OpenAlex. This includes the non-valid DOIS, which are filtered out in the table below.

Show the code
data.frame(
  doi = bib_data$metrics$zotero_dois$not_in_oa,
  link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$not_in_oa))
) |>
  dplyr::mutate(
    doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
    link = NULL
  ) |>
  knitr::kable(
    caption = "DOIs in Zenodo which ar not in [OpenAlex](https://OpenAlex.org){target='_blank'}",
    escape = FALSE
  )
DOIs in Zenodo which ar not in OpenAlex
doi
FQNK7Z2G 10.5751/ES-01759-110208
GTDYLHQF 10.1016/0024-6301(91)90256-N
3N3QKYNX 10.1002/2014GB004934
VYXJEKN6 10.1016/S0305-750X(98)00159-4
6AY7B2FN (null)
8D7N5LWK 10.1023/A:1018479526149
YUX7EUJ5 papers3://publication/doi/10.1890/0012-9658(2006)87%255B1877:MBDICL%255D2.0.CO;2
8W588B5D 10.1016/S0921-8009(02)00098-8
7JBDT4YG 10.1002/2013JG002509
3KN87CFK 10.1111/2041-210X.12315
UHGB8J5R 10.1890/1540-9295(2006)4[402:NOIESU]2.0.CO;2
CVZHCUK8 papers3://publication/uuid/CA7EB3A8-6653-4D9F-8D67-078B72D0E44C
4Q5PBA9W papers3://publication/uuid/E08D15D3-9400-46CC-9415-53917EFD2AAD
I6TM8NVC 10.1111/j.1755-263X.2009.00086.x
G3CF55PK 10.5751/ES-07985-200432
3ZGC5IE6 27
MFW234KC 10.1641/0006-3568(2002)052[0499:pfbcpc]2.0.co;2
D65VGSS2 10.2307/27836590
7889MF2K 10.1016/J.EIAR.2006.03.001
FFD2TBVD 10.1016/S0304-3800(01)00323-4
MBVEKERV 10.1890/ES12-00415.1
HUXQXEF3 10.1111/j.1755-263X.2008.00009.x
PFQIGUSN 10.1897/IEAM_2007-063.1
H4PF6JL3 10.5751/ACE-00551-070205
U9MMHNER papers3://publication/doi/10.1890/07-1861.1
BW23DQ94 10.1890/1540-9295(2003)001[0322:WGSNE]2.0.CO;2
RMVV3PRZ 10.1016/B978-0-12-374748-8.00005-6
TL6VEF73 10.5751/ES-06168-190112
KJPI4G76 papers3://publication/uuid/446FBDE9-A213-455C-9E19-D9E5CE196252
PA7ECTXJ 10.1093/icesjms/fsr165 Is
3I6U9WB7 10.3097/LO.200915
XPDWLILY 10.1890/1540-9295(2007)5[261:LESAWR]2.0.CO;2
UX9WQA8Q ISBN 978-2-940443-37-6
8ITZ5B6A 10.5751/ES-06490-190252
RWTL5ITA 10.1016/S0921-8009(00)00217-2
A44YWH86 10.2307/20113245
CGSNCAFP papers3://publication/doi/10.1111/j.1472-4642.2010.00652.x/pdf
QY4VLWL8 10.1890/ES12-00178.1
IJW7NA27 10.1046/j.1466-822X.2001.00256.x
FFRX66CT 10.5751/ES-05610-180322
ZPU75935 10.1093/jn/133.11.3907S
UZV3GR8D 10.1016/S0140-6736(15)60901-1
ZQWFKHBQ papers3://publication/uuid/6F951141-1DA7-4D8C-88D5-8CA47168678B
W83TVR87 10.1007/BF00939330
FAJQGT8L 10.1890/0012-9658(2003)084[1382:HBMFPT]2.0.CO;2
HQ5CYXWL 10.5751/ES-07581-200237
ZMV3QZDB 10.1111/2041-210X.12232
3LEIYTBU papers3://publication/uuid/BA89106B-3993-4E06-887B-58D768043F7D
L7ZMIQAT papers3://publication/uuid/B10C8691-A371-4683-9171-59942A44CECD
MGH4M69I papers3://publication/uuid/34CD9F5D-203B-4B83-AE9E-0199C4922D04
R5SQIQ9W 10.5751/ES-04886-170327
I5Q85GLS 10.1016/S0378-1127(01)00453-4
UP9XNYNG 10.1111/Ij.1365-2664.2005.01046.x
AKVF7QLS papers3://publication/uuid/D932EDF9-1449-4A9C-A684-16D7FD052C11
EXAIPV59 10.1556/AkErt.56.2007.12.1
Q76S3XNR 10.1016/S0990-7440(01)01106-8
EUL53ESC 10.1023/A:1021302930424
R9QQLENG 10.1577/1548-8446(2004)29[23:fsvpoa]2.0.co;2
6A25JUDP 10.1109/HICSS.2011.207
99P5XUVV 10.5751/ES-06523-190264
WTFNRWHZ 10.1016/S0016-3287(03)00039-9
GKZHN4VX 10.1029/2009GB003587
WSN8SG6V 10.5751/ES-06752-190340
82494TJJ 10.1029/96GB02692
CJSZZ3EZ 10.1029/2005EO440003
P89ACWNQ 10.1023/B:LAND.0000030459.43445.19
FTN6ZI3Z papers3://publication/doi/10.1111/j.1365-2664.2010.01936.x
I4W9ESR2 10.1016/j.foreco.2012.09.043
LQWBCDVC 10.1016/S1164-5563(01)01088-3
WHEGX6G3 10.1890/1051-0761(2000)010[0689:BICEGC]2.0.CO;2
GHLRQ88Y 10.1016/S0006-3207(02)00164-7
92BMFZB4 10.1016/S1470-160X(01)00003-6
6XMAE2I5 10.3837/tiis.0000.00.000
JVFXFQXG 10.1111/j.1755-263X.2011.00219.x
XQF9K2YU 10.1007/811111-010-0101-5
NHF29F9B 10.1016/0169-5347(93)90254-M
63S4Z4M8 10.1029/2011JG001661
AMBQCSWD 10.1023/B:BIOC.0000004315.09433.f6
8485JATM 10.1111/j.1755-263X.2010.00097.x
GNV5AMTD 10.1641/B580607
PVLHPSPE 10.1139/F10-159
VFCDF3PQ 10.1017/S0031182006000710
3CEPQET5 10.1016/S0302-3524(81)80041-2
H2TX693I papers3://publication/uuid/B38AB62C-1E75-4F78-B4AE-A517F0F7D438
8HHLZSZE 10.1016/S0016-3287(96)00044-4
N2GC2N47 10.1111/j.1467-985X.2007.00499.x
XAQPPFNE papers3://publication/uuid/27A75C51-DD7A-46A7-8A7F-7663C2A7FFD3
ZSQCIX7F 10.1641/0006-3568(2001)051[0933:teotwa]2.0.co;2
MWIQRMTN 10.1111/j.2041-210X.2010.00036.x

TODO Do Exist

TODO Finally we check, if these dois exist but are not ingested into OpenAlex. This is done using the doi.org resolver This is disabled at the moment and still needs to be implemented.

Reuse

Citation

BibTeX citation:
@report{krug,
  author = {Krug, Rainer M.},
  title = {Bibliography {Report}},
  langid = {en},
  abstract = {Reports analysing the IPBES Libraries on Zotero.}
}
For attribution, please cite this work as:
Krug, Rainer M. n.d. “Bibliography Report.”