Drafts

@cm3 の草稿置場 / 少々Wikiっぽく使っているので中身は適宜追記修正されます。

Linked Data で URI に 番号を用いるときは zero fill すべきか否か

結論

否。

理由

zero fill はそもそもなんのためにあるのだろう。

  • 桁数をそろえたい
    • データベースなどで確保する記憶領域を最適化するために桁数をそろえたい
    • 数字のみを切り出す処理を簡略にするために桁数をそろえたい(a[-4:]みたいな形で末尾4ケタを取ってくる。これを正規表現にすると処理速度が落ちる)
    • 文字列扱いで並べ替えをしたときに番号順になるように桁数をそろえたい

1つめについて、RDFストアにおいてURIの長さを気にする仕様にはなっていないので排除。URIにおいて番号を番号として意味を持たせたいときには、別途属性に数値型のリテラルを置くべきなので2つめ3つめの理由は排除される。

逆に zerofill しないことによって想定よりも多くのデータが入ることになった場合に対応が容易になる。