森高千里データベースの再構築(24) : hkob の雑記録 (281)

はじめに

hkob の雑記録の第281回目は、森高千里DB の Contents のタイトルに対して、曲名の揺れに対応した件を解説します。

曲名の揺れについて

千里さんの曲名は、アルバムなどによって表記が変更になるものがあります。例えば、「ザ・ミーハー ミーハー」というシングルでは、同じ曲が 1曲名では「ザ・ミーハー」、2曲目では「ミーハー」という曲名になります。これまでのデータベースでは、こんな感じでコメントに、『表記は「ザ・ミーハー」』と記述していました。

Contents における曲名の揺れ

せっかく Name の部分はデータベースオートメーションで自動設定しているので、この表記揺れにも対応しておきたいところです。

現在の Set name for Contents automation

Songs の修正

まず、表記揺れに対応するため、Songs のタイトルに両方のタイトルを「 | 」で併記することにします。見た目を考えて、「|」の前後にスペースを入れました。とりあえず、ミーハーだけ対応してみます。

Songs の修正

Contents に SongNameOrder プロパティを追加

Contents には SongNameOrder という数値プロパティを用意しました。デフォルトは空欄で、2番目の名前を使う場合には 1、3番目の名前を使う場合には 2 を入れることにします。

Contents に SongNameOrder プロパティを追加

データベースオートメーションの修正

Songs の名前と SongNameOrder プロパティから以下のようにデータベースオートメーションの数式を変更しました。

データベースオートメーションの修正

具体的な数式は以下のようになりました。

lets(
    sno, context("トリガーページ").prop("SongNameOrder"),
    num, sno.empty() ? 0 : sno,
    name, context("トリガーページ").prop("Song").first().prop("Name").split(" | ").at(num),
    [
        context("トリガーページ").prop("Number"),
        name,
        context("トリガーページ").prop("Version")
    ].filter(current)
    .join(" ")
)

実行結果

早速、SongNameOrder に数値を入れて見ました。1曲目だけ SongNumOrder を設定したので、曲名が「ザ・ミーハー」に変わっています。

「ザ・ミーハー」と「ミーハー」

ここまでできれば、「表記は」と書かれたコメントの曲を修正すればよいだけになります。検索するとこんな感じで並ぶので、Songs の曲名を修正した上で、SongNameOrder を 1 に変更していきます。設定が終わったら、「表記は…」のコメントは削除していこうと思います。

その他の Contents (修正前)

最終的にこれらの全てを修正しました。SongNameOrder が 1 のページだけを表示すると以下のようになりました。全て別名になっています。

その他の Contents (修正後)

おわりに

今回は、Contents の曲の揺れに対応しました。これでアルバムなどのコンテンツやコンサートのセットリストに正しい曲名が表示されるようになりました。

hkob.notion.site