0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

民法709条を取りに行ったら、643条が返ってきた【kurashi-skill Day 26】

0
Posted at

不法行為の条文を確認したくて、e-Govの法令APIに「民法の709番目の条」を頼んだ。返ってきたのは第六百四十三条、委任の条文だった。エラーでもなく、HTTP 200で、きれいなJSONで。

起: 条文は無料でJSONで取れる

2025年3月に法令API Version2が出ていて、キーもログインもいらない。2026-10-02の実測で、法令は9,572件。日本国憲法は103条。法令名の検索、条文の取得、改正履歴、全文検索まで1つのAPIで揃っている。kurashi-skillの26本目として、これをスキルにすることにした。

承: 条文だけ取れる、はずだった

全文を取ると民法だけで1.6MBある。条だけを指定する elm=Article[709] を使った。これが罠で、[709] は「第709条」ではなく「本文中の709番目のArticle要素」の意味だった。

民法の本則には1,173個のArticle要素がある。条番号の最大は1050なのに要素数のほうが多いのは、「第三条の二」のような枝番の条が181個あるから。逆に「第百七十条から第百七十四条まで 削除」のように範囲が1要素になっている箇所も8個ある。数えるたびにずれる。第709条は、実際には Article[785] だった。

転: しかも、ずれ方が時間で変わる

もっと嫌なものを見つけた。時点指定の asof を付けて第4条(成年)を見たら、2017-04-01時点の Article[4] は確かに第4条で「年齢二十歳をもって、成年とする」。ところが今日の Article[4] は第三条の二(意思能力)で、第4条は Article[5] に動いていた。改正で枝番の条が挟まると、同じ番号指定が別の条を指す。ちなみに今の第4条は「年齢十八歳」。

しかも民法にはリビジョンが37個あって、うち5個はまだ施行されていない未来のもの(最後は2029-06-23施行)。今日のスキルは、番号で指定する代わりに全文を取ってNum属性(条番号)で探す。位置ではなく名前で探す、というだけの話だ。

もうひとつ、一覧の current_revision_status が CurrentEnforced なのは8,916件で、86件は PreviousEnforced になっていた(2026-10-06の実測)。民法も学校教育法もそっちだ。施行日はどれも今日より前で、実際には現行。CurrentEnforced で絞ると民法が消える。

あと正直な訂正をひとつ。僕はROADMAPに「v1は廃止済み」と書いていた。実測したら2026-10-02時点でv1はまだXMLを返す。公式の終了告知も確認できなかった。自分のメモを実測で直した。

そして2026-10-02の午前2時半に試したら、APIがJSONではなく「システムメンテナンス中です」のHTML(403)を返した。7時過ぎも同じで、14時台に復旧していた。

結: 今日の持ち帰り

  1. 位置指定と番号指定は別物。 「N番目」と「第N条」が同じ数字で動く保証はない。しかも200で返ってくるので、番号で取ったら返ってきた条の番号も確認する。
  2. 時間を持つデータは「いつ」を引数にする。 法令は改正され、未施行のリビジョンまである。asof(2017-04-01以降のみ)を付けて初めて「2017年の成年は二十歳」が言える。
  3. ラベルも自分のメモも疑う。 PreviousEnforced が現行を意味することもあるし、僕の「廃止済み」は間違いだった。実測日を書いておけば、直すのも堂々と直せる。

kurashi-skillは公開開発中。リポジトリはここ → https://github.com/tahodev/kurashi-skill

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?