prickathon / prismdb

プリティーシリーズの情報をまとめる同人プラットフォームです
https://prismdb.takanakahiko.me
12 stars 9 forks source link

ブランドをClassにしたらどうか #218

Closed banjun closed 4 years ago

banjun commented 4 years ago

現状はprism:brandはPropertyになっていて,ブランド名が文字列で入るようになっています。CharacterやSongのようにブランドもClassにするとどうか?という提案です。

利点

現状のprism:brand一覧 クエリ ```sparql PREFIX prism: SELECT group_concat(distinct ?brand; separator="\n") WHERE { ?s prism:brand ?brand. bind("" as ?g) } group by ?g ``` 結果 ``` Baby Monster(ベイビーモンスター) Brilliant Prince(ブリリアントプリンス) Candy Alamode more(キャンディアラモードモア) Candy Alamode(キャンディアラモード) Coco Flower(ココフラワー) Cutie Happiness Dance & street Dear Crown(ディアクラウン) Dolly Waltz Fortune Party(フォーチュンパーティ) Girl's Yell Holic Trick classic(ホリックトリック クラシック)、LOVE DEVI(ラブデビ) Holic Trick(ホリックトリック) Marionette Mu(マリオネットミュー) Marionette Mu(マリオネットミュー)、LOVE DEVI(ラブデビ) Milky Rainbow Precious muse PrismStone(プリズムストーン) Romance Beat Secret Alice Silky Heart(シルキーハート)、LOVE DEVI(ラブデビ) Sunny Zoo(サニーズー) Sweet Honey Twinkle Ribbon Sweet(トゥインクルリボンスウィート) Twinkle Ribbon(トゥインクルリボン) Universe Queen ガーツズエール ガールズエール キュティーハピネス キューティーハピネス ココフラワー サニーズー シルキーハート シークレットアリス スイートハニー ダンスアンドストリート ダンス&ストリート ティンクルリボンスウィート ディアクラウン ドーリーワルツ バナナチップス ファンタジータイム フォーチュンパーティ フォーチュンパーティー ブランドなし ブリリアントプリンス プリズムストーン プリティーリズム プレシャスミューズ ベイビーモンスター ホリックトリック マリオネットミュー ミルキーレインボー ユニバースクイーン ユニバースクイ-ン ユニバースクリーン リッチビーナス リッチヴィーナス ロゼットジュエル ロニィ ロマイスビート ロマンスビート ```

懸念

brands.csvのイメージ

key,name,label,name_kana
twinkle_ribbon,Twinkle Ribbon,トゥインクルリボン,とぅいんくるりぼん
sweet_honey,Sweet Honey,スイートハニー,すいーとはにー
:
takanakahiko commented 4 years ago

ブランドをClassにするのは大賛成です〜. 個人的に https://pripara.fandom.com/wiki/Brands みたいに纏まったほうが見やすいかなと思うので.

ただ,移行中に rdflint に怒られる気がするので,やるなら一気にやったほうがいい気がしますね

takanakahiko commented 4 years ago

また,筐体とアニメに跨る概念なので,そこらへんがどうなるか検証が必要かもです. 筐体(プリパラ)だと RONI みたいな,リアル(?)ブランドとかもあるので,そこらへんはブランドデザイナーとか用意できないし...

ちなみに RONI を展開していた会社は倒産しました...南無... https://headlines.yahoo.co.jp/hl?a=20191016-00010000-teikokudb-ind

banjun commented 4 years ago

なるほど~必須のカラムというのもないので,ブランドによってはあるなしの項目はいいんじゃないですかね。

筐体とアニメにまたがるので影響範囲がどこまであるかは知見がほしい。現存するデータ上はアイテムとキャラクターに影響すると思われる。 現状の prism:brand のカラムのまま,値がブランドClassだったり文字列だったりするとおかしいし(?見方によってはおかしくもない?例だと「ブランドなし」ってどうしよう?とか),ブランドClass参照に機械的に置換えたらブランドClassの定義がなかったりするとrdflintにかかるか,かからなくても未定義の参照になってしまうので,そのへんはまぁ,人力も混じえてガッとやるしかない,んですかね。。

takanakahiko commented 4 years ago

そもそも列挙するタイプの問い合わせに対して十分なデータを用意し切れていないところは、PrismDB全体の問題であってbrandだけでもないので、空欄があったりすること自体は問題ない気がしてきました。

値がブランドClassだったり文字列だったりするとおかしいし

これを許容できれば気楽に移行できる気がしてきました。最初は2つのパラメータを持つことにして、ある程度すべてClass側に移行できれば文字列のやつを外しちゃうとか。