Encontrar las citas de cualquier artículo en particular es sencillo.
Pero, ¿cómo identifica el conjunto de publicaciones que citan dos artículos específicos?
La razón por la que pregunto esto es porque estoy tratando de escribir un artículo de revisión para resolver un problema en la literatura. Hay 2 artículos que adoptan puntos de vista opuestos con respecto a ese tema. Para verificar si se ha intentado algún estudio similar al mío antes, estoy tratando de buscar cualquier artículo que citó esos 2 artículos juntos. Alguna forma de hacer esto?
Cada artículo tiene cientos de citas, por lo que buscar una cita común no es práctico.
Mi procedimiento fue simple pero funcionó para mí. Es similar pero diferente a la sugerida por tripartio.
Esto no es tan sistemático como sería ideal, pero debería ayudar a dar una idea preliminar.
Uno puede usar la API de OpenCitations . Aquí hay un código de ejemplo en R basado en dos DOI visibles en forma de https://w3id.org/oc/index/coci/api/v1/citations/[DOI]
:
library(jsonlite)
work1 <- jsonlite::fromJSON("https://opencitations.net/index/coci/api/v1/citations/10.1017/s0020818313000337")
work2 <- jsonlite::fromJSON("https://opencitations.net/index/coci/api/v1/citations/10.1177/1354066106067346")
citingworks <- intersect(work1$citing, work2$citing)
Luego, citingworks
enumera 32 DOI que han citado tanto work1
como work2
:
> citingworks
[1] "10.1017/9781108644082" "10.1017/9781108644082.001"
[3] "10.1017/9781108644082.002" "10.1017/9781108644082.003"
[5] "10.1017/9781108644082.004" "10.1017/9781108644082.005"
[7] "10.1017/9781108644082.006" "10.1017/9781108644082.007"
[9] "10.1017/9781108644082.008" "10.1017/9781108644082.009"
[11] "10.1017/9781108644082.010" "10.1177/1354066119889401"
[13] "10.1093/jogss/ogy021" "10.31338/uw.9788323542988"
[15] "10.1080/13533312.2020.1753513" "10.1080/13569775.2020.1795372"
[17] "10.1007/978-3-030-51521-8_1" "10.1007/978-3-030-51521-8_2"
[19] "10.1080/13600826.2020.1828298" "10.1057/s41268-018-0147-z"
[21] "10.1146/annurev-polisci-040711-135425" "10.1111/pops.12616"
[23] "10.1093/isq/sqz055" "10.1093/isr/viy006"
[25] "10.1093/isr/viz002" "10.1017/s0260210516000176"
[27] "10.1017/s026021051600019x" "10.3384/cu.2000.1525.1572479"
[29] "10.1177/1354066117745365" "10.1163/24056006-12340008"
[31] "10.1177/0010836716653161" "10.1080/09662839.2018.1497985"
Pero tenga en cuenta que la muestra de datos de OpenCitation es CrossRef , que no es lo mismo que Google Scholar .
No lo he hecho yo mismo, así que no puedo dar detalles específicos, pero aquí hay un algoritmo general:
Para publicaciones biomédicas, puede utilizar la red de citas de Europa PMC (yo trabajo para esta base de datos). Aquí hay un ejemplo de una búsqueda para encontrar una publicación que cita dos artículos en particular: https://europepmc.org/search?query=CITES%3A24240771_med%20AND%20CITES%3A24036476_med . También puede hacerlo mediante programación ( https://europepmc.org/RestfulWebService#cites )
Esto se puede hacer con una precisión razonablemente alta usando Scopus y es mucho más fácil que los otros métodos sugeridos aquí. Simplemente haga una búsqueda avanzada de
"título del artículo 1" Y "título del artículo 2"
La idea es que las publicaciones que citan los dos artículos tengan sus títulos listados en sus secciones de referencias.
Esto podría no dar resultados completamente precisos, porque:
Es posible que pueda sortear estos problemas si incluye los nombres de los autores o los números de página y realiza una búsqueda más complicada. Consulte https://www.scopus.com/search/form.uri?display=advanced .
Por supuesto, necesita acceso a Scopus y es posible que su institución no tenga esto. Pero algo similar podría funcionar con Google Scholar.
El uso de la API de OpenCitation en Python se vería así:
import requests
import pandas as pd
import numpy as np
link1 = "https://opencitations.net/index/coci/api/v1/citations/10.1017/s0020818313000337"
work1 = requests.get(link1).json()
df1 = pd.DataFrame.from_dict(work1)
link2 = "https://opencitations.net/index/coci/api/v1/citations/10.1177/1354066106067346"
work2 = requests.get(link2).json()
df2 = pd.DataFrame.from_dict(work2)
print(np.intersect1d(df1['citing'].unique(), df2['citing'].unique()))
usuario64845
moa
usuario64845
GEdgar