Closed tetsuyas1 closed 6 years ago
そもそも、wikidataの登録方法について何処かのドキュメントを見たら良いとか、基本的な整理があるとありがたいです。
了解です。準備します。
差分収集の bot は作るつもりでいました。ただおそらく長時間走る jobになるので、travis や circle ci などのサービスだと実行時間超えそうな予感。試しに作ってみて測ってみるので、相談させていただきたく。
例えば性別や誕生日について、登録済みの候補者についてもquickstatementsで更新をかけると、二重登録されたりするんでしょうか? 同じ場合にはそのまま、異なる場合には上書きされるのであれば、そのまま走らせれば良いのでしょうか。更新前には一応差分を確認した方がよいとは思いますが。
上書きではなく、追加になると思います。
@takahashim @hkwi これ、出典を付けることを考慮すれば、特に問題なさそうなので進めましょうか。作業はお願いしてもよいのでしょうか。分担が必要であれば何か分担表のようなものを作ります?
分担表を作ってみました。当方でできそうなところから始めてみます。 https://docs.google.com/spreadsheets/d/1jho09We-3bS4jzF3uvQnPdnjMkQJs5_ljwZyuzkKGPU/edit#gid=1376986153
P4100
の代わりに P1268
使いませんか?
一括登録系は私の方で拾えると思います
@higa4 @hkwi 確かにWikidataの「立候補選挙」に修飾子を追加入力しようとすると「代表する団体(P1268)」が候補として表示されるようなので、P1268で良さそうです。
@hkwi @takahashim 了解です。公認政党にはP1268を当てましょう。
@takahashim すみませんが一括登録系、お願いします。性別については私の方でやりかけなのでそこだけ担当します。batchのqueが詰まってるかんじで8時間たっても動かずstopもできない。。
WikidataのフェイスブックID(P2013)はfacebook pageじゃなくてIDを登録するためのもののようなので、現状のZ列のデータは登録できない(登録して良いものとそうでないものが混ざっているので分けないとまずそう)ようです…。
Q9047844 = wikipedia 田中健 (江戸川区議会議員) のページに同姓同名の 田中健_(東京都議会議員) と、参照されていますが、衆院選出馬されたのはこの大田区議員だった田中さんのようです。また参照先のページが特筆性無しで削除されています。Wikidata には割当たっていないようなので、新規作成が必要そうです。
Q11529448 松原 さとし さんも同姓同名の別人のようです。
Q9047844 さん GrayDB と wikidata から、いったん情報外しました。
Q11529448 も同様にいったん両方から外しました。
Q9047844 = wikipedia 田中健 (江戸川区議会議員) のページに同姓同名の 田中健_(東京都議会議員) と、参照されていますが
ご指摘ありがとうございます。Q42290522でwikidataに新規登録しました。GrayDB511行目にもQ番号を入れました。
Q11529448 松原 さとし さんも同姓同名の別人のようです。
こちらもQ42290611でwikidataに新規登録しました。GrayDB510行目にもQ番号を入れました。
qname 新規割り当てありがとうございます。差分出力開発中で、出力増やしました。 プロパティ値差分 https://github.com/hkwi/shuin48pre/blob/master/docs/wikidata_properties.csv 候補者差分 https://github.com/hkwi/shuin48pre/blob/master/docs/wikidata_P3602_Q20983100.csv
facebookはAPIで一度検査してから入れないとダメそうですね。ところでtwitterのscreen_nameも大文字小文字を元のものに戻してから差分を取るようにしました(twitter API 使用)。 https://github.com/hkwi/shuin48pre/blob/master/docs/twitter_sn_map.csv
どうやら facebook は普通にクロールして meta[@property="al:ios:url"]
辺りを見れば判別できそうですね。後で組んで回します。
facebook のメタデータ集め始めました。 https://github.com/hkwi/shuin48pre/blob/master/docs/fb.csv
/profile.php?id=ID
で飛んでいけますP2013
は type=profile な ident を登録すればいいのかな。
Twitterのid、https://github.com/hkwi/shuin48pre/blob/master/docs/twitter_sn_map.csv を元に更新をかけました。
blog URL 1581
は、もう少しデータをクレンジングしてから入れたい所存。path 部分が冗長すぎるものが多々。
公式ブログと公式サイト、URL 気になるところの手動調整終わりましたー
@takahashim さん、当選者の情報を入れたいのですがお願いしても大丈夫でしょうか。必要でしたら分担しますので言ってください。 GrayDBの当選列に1が立っている人について、政治家・立候補者シート https://docs.google.com/spreadsheets/d/1jho09We-3bS4jzF3uvQnPdnjMkQJs5_ljwZyuzkKGPU/edit#gid=0 の23-29行目あたりの内容をwikidataに登録する作業です。24行目「開始日」は10/22となるんですかね。とりあえずは無くても良いのかな。25行目「終了日」は不要ですね。
任期開始日はたぶん決まっているので、調べないとですね。例:参議院の解説 とりあえずは Term のほうに 10/22 を設定しておけばよいかと思います。
@higa4 了解です、拾います
小選挙区の得票数を graydb の右端のほうに入れました。朝日と毎日で突合せ済みです。
投票数ですが、重複立候補はこんな風にしたらどうかなというのを https://www.wikidata.org/wiki/Q41770570 やってみました。どうでしょう?
よいと思います。
「公職」について、QuickStatements2をつかって単純に追加しようとすると、すでに「衆議院議員」が登録されている場合に既存の情報と混ざってしまいますね…。
https://www.wikidata.org/wiki/Q7677156 の更新をかけると以下のようになってしまいました(現在はrevert済み)
「公職-衆議院議員」ステートメントをもうひとつ作りたいのですが上書きされるんですね。時間が取れたら調べてみます。
Q4115189
「サンドボックス」というのがあって、P31
が Q4115189
になっているサンドボックス達がいるので、これらを使うとテストしやすそう。
@takahashim 思い出しました。これ、mySocietyから連絡が来ていたヤツで現行のQS2の制約のようです。対策は下記のスクリプトを動かすか、同一ステートメントが未登録の政治家を選んでそこだけバッチ更新する(残りは手動)かというところでしょうか。
--以下引用-- For creating new items, or adding basic statements to existing items, everything should work smoothly, but you should beware that if you use it for adding P39 (position held) records to existing items, it doesn't work if someone has held the same position more than once. Unfortunately that's very common with political data, where it's very likely that there will be a large number of people elected as a Q17506823 (member of the House of Representatives of Japan) in the 48th Term, who already have a P39: Q17506823 record for the 47th Term.
To help with that, we've developed a bot called PositionStatements that takes input in exactly the same format as QuickStatements, but adds an entirely new P39 record each time, rather than combining them all into one as QS does. There's no web interface to that yet, but you can either try to get the bot running yourselves locally (it's a Python script, linked from https://www.wikidata.org/wiki/Wikidata:Requests_for_permissions/Bot/PositionStatements_Bot), or you can send us a TSV file of commands, and we can run it on behalf of a Wikidata account of your choosing.
はーー、なるほど、各claimsに関してはIDとしてqidの他にuuidがあって、同じpropertyでも区別できるんですね…。 https://www.wikidata.org/wiki/Special:EntityData/Q41770570.json でも確認できました。 データ構造的にどうやって区別するんだこれ、と思ってたのですが、ちょっと理解できました。
@higa4 公職について、選出選挙名・議会開催期・選挙区・代表する団体と出典URLについて一通り登録しておきました。
お疲れ様です!これで当選者の分析ができますね。どういうsparqlをかけば良いのかまだわかってないけど :)
一覧だと http://tinyurl.com/y8am7lcv ですね。 政党別だと http://tinyurl.com/yb39yhcq になるんですが、これだとwikipediaの https://ja.wikipedia.org/wiki/%E7%AC%AC48%E5%9B%9E%E8%A1%86%E8%AD%B0%E9%99%A2%E8%AD%B0%E5%93%A1%E7%B7%8F%E9%81%B8%E6%8C%99 の数とは追加公認の関係でずれがありますね…。
おお、早速ありがとうございます。 ある時点のデータで作った図表はスナップショットとして取っておく意義はありますが、いずれ陳腐化してしまいます。wikidataからクエリで抜くメリットはデータさえ適切に入れておけば常に最新状態が見られることだと思います。がんばれば時系列の推移も。
代表する団体、会派、所属政党の3プロパティの使い分けを改めて整理しておきたいのですが、以下のような感じでよいでしょうか。
登録例(前原誠司) https://www.wikidata.org/wiki/Q132280
懸案の「議会開催期」について ;) 内容的には下記2つの内容は矛盾はしないと思われるため、マージして「第4次安倍内閣」というラベルにしてはどうかと思いますがいかがでしょうか。 https://www.wikidata.org/wiki/Q42479041 https://www.wikidata.org/wiki/Q41655079 参考:ウィキペディア「第4次安倍内閣」 https://ja.wikipedia.org/wiki/%E7%AC%AC4%E6%AC%A1%E5%AE%89%E5%80%8D%E5%86%85%E9%96%A3
「議会開催期」については、それでいくと例えば「Term for House of Representatives 47th general election」 https://www.wikidata.org/wiki/Q41654707 は「第3次安倍内閣」https://www.wikidata.org/wiki/Q18657782 になりそうですが、これは2015年10月7日に終わってその後は「第3次安倍改造内閣」https://www.wikidata.org/wiki/Q21074124 になっていたようなので、ちょっと概念が違いそうに見えました。
「代表する団体」「会派」「所属政党」の考え方はそれでよさそうですが、「代表する団体」「所属政党」は「議会開催期」に紐付ける(qualifierにする)のではなく、その個人に紐ついていればいいのではないかな、という気がしないでもないです。 細かいと管理が大変になって続かないと思うので。
「議会開催期」に紐付くのが「会派(院内会派)」、「立候補選挙」に紐付くのが「代表する団体」で、「所属政党」は個人に紐付くのでどうでしょうか。所属政党は議員になっていてもなっていなくても、選挙しててもしてなくても決まる項目だと思うので。(という理解なんですが、ひょっとして議員じゃなくなると政党に所属してないことになるんでしょうか…?)
そっかぁ。ウィキペディア記事は内閣改造ごとで、それと衆院選は紐付かないですねー。 第3次安倍内閣2014/12/24-2015/10/7 https://ja.wikipedia.org/wiki/%E7%AC%AC3%E6%AC%A1%E5%AE%89%E5%80%8D%E5%86%85%E9%96%A3 第3次安倍内閣 (第1次改造)2015/10/7-2016/8/3 https://ja.wikipedia.org/wiki/%E7%AC%AC3%E6%AC%A1%E5%AE%89%E5%80%8D%E5%86%85%E9%96%A3_(%E7%AC%AC1%E6%AC%A1%E6%94%B9%E9%80%A0) 第3次安倍内閣 (第2次改造)2016/8/3-2017/8/3 https://ja.wikipedia.org/wiki/%E7%AC%AC3%E6%AC%A1%E5%AE%89%E5%80%8D%E5%86%85%E9%96%A3_(%E7%AC%AC2%E6%AC%A1%E6%94%B9%E9%80%A0) 第3次安倍内閣 (第3次改造)20178/3-2017/11/1/ https://ja.wikipedia.org/wiki/%E7%AC%AC3%E6%AC%A1%E5%AE%89%E5%80%8D%E5%86%85%E9%96%A3_(%E7%AC%AC3%E6%AC%A1%E6%94%B9%E9%80%A0) 全期間に対して「第3次安倍内閣」というitemをwikidata側で作ったら混乱するかなー。
「議会開催期」に紐付くのが「会派(院内会派)」、「立候補選挙」に紐付くのが「代表する団体」�で、「所属政党」は個人に紐付くのでどうでしょうか。
賛成です
修正してみました。 https://www.wikidata.org/wiki/Q132280
=====
しばらく止めていたwikidataへのデータ登録を再開するために、GrayDBにあるものをできるだけ活かしつつ、二重登録や不整合を極力抑えるために作戦を立てたいと思います。案を考えてみましたのでご意見お願いします。
1 GrayDBから転記するもの
1.1 wikidataにほぼ未登録で、問題が少なさそうなもの →そのままQS2などで一括登録 ・選挙区 ・公認政党 ・47th House of Representativesなど(命名をどうするか検討中)
1.2 wikidataにある程度登録済みでかつGrayDBの文字列をそのまま登録するもの →GrayDBの登録内容のうち、wikidataに入っていない差分を取ってから未登録分を一括登録 ・選挙用表記名 ・かな ・誕生日 ・写真 ・twitter ・facebook ・LINE ・youtube channel ・instagram ・公式サイト ・メールアドレス ・公式ブログ ・詳細情報URL
1.3 wikidataにある程度登録済みでかつGrayDBの文字列をQ番号に置き換えて登録するもの(置き換え数の少ないもの) →GrayDBの登録内容のうち、wikidataに入っていない差分を取ってから未登録分を一括登録 ・性別
1.4 wikidataにある程度登録済みでかつGrayDBの文字列をQ番号に置き換えて登録するもの(置き換え数の多いもの) →手作業で登録 ・出生地 ・立候補歴 ・当選歴 ・学歴 ・職歴 ・公職 ・父親 ・配偶者
2 GrayDB以外のネット上から収集して手作業で登録 →広く作業支援を呼びかける
3 データのupdate ・botを仕込む?
4 当選後に向けた準備 ・何をしましょうかね?