Difference between revisions of "Patent Data"
imported>Harsh m (→ER diagram) |
imported>Kranthi |
||
Line 73: | Line 73: | ||
[https://dataverse.harvard.edu/dataset.xhtml?persistentId=hdl:1902.1/15705 Harvard Dataverse] | [https://dataverse.harvard.edu/dataset.xhtml?persistentId=hdl:1902.1/15705 Harvard Dataverse] | ||
+ | |||
+ | ==New Notes== | ||
+ | |||
+ | The source files have transitioned from here: | ||
+ | *https://www.google.com/googlebooks/uspto-patents-grants-text.html (No longer maintained) | ||
+ | To: | ||
+ | *https://bulkdata.uspto.gov/ (includes 2016 data) | ||
+ | |||
+ | The historic data is the same both sides. | ||
+ | |||
+ | Each file contains, in order, sorted by document ID: | ||
+ | #Design patents (we will discard) | ||
+ | #Plant patents (we will discard) | ||
+ | #Reissues (we probably want them) | ||
+ | #Utility patents (we want them) | ||
+ | |||
+ | The classifications in the XML file are: | ||
+ | *IPC - these are good and we just need the main classification | ||
+ | *CPC - as above | ||
+ | *USPC - just a numeric but not split. Is 22431 224/31 or 22/431, etc. |
Revision as of 18:20, 18 March 2016
The Patent Data page is for instructions on how to get the USPTO patent data, how to use the database, and for the documentation of our database.
Contents
ER diagram
Downloading the files
The files (in xml format) for granted patent data can be obtained at granted patent
The files for patent application data can be obtained at patent applications
The files for maintenance fees data can be obtained at maintenance
Scripts are available to perform a bulk download of all the above files:
Script to download patent application data from 2001-2004
Script to download patent application data from 2005-2015
Script to download patent grant data from 1976-2000
Script to download patent grant data from 2001-2004
Script to download patent grant data from 2005-2015
To use the scripts, save the scripts as shell scripts, then either
$ sh Applications_download_2001-2004.sh
or first change the script to an executable and execute it
$ chmod a+x Applications_download_2001-2004.sh $ ./Applications_download_2001-2004.sh
Notice there will be several hundreds of .zip files of size ~100mb getting downloaded so the process might take a while. When all the files are downloaded, unzip all of them using
$ unzip *.zip
XML Schema Notes
Tags we are using:
- CPC Classification: https://en.wikipedia.org/wiki/Cooperative_Patent_Classification
Tags we aren't using:
- Kind codes: http://www.uspto.gov/learning-and-resources/support-centers/electronic-business-center/kind-codes-included-uspto-patent
- Series codes: http://www.uspto.gov/web/offices/ac/ido/oeip/taf/filingyr.htm
Parsing and Processing the XML files
The ParserSpliter.pl script will first split a large Patent Data XML file into smaller XML files, one for each patent data. And it will then parse and process each Patent Data XML file.
Some of the files are somehow mal-formatted, and will be moved to a ./failed_files directory If you add a character anywhere in these files, they somehow become fine to be processed by the script.
In order to use this script, you will need to have XML::Simple and Try::Tiny installed.
Open up CPAN shell:
$ perl -e shell -MCPAN
Install:
cpan[0]> install XML::Simple cpan[1]> install Try::Tiny cpan[2]> install Switch
Once the packages have been installed, use the script like the following example:
perl PatentParser.pl -file=ipa150319_small.xml
Other Resources
Documentations for the xml files
New Notes
The source files have transitioned from here:
- https://www.google.com/googlebooks/uspto-patents-grants-text.html (No longer maintained)
To:
- https://bulkdata.uspto.gov/ (includes 2016 data)
The historic data is the same both sides.
Each file contains, in order, sorted by document ID:
- Design patents (we will discard)
- Plant patents (we will discard)
- Reissues (we probably want them)
- Utility patents (we want them)
The classifications in the XML file are:
- IPC - these are good and we just need the main classification
- CPC - as above
- USPC - just a numeric but not split. Is 22431 224/31 or 22/431, etc.