用户工具

站点工具


zh:notes:disruptive_index

Disruptive Index Calculation

Citation Information

To add later

Datasets

The scientific publications in the SynBio dataset ranges from 2003 to 2012. For more details, we refer the readers to Porter et al. (2020) and Xu et al. (2021). We randomly choose five articles from this dataset per year.

In addition, five hot topics from Essential Science Indicator (ESI) are also taken into consideration here.

The scientific publications in astro dataset ranges from 2003 to 2010. For more details, we refer the readers to Gläser et al. (2017) and Xu et al. (2018). We randomly choose five articles per year from this dataset.

  1. SYNTHETIC BIOLOGY [50 articles]
  2. GLOBAL ECONOMIC COSTS; AQUATIC INVASIVE ALIEN SPECIES; INVASIVE ALIEN SPECIES; RISING ECONOMIC COSTS; ECONOMIC COSTS [15 articles]
  3. NEW EXACT SOLITARY WAVE SOLITIONS; NEW SOLITARY WAVE SOLUTIONS; EXACT SHARP-FRONTED TRAVELLING WAVE SOLUTIONS; EXACT TRAVELING WABE SOLUTIONS; GENERALIZED FRACTIONAL PERTURBED ZAKHAROV-KUZNETSOV EQUATION [11 articles]
  4. BLOCKCHAIN-BASED SECURE DIGITAL TWIN INFORMATION MANAGEMENT; GDPR COMPLIANT BLOCKCHAIN-BASED IOV DISTRIBUTED INFORMATION TRACKING SYSTEM; BLOCKCHAIN-BASED PRIVACY-PRESERVING REMOTE DATA INTEGRITY CHECKING SCHEME; BLOCKCHAIN-BASED CODE COPYRINGHT MANAGEMENT SYSTEM; INGORMATION SYSTEMS MANAGEMENT [16 articles]
  5. ASTRAZENECA COVID-19 VACCINATION; VACCINE-INDUCED IMMUNE THROMBOTIC THROMBOCYTOPENIA(VITT); COVID-19 VACCINATION; VACCINE-INFUCED PRO THROMBOTIC IMMUNE THROMBOCYTOPENIA(VIPIT); COVID-19 VACCINE ASTRAZENECA EXPOSURE [12 articles]
  6. 3D REDUCED GRAPGENE OXIDE/FENI3-IONIC LIQUID NANOCOMPO SITE MODIFIDE SENSOR; AMPLIFIDE VOLTAMMETRIC SENSOR BASED; MOLECULARLY IMPRINTED ELECTROCHEMICAL SENSOR BASED; ELECTROCHEMICAL IMMUNOSENSOR DEVELOPMENT BASED; VOLTAMMETRIC AMPLIFIED PLATFORM BASED [15 articles]
  7. ASTRONOMY AND ASTROPHYSICS [40 articles]

Data Sources

Create Database

The database SQL file: disruptive_index.sql.

OpenCitations

Download Data

For each domain, the following procedure is repeated. Let's take the dataset SYNTHETIC BIOLOGY as an example. Their DOI names are assumed to save in the file doi_list1.csv.

The target articles can be retrieved according to a DOI list file by running the following statement.

> python retrieve.py doi_list1.csv 1/target_articles

The citing articles of target articles can be retrieved by running the following statement.

> python retrieve_citations.py 1/target_articles 1/citing_articles f

The cited articles of target articles can be retrieved by running the following statement.

> python retrieve_citations.py 1/target_articles 1/cited_articles b

The citing articles of cited articles can be retrieved by running the following statement.

> python retrieve_citations.py 1/cited_articles 1/citing_articles f

Import Target Articles with both Citations

The target articles with the resulting forward and backward citations can be imported to the database by running TargetArticleOpenCitationsImporter.java in the package cn.edu.bjut.ui.

Import Cited Articles with Forward Citations

The cited articles with the resulting forward citations can be imported to the database by running CitedArticleOpenCitationsImporter.java in the package cn.edu.bjut.ui.

Import Citing Articles

The citing articles can be imported to the database by running CitingArticleOpenCitationsImporter.java in the package cn.edu.bjut.ui.

Dimensions

Download Data

Import Target Articles with Backward Citations

Import the target articles with the resulting backward citations to the database by running TargetArticleDimensionsImporter.java in the package cn.edu.bjut.ui.

Import Cited Articles

Import the cited articles to the database by running CitedArticleDimensionsImporter.java in the package cn.edu.bjut.ui.

Import Citing Articles with Backward Citations

Import the citing articles with the resulting backward citations to the database by running CitingArticleDimensionsImporter.java in the package cn.edu.bjut.ui.

Update Publication Years

> SELECT id, dimensions_id, title, doi, publication_year FROM article_dimensions WHERE publication_year = 0; 

The records above can be exported to article_dimensions_year.xlsx in the directory data, and then one can correct manually them one by one.

Once correction is done, one can import the related information in the file data/article_dimensions_year.xlsx into MySQL database by running ArticleDimensionsPublicationYearUpdater.java in the package cn.edu.bjut.ui.

Update DOI Names

> SELECT id, dimensions_id, title, doi FROM article_dimensions WHERE doi LIKE "%\%%" OR doi LIKE "%HTTPS%";

The records above can be exported to article_dimensions_doi.xlsx in the directory data, and then one can correct manually them one by one.

Once correction is done, one can import the related information in the file data/article_dimensions_doi.xlsx into MySQL database by running ArticleDimensionsDoiUpdater.java in the package cn.edu.bjut.ui.

Note that once the DOI names are updated, several records may share a same DOI name. One can check this point by running ArticleDimensionsDoiChecker.java in the package cn.edu.bjut.ui.

To avoid duplication, one can merge the resulting articles by running ArticleDimensionsDoiMerger.java in the package cn.edu.bjut.ui.

Web of Science

Import Target Articles

The target articles with the resulting backward citations can be imported to the database by running TargetArticleImporter.java in the package cn.edu.bjut.ui.

Several cited articles are attached with multiple DOI numbers or a wrong DOI name. One can retrieve those cited articles by running the following SQL statement.

> SELECT id, text, doi_original, doi FROM cited_article WHERE flag = 1; 

As for our case, there are 23 records in total. These DOI numbers are corrected manually one by one with the help of the following SQL code.

> SELECT a.id AS id, title, doi, publication_year FROM article_cited_article AS a_ca, article AS a WHERE a.id = a_ca.article_id AND a_ca.cited_article_id = ???;

Then, one can run CitedArticleDoiFirstUpdater.java in the package cn.edu.bjut.ui to import these DOI numbers to the database.

One can run CitedArticleDoiFirstChecker.java in the package cn.edu.bjut.ui to check whether multiple cited articles are attached a same DOI number.

Download Cited Articles

For each domain, one can download the cited articles according to the following DOI list.

> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 1 AND article_id <= 50); 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 51 AND article_id <= 65); 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 66 AND article_id <= 76); 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 77 AND article_id <= 92); 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 93 AND article_id <= 104); 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 105 AND article_id <= 119); 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 120 AND article_id <= 159); 

Download Citing Articles

For each domain, one can download the citing articles according to the following DOI list. Note that the DOIs of target articles and cited articles should be combined before downing the citing articles.

> SELECT DISTINCT doi FROM article WHERE id >= 1 AND id <= 50; 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 1 AND article_id <= 50); 
 
> SELECT DISTINCT doi FROM article WHERE id >= 51 AND id <= 65; 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 51 AND article_id <= 65); 
 
> SELECT DISTINCT doi FROM article WHERE id >= 66 AND id <= 76; 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 66 AND article_id <= 76); 
 
SELECT DISTINCT doi FROM article WHERE id >= 77 AND id <= 92; 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 77 AND article_id <= 92); 
 
> SELECT DISTINCT doi FROM article WHERE id >= 93 AND id <= 104; 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 93 AND article_id <= 104); 
 
> SELECT DISTINCT doi FROM article WHERE id >= 105 AND id <= 119; 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 105 AND article_id <= 119); 
 
> SELECT DISTINCT doi FROM article WHERE id >= 120 AND id <= 159; 
> SELECT DISTINCT doi FROM cited_article WHERE doi IS NOT NULL AND flag = 0 AND id IN (SELECT DISTINCT cited_article_id FROM article_cited_article WHERE article_id >= 120 AND article_id <= 159); 

Import Cited Articles

The cited articles can be imported to the database by running CitedArticleImporter.java in the package cn.edu.bjut.ui.

Import Citing Articles

The citing articles with the resulting backward citations can be imported to the database by running CitingArticleImporter.java in the package cn.edu.bjut.ui.

Several cited articles are attached with multiple DOI numbers or a wrong DOI name. One can retrieve those cited articles by running the following SQL statement.

> SELECT id, text, doi_original, doi FROM cited_article WHERE id > 6686 AND (flag = 1 OR flag = 0 AND (doi LIKE "%ARXIV%" OR doi LIKE "%HTTP%" OR doi LIKE "%ARTICLE%" OR doi LIKE "%ONLINE%" OR doi LIKE "%AVAILABLE%" OR doi LIKE "%PATENT%" OR doi LIKE "%PUBMED%" OR doi LIKE "%’%" OR doi LIKE "%,%" OR doi LIKE "%\%%" OR doi LIKE "%?%" OR doi LIKE "%*%" OR doi LIKE "%#%" OR doi LIKE "%–%" OR doi LIKE "%—%")); 

The records above can be exported to cited_article_doi.xlsx in the directory data, and then one can correct manually them one by one.

Once correction is done, one can import the related information into MySQL database by running CitedArticleDoiSecondUpdater.java in the package cn.edu.bjut.ui.

Note that once the DOI names are updated, several records may share a same DOI name. One can check this point by running CitedArticleDoiSecondChecker.java in the package cn.edu.bjut.ui.

To avoid duplication, one can merge the resulting articles by running CitedArticleDoiMerger.java in the package cn.edu.bjut.ui.

Update Publication Year

> SELECT id, wos_id, title, doi, publication_year FROM article_dimensions WHERE publication_year = 0; 

The records above can be exported to article_year.xlsx in the directory data, and then one can correct manually them one by one.

Once correction is done, one can import the related information in the file data/article_year.xlsx into MySQL database by running ArticlePublicationYearUpdater.java in the package cn.edu.bjut.ui. Note that several DOIs are also updated in this time.

Merge Article

Note that several records may share a same DOI name. One can check this point by running ArticleDoiChecker.java in the package cn.edu.bjut.ui.

To avoid duplication, one can merge the resulting articles by running ArticleDoiMerger.java in the package cn.edu.bjut.ui.

Generate Citations

The citation relations between cited articles and target ones, between cited_articles and citing ones, and between target articles and citing ones can be generated by running CitationGenerator.java in the package cn.edu.bjut.ui.

Disruptive Index

Normalization

Before normalization, a global DOI set is generated by running DoiUpdater.java in the package cn.edu.bjut.indices. Then, the resulting publication years are updated by running DoiPublicationYearUpdater.java in the package cn.edu.bjut.indices.

The citations from Web of Science, Dimensions, and OpenCitations can be normalized by running CitatoinUpdater.java, CitatoinDimensionsUpdater.java, and CitatoinOpenCitationsUpdater.java respectively in the package cn.edu.bjut.indices.

Calculate Disruptive Index

zh/notes/disruptive_index.txt · 最后更改: 2022/11/17 09:32 由 pzczxs