This report assesses the IPCC 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.
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
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.
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: 1072 (82.46%) - 0 duplicates
ISBNss: 70 (5.38%)
ISBNss: 922 (70.92%)
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 )}
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 )
To validate the existence and validity of the DOIs, we check if the DOIs are in the OpenAlex database.
Of the 1072 unique DOIs in the library, 135 (12.59%) 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 )
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.