Получите данные о цитировании патентов от BigQuery по заявке - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу собрать данные по application_number, как это.Реальный номер приложения - CN 201510747352.

SELECT c.application_number AS Pub, COUNT(p.publication_number) AS CitedBy 
     FROM `patents-public-data.patents.publications` AS p, UNNEST(citation) AS c 
     WHERE c.application_number IN ('CN-201510747352-A') 
     GROUP BY c.application_number

Но он не может работать.URL является страницей патента.Кто может сделать мне одолжение?https://patents.google.com/patent/CN105233911B/zh?oq=CN201510747352.8

1 Ответ

0 голосов
/ 27 ноября 2018

Я предполагаю, что патент можно цитировать после того, как его статус - «Заявка» - поэтому вместо использования начального номера CN-201510747352 - вы должны использовать номер приложения / паба, когда статус «Приложение». Также вам нужно применять не только отдельный подсчет, но иисключая подсчет одного и того же приложения с суффиксом -A, -B или т. д., поэтому вы увидите использование функции regex_extract

#standardSQL
SELECT 
  c.publication_number AS Pub, 
  COUNT(DISTINCT REGEXP_EXTRACT(p.publication_number, r'(.+-.+)-')) AS CitedByCount
FROM `patents-public-data.patents.publications` AS p, 
UNNEST(citation) AS c 
WHERE c.publication_number LIKE ('CN-105233911%') 
GROUP BY c.publication_number  

с результатом

Row Pub             CitedBy  
1   CN-105233911-A  10   

... Если у меня есть только данные приложения, как я могу это реализовать?

#standardSQL
SELECT 
  c.publication_number AS Pub, 
  COUNT(DISTINCT REGEXP_EXTRACT(p.publication_number, r'(.+-.+)-')) AS CitedByCount
FROM `patents-public-data.patents.publications` AS p, 
UNNEST(citation) AS c 
WHERE c.publication_number IN (
  SELECT publication_number 
  FROM `patents-public-data.patents.publications`
  WHERE application_number IN ('CN-201510747352-A') 
)
GROUP BY c.publication_number 
...