Hi Dear All,
I am trying to obtain all the patents under a certain IPC classification with certain criteria. It always returns with 32 million results, which I believe is the total number of patents in the world. Anyway, I did some test searching and will post some of my code (pretty simple). Would you please check it for me?
I intend to search all US and China patents under H04L29/06:
select a1.appln_id, a1.appln_auth, a4.ipc_class_symbol, a3.person_name, a3.person_ctry_code
from tls201_appln a1
left outer join tls207_pers_appln a2 on a2.appln_id = a1.appln_id
left outer join tls206_person a3 on a3.person_id = a2.person_id
left outer join tls209_appln_ipc a4 on a4.appln_id = a1.appln_id
where a1.granted = '1' and a4.ipc_class_symbol like 'H04L%29/06%' and a1.appln_auth = 'US' or a1.appln_auth = 'CN' and a3.person_ctry_code = 'US' or a3.person_ctry_code = 'CN'
(half a million results)
Later I tried to type other testing code:
select a1.appln_id, a1.appln_auth, a4.ipc_class_symbol
from tls201_appln a1
join tls209_appln_ipc a4 on a4.appln_id = a1.appln_id
where a1.granted = '1' and a4.ipc_class_symbol = 'H04L 29/06' and a1.appln_auth = 'US'
(0 results)
select a1.appln_id, a1.appln_auth, a4.ipc_class_symbol
from tls201_appln a1
join tls209_appln_ipc a4 on a4.appln_id = a1.appln_id
where a1.granted = '1' and a4.ipc_class_symbol like 'H04L%29/06%' and a1.appln_auth = 'US'
(0 results)
select a1.appln_id, a1.appln_auth, a4.ipc_class_symbol
from tls201_appln a1
join tls209_appln_ipc a4 on a4.appln_id = a1.appln_id
where a1.granted = '1' and a4.ipc_class_symbol = 'H04L 29/06' and a1.appln_auth = 'US' or a1.appln_auth = 'CN'
(32 million)
select a1.appln_id, a1.appln_auth, a4.ipc_class_symbol
from tls201_appln a1
join tls209_appln_ipc a4 on a4.appln_id = a1.appln_id
where a1.granted = '1' and a4.ipc_class_symbol = 'H04L 29/06' and a1.appln_auth = 'US'
(0 result, only thing I did is delete " or a1.appln_auth = 'cn')
(correct number)
Can someone please explain what is happening here and modify the first code for me? I would really appreciate it!
Thank you in advance!
Musso Du
IPC Classification
-
- Posts: 426
- Joined: Thu Feb 22, 2007 5:33 pm
- Contact:
Re: IPC Classification
Hi Musso,
I think this is what you want:
It retrieves 429 685 rows in the PATSTAT 2018 Spring Edition.
I think this is what you want:
Code: Select all
select a1.appln_id, a1.appln_auth, a4.ipc_class_symbol, a3.person_name, a3.person_ctry_code
from tls201_appln a1
left outer join tls207_pers_appln a2 on a2.appln_id = a1.appln_id
left outer join tls206_person a3 on a3.person_id = a2.person_id
left outer join tls209_appln_ipc a4 on a4.appln_id = a1.appln_id
where a1.granted = 1
and a4.ipc_class_symbol like 'H04L 29/06'
and (a1.appln_auth = 'US' or a1.appln_auth = 'CN')
- The main issue was that you need to put "(a1.appln_auth = 'US' or a1.appln_auth = 'CN')" in brackets, because you want all applications of a certain IPC which are either US or CN applications.
What your query actually specified are all US applications with a certain IPC plus all(!) CN application.
You could as well use the more elegant condition with the IN operator "a1.appln_auth in ('US', 'CN')". The result will be the same. - I ignored your condition on the countries of persons because you did not mention it when you described your information need. If you add it, you must also set brackets sensibly.
- Although it does not change the result, some advise: If you search for a specific IPC / CPC symbol, then do not use wild cards in the symbol. E. g., you would unintentionally also retrieve applications with the IPC symbols like 'H04L 129/06' or 'H04L 29/0612' . Luckily, there are none in this case.
Between 'H04L' and '29/06' there are 2 spaces, because according to WIPO ST.8 the main group always takes 4 positions: The '29' are right aligned, so you have to fill in 2 spaces. See also the PATSTAT Data Catalog.
PATSTAT Support Team
EPO - Vienna
patstat @ epo.org
EPO - Vienna
patstat @ epo.org