EPOのLinked open EP Dataの利用 (その2)
最終更新日:2021/03/23
1) はじめに
Linked open EP Data は、EPO(European Patent
Office:欧州特許庁)が提供している無料で利用できるオープンデータサービスです。
( https://www.epo.org/searching-for-patents/data/linked-open-data.html )
前回(その1)に続いて、今回は、EP特許出願及び発行物の情報取得のために、Linked open EP Dataを使用します。
2) Linked open EP Dataについて
Linked open EP Dataは、EPOで作成されたデータです。
Linked Dataの特徴として、情報データにはすべてURI(Uniform Resource Identifier)が付けられていて、各データはURIにより識別されます。
具体的な内容としては、各特許出願の書誌事項、発行物(公報)情報、CPCやIPCの特許分類コードの情報等が蓄積されています。
各特許出願の情報は基本的にはEP特許出願に関するものです。
尚、各EP特許出願に関しては、ファミリ情報に関するデータが蓄積されていますが、他国の特許出願がそのファミリメンバである場合は、その他国の特許出願の基本情報の一部も蓄積されています(出願番号等)。
3) 特許オントロジー(Patent Ontology)について
Linked open EP Data は、特許のlinked dataを記述するために、特許オントロジーとして、特許用の特別のクラスとプロパティを定義しています。
・代表的なクラス
・Application (出願情報を扱うクラス;主に特許ですが他の知的財産権に関するものも含まれます)
・Publicatin (A1,B1等の公式発行物を扱うクラス)
上記クラスが有する主な属性は以下の通りです。
・Applicationクラスの主なプロパティ
プロパティ | 弊所注釈 |
---|---|
patent:applicationAuthority | 出願当局or国 (ex. EPO) |
patent:applicationKind | 出願種類 (ex. A:通常の特許出願 F:design patent) |
patent:applicationNumber | 出願番号(8桁数字) |
patent:applicationNumberEpodoc | Epodoc 出願番号 |
patent:applicationNumberOriginal | オリジナルformatの出願番号 |
patent:classificationCPCAdditional | CPC特許分類:付加情報 |
patent:classificationCPCInventive | CPC特許分類:発明情報 |
patent:familyMemberOf | ファミリメンバリスト(URI) |
patent:filingDate | 出願日 |
patent:grantDate | 登録日 |
patent:publication | 発行物・公報 (ex. A1,A3,B1) |
rdf:type | rdfタイプ(Application) |
・Publicationクラスの主なプロパティ
プロパティ | 弊所注釈 |
---|---|
dcterms:abstract | 要約 |
dcterms:language | 言語 |
patent:agentVC | 代理人vcard (vcard:fn で名前取得可) |
patent:applicantVC | 出願人vcard |
patent:application | 出願情報 |
patent:citationNPL | 非特許引用文献 |
patent:citesPatentPublication | 特許引用文献 |
patent:classificationIPCAdditional | IPC特許分類:付加情報 |
patent:classificationIPCInventive | IPC特許分類:発明情報 |
patent:corrects | 訂正 |
patent:divisionalOf | 分割のもとの出願 |
patent:additionOf | 追加特許のもとの出願 |
patent:filingLanguage | 出願言語 |
patent:hasCorrection | 特許レコードの訂正がある場合 |
patent:internationalApplication | 対応する国際出願 |
patent:inventorVC | 発明者vcard |
patent:priority | 優先権主張国番号(application型) |
patent:proceduralLanguage | 特許付与手続き中の言語 |
patent:publicationAuthority | 発行当局(ex. EP) |
patent:publicationDate | 発行日 |
patent:publicationKind | 発行種別 (ex. A1,B1) |
patent:publicationKindLabel | 発行種別ラベル (ex. EUROPEAN PATENT APPLICATION) |
patent:publicationNumber | 公報番号(ex. 1382399) |
patent:representation | リソースのその他の表現形式 (ex. xml,pdf)のURI |
patent:titleOfInvention | タイトル(複数言語) |
rdf:type | クラス(publication) |
rdfs:label | ラベル (公報番号文字列 ex. EP 1382399 A1) |
※プロパティの詳細はEPOのページ:Patent Ontology Referenceに記載されています。
(https://data.epo.org/linked-data/documentation/patent-ontology-reference.html)
4) 特定出願のプロパティとその内容を取得する
Linked open EP Dataに実際にクエリを発行し、所望の特許情報を取得してみます。
EPOでは、EPOは、ユーザが直接、SPARQLクエリを入力して情報を抽出できる入力フォームを用意しているので、SPARQLクエリを入力して手軽に試すことができます。
例えば、以下は、特定の特定出願に設定されている属性とその値を取得する例です。
特定出願のURIを主語として、プロパティを述語として指定することにより、目的語としての値(下記コードでは?value)を確認することができます。
下記?valueは、URIまたはリテラル(文字列又は数値)となります。
---------- コード例 -----------
#prefix省略
SELECT DISTINCT ?property ?value
{
<http://data.epo.org/linked-data/id/application/EP/01903571>
?property ?value .
}
LIMIT 30
特定出願情報を指定する部分 cc/nnnnnnnnは、
cc: 特許庁コード (主にEP)
nnnnnnnn:出願番号の番号の部分。EPの場合、8桁の数字
---------- 出力例(11行以降の出力は略)----------
5) 特定の発行物(公報)のプロパティを取得する
特定の発行物のURIを指定して、設定されているプロパティとその値をすべて取得する例です。
URIにおいて、特定発行物情報の部分を、特許庁コードと数字で指定するところまでは出願情報と同じですが、さらに末尾に発行日を付けて指定します。
ただし、A1(サーチレポート付きの公開特許)等、任意のEP特許出願において1つしか発行されない発行物に関しては、発行日の部分は入れず"-"(ハイフン)とします(逆に入れると発行日を入れると識別しない)。
---------- コード例 -----------
#prefix省略
SELECT DISTINCT ?property ?value
{
<http://data.epo.org/linked-data/data/publication/EP/1382399/A1/->
?property ?value .
}
LIMIT 30
---------- 出力例(11行以降の出力は略)----------
一方、A8, A9, B8,又はB9の訂正に関する発行物等、複数回発行される可能性があるものは、発行日まで指定しないと識別されません。例えば、B8は登録特許のフロントページの訂正だが、以下のように発行日を末尾に入れます。
<http://data.epo.org/linked-data/data/publication/EP/1382399/B8/2007-10-10>
6) 特定出願のファミリを調べる
特定出願のシンプルファミリ(simple family)のメンバ情報を取得する例です。
※シンプルファミリは、EPOの主ドキュメントDBのDOCDBで定義されたファミリで、ほぼ同一の発明思想をカバーするとされる特許集合です。具体的には、同一の優先権を主張した集合の内、継続出願や分割出願は除いたコンパクトに集約した集合です。詳しくは下記サイトを参照してください。
(https://www.epo.org/searching-for-patents/helpful-resources/first-time-here/patent-families/docdb.html)
出願クラスのインスタンスから、メンバの情報を得るには、まず、特定出願を主語とし、述語を"familyMemberOf"とするトリプルを作成します。そのトリプルの目的語はファミリメンバクラスの情報になるなので、さらにその情報を主語とし、"familyMember"を述語としたトリプルを作成して、各メンバを検索します。
(プロパティパスを用いて2つのトリプルを連結)
下記例は、特定のEP特許出願のシンプルファミリの情報(出願国、出願番号、出願日)を取得する例です。
---------- コード例 -----------
#prefix省略
SELECT ?applicationAuthority ?applicationNumber ?filingDate
WHERE {
#対象出願のファミリリスト;そのファミリリストのファミリメンバが?memberである
<http://data.epo.org/linked-data/id/application/EP/01903571>
patent:familyMemberOf/patent:familyMember ?member .
#ファミリメンバ?memberの当局、出願番号、出願日
?member patent:applicationAuthority/rdfs:label ?applicationAuthority;
patent:applicationNumberEpodoc ?applicationNumber;
patent:filingDate ?filingDate .
}
---------- 出力例 ----------
7) 公報番号から特許分類を調べる
EPの発行物番号(公報番号)から、対応するEP特許出願に付与されている特許分類CPCを調べることもできます。
CPCの情報はApplicationクラスと紐づけられています。
また、CPCの情報は、CPC発明情報、CPC付加情報の2つに分けて検索、取得することができます。
尚、C-sets情報は含まれていないようです。
下記例では、特定のEP公報にかかる特許出願に付与されているCPC発明情報、CPC付加情報のリンク情報を取得する例です。
---------- コード例 -----------
#prefix省略
SELECT ?CPCInventive ?CPCAdditional
WHERE{
<http://data.epo.org/linked-data/data/publication/EP/2483419/A1/->
patent:application ?appUri.
{
?appUri patent:classificationCPCInventive ?CPCInventive .
}
UNION
{
?appUri patent:classificationCPCAdditional ?CPCAdditional .
}
}
ORDER BY DESC (?CPCInventive)
LIMIT 10
---------- 出力例 ----------
IPCの情報もCPCと同様に取得できますが、IPCの情報はPublicationクラスと紐づけられている点が異なります。
つまり、PublicationクラスのpropertyとしてclassificationIPCInventive又はclassificationIPCAdditionalを述語として指定することになります。
8) 引例、被引例文献(特許)の検索
PublicationクラスのpropertyであるcitesPatentPublicationで引用文献、被引用文献である特許を検索できます。
propertyに*を付けることで、引用文献の引用文献等、掘り下げて一度に検索できます。
以下の例は特定のEP特許公報(にかかる特許出願)の引用文献をさかのぼって検索し(引用文献の引用文献等)、合わせてEP0769301A1を直接引用する被引用文献を検索した例です。
---------- コード例 -----------
#prefix省略
SELECT DISTINCT
?CitesDocument_Number
WHERE
{
BIND(<http://data.epo.org/linked-data/data/publication/EP/0769301/A1/->
as ?Document)
#対象の引例である?CitesDocumentに再帰的に検索
{
?Document patent:citesPatentPublication* ?CitesDocument.
}
UNION
#対象を引例とする直接の文献(被引例)である?CitesDocumentを検索
{
?CitesDocument patent:citesPatentPublication ?Document.
}
#ラベル取得
?CitesDocument rdfs:label ?CitesDocument_Number.
}
LIMIT 50
---------- 出力例(11行以降の出力は略) ----------
また、これらの引用、被引用の関係情報をrに取り込むことによって(上記のコードを若干変更)、引用、被引用の関係を示すネットワークグラフを作ることも可能です。
9) 特許分類及びKWでのEP特許検索
さらに、Linked open EP Dataより、所望の特許分類、KWを指定して簡単な特許検索することもできます。
ただし、現状、あまり実用的とは思えないので、コードは主要部だけにとどめます。
以下の例では、
CPC: A61M5/145及びその下位分類
KW: 要約に"injection"及び"syringe"を含む
として、特定CPC及び特定KWにより、代表ファミリメンバの特許を検索しています。
ちなみに、下記例では、A1,A2の公報種類、出願日で期間を限定するようなフィルタをかけました(コード略)。
---------- コード例 ----------
SELECT ?publicationNumber ?title ?applicationDate ?abstract{
#公報検索
#CPCがA61M5/145又はその下位である?narrowerCPC
<http://data.epo.org/linked-data/def/cpc/A61M5-145>
skos:narrower* ?narrowerCPC .
#公報は以下のCPCとKWの属性を有する
?publnk rdf:type patent:Publication ;
#CPC発明情報が?narrowerCPCである
patent:application/patent:classificationCPCInventive ?narrowerCPC;
#公報のテキストに含まれるKWが"injection"&"syringe"である
text:query ( dcterms:abstract "injection" ) ;
text:query ( dcterms:abstract "syringe" ) ;
#公報にかかる出願はシンプルファミリの代表メンバである(公報を代表メンバに絞る)
patent:application/^patent:representativeFamilyMember ?family.
#公報属性取得
?publnk
#公報タイトル
patent:titleOfInvention ?title ;
#公報番号文字列
rdfs:label ?publicationNumber ;
#要約
dcterms:abstract ?abstract ;
#公報種別
patent:publicationKind/rdfs:label ?kind;
#出願日
patent:application/patent:filingDate ?applicationDate.
#出力をフィルタリング
・・・(略)・・・
}
LIMIT 10
---------- 出力例 ----------
注)特許分類、KWによる検索等については、Linked open EP Dataを利用するのではなく、EPOの特許検索オンラインサービスであるEspacenetを使用した方が良いと思われます。
Espacenetは、検索可能項目、機能も多く、検索フォームも充実しているため、圧倒的に使いやすく、また特許データ自身もEPだけではなく、世界各国の特許情報が収録されています。
10)まとめ
・Linked open EP Dataを利用してEP特許出願及びEP特許発行物(公報)の情報を取得する方法とその内容を確認しました(trial)。
・Linked open EP Dataでは、EP特許出願情報、EP特許発行物情報が項目ごとにリンクで接続されているために、そのリンクを利用して所望する複数の情報を芋づる式に検索、取得することができます。
具体的には、SPARQLを用いたデータ問い合わせ&検索を行います。
SPARQLクエリは、SPARQL query webフォームにマニュアルで入力することで簡単にその動作を確認できます。
また、プログラムから直接クエリを送ることで、引例・被引例特許の取得の例に示したように、データ取得から分析まで一気に処理することも可能です。
・その1で紹介したCPC特許分類と比較すると、EP特許出願情報、EP特許発行物情報において用意されているclassもpropertyも若干複雑で多岐に渡り、その分得られる情報も多くなります。
ただし、Linked open EP Dataは、EP特許にほぼ特化した情報であり、また紐付けされる情報もまだまだ限定的のようです。例えばリーガルステータスとの紐付けもないようです(登録日や登録公報のリンクはあるので、登録されたことは間接的にはわかります)。
・また、特許検索に関しては、EPOには別途用意されている特許検索サービスであるEspacenetを利用した方が圧倒的に便利です。このため、現状、単に特許検索のために、あえてこのLinked open EP Dataを利用する必要性はないと考えます。
ただ、もしも、EPOだけでなく、同様の知財情報に関するLinked Dataのエンドポイントが日本を始め、各国に用意されたならば、その複数のエンドポイントに対して1つのSPARQLクエリを発行することにより、世界各国の情報が一括して取得することも可能になるかもしれません。
そうなると、Linked Dataの良さももっと発揮される可能性があります。
つまり、既存の集約された特許DBに依存することなく、各国の特許情報を各特許庁から直接に、そして遅延なく入手することができます(Linked open EP Dataは毎週更新されているようです)。例えば、同一のSimpleFamilyの特許出願に関して各国のリーガルステータス等を随時ウォッチ、整理することができれば便利かと思います。
各国の思惑や事情もあって、自由な再利用を目的とするLinkedData の共通化、公開エンドポイントを整備するはすることはなかなか難しいようにも思われますが、今後、Linked open EP Dataを代表とする特許(知財)に関するLinked datのサービスがさらに拡大するのか否か、どのような場面で活用されうるのか、Espacenet等の他の情報サービスとどのように棲み分けがされるのか、注目されるところです。
・以上、Linked open EP Dataについての整理Tipsでした。個人的には、今回の整理で、わずかではありますがオープンデータの仕組みに触れることができて、勉強になりました。