prickathon / prismdb Goto Github PK
View Code? Open in Web Editor NEWプリティーシリーズの情報をまとめる同人プラットフォームです
Home Page: https://prismdb.takanakahiko.me
プリティーシリーズの情報をまとめる同人プラットフォームです
Home Page: https://prismdb.takanakahiko.me
第一期でmake itをライブとして歌っている回を調査しました。
1, make_it, laala_and_mirei
2, make_it, laala_and_mirei
3, make_it, laala_and_mirei
4, make_it, laala_and_mirei
5, make_it, laala_and_mirei
9, make_it, laala_and_sophie
もともと,「 https://prismdb.takanakahiko.me/rdfs/${クラス名を小文字にして末尾にsをつけたもの}
へアクセスするとクラスのインスタンス一覧を参照できる」みたいな仕様になっていました.Characterのインスタンス一覧を表示したい場合は https://prismdb.takanakahiko.me/rdfs/characters
です.
でも,そもそも複数形への変換は必ずしもsをつけるだけでもないので,あまり良くない.
実際, Series
が追加された際にパスの変換にバグが発生した.
https://prismdb.takanakahiko.me/rdfs/${クラス名を小文字にしたもの}
へアクセスするとクラスのインスタンス一覧を参照できる」に変更したいhttps://prismdb.takanakahiko.me/rdfs/${クラス名を小文字にしたもの}/${key}
にしたい同じく8話の太陽のflare sherbetもライブ中継のみでした。
対象秒数 8:10~8:17
ライブを行った記録として保存してありますが、
この回ではみれいがプリパス内でそふぃ様のライブ中継を見ていただけのようです。
1:10~1:20の間にアウトロしか曲が流れておらず、ライブ記録としては不適切かもしれません。
でび&えん Reversible-Ring、HAPPY ぱ LUCKYは劇中内の番組で
紹介される形でした。
こんなの imas/imasparql#243
ただ,現状ではうまくいかなかった。もしかしてPOST受けないとだめ? (shields.ioの挙動をよくわかっていない)
Song, Character, Live, Episode 等についてRDFを生成するためのファイルを作成する必要がある
足りていないファイル( 参考 : https://github.com/prickathon/prismdb/blob/master/csv2rdf/README.md )
関連 : #26
こちらは単にcsvから抜けていました。
ここでやろうとしています
https://github.com/prickathon/prismdb/tree/e48ce83393554d895551dcc378e19aa7d22baf7c/_data/ontology
Line 11 in e48ce83
考えていることろ
議論したいところ
dataCsvPath
を配列として指定可能にすると良さそう現在,パラメータに対して複数の値があるときに正しく表示されない不具合がある.
例 : https://prismdb.takanakahiko.me/api/series/pripara
{
"http://www.w3.org/1999/02/22-rdf-syntax-ns#type": "https://prismdb.takanakahiko.me/prism-schema.ttl#Series",
"hasEpisode": "https://prismdb.takanakahiko.me/rdfs/episode/pripara_99",
"タイトル": "プリパラ"
}
本来であれば,hasEpisode
は配列であるべきなので,複数のObject(目的語)がある際は配列として取り扱う必要がある.
https://prismdb.takanakahiko.me/rdfs の内容が無い.
Song, Character, Live Episode 等のクラスを列挙したい.
それぞれを,クラスのインスタンス一覧にしたい.
例えば Character
をクリックすると https://prismdb.takanakahiko.me/rdfs/characters
(Character一覧) へ飛ぶ
考えること
現在は
と,一定の規則はあるものの,初心者に分かりづらい構造となっている
ファイルを,クラス別にディレクトリに格納したい.
みたいな感じ.
https://prismdb.takanakahiko.me (トップページ)の内容が無い(というかテンプレートのまま弄っていない)
考えること
・marble_make_up_a_ha_ha
・pretty_prism_paradise
・no_d_and_d_code
・change_my_world
回想としてフルで流れていました。
また、0-week-oldは冒頭にアカペラで歌っているだけでした。
CSVでデータを編集,そのプルリクをマージした時点でCIでコンバートかけたい.
する
クエリ
PREFIX imas: <https://sparql.crssnky.xyz/imasrdf/URIs/imas-schema.ttl#>
PREFIX prism: <https://prismdb.takanakahiko.me/prism-schema.ttl#>
SELECT distinct (?prism_cv) {
?prism_s prism:cv ?prism_cv.
service <https://sparql.crssnky.xyz/spql/imas/query> {
?imas_s imas:cv ?imas_cv.
}
filter((str(?prism_cv)=str(?imas_cv)))
}
結果
Virtuoso 42000 Error SQ070:SECURITY: Must have select privileges on view DB.DBA.SPARQL_SINV_2
SPARQL query:
define sql:big-data-const 0
#output-format:text/html
PREFIX imas: <https://sparql.crssnky.xyz/imasrdf/URIs/imas-schema.ttl#>
PREFIX prism: <https://prismdb.takanakahiko.me/prism-schema.ttl#>
SELECT distinct (?prism_cv) {
?prism_s prism:cv ?prism_cv.
service <https://sparql.crssnky.xyz/spql/imas/query> {
?imas_s imas:cv ?imas_cv.
}
filter((str(?prism_cv)=str(?imas_cv)))
}
原因と解説 : http://wiki.lifesciencedb.jp/mw/SPARQLthon20/FederatedQueryTips
ただ,上記の解説ではdockerでの運用とデプロイフローの自動化に不向きである.
下記のようなファイルを用意してbatch処理にする必要がある.
参考 : https://github.com/zorino/docker-virtuoso/blob/master/vt-cmds/enable-federated-query.sql
今晩やってみます
_data_/pripara-live.csv
から参照する
sparql が難しいので,REST APIを提供したい.
考えていること
議論したいところ
こちらも冒頭で短いライブ中継のみでした。
実際にはこの話ではドレパがchange my worldを歌っています。
#39 でCSV側にシリーズカラムが足されていますが、CSVを編集しやすくするという観点からは無いほうがいいと思います。RDFに変換する仮定で必要な情報だから付加しているだけであり、CSVとしてはファイル名から明らかで、ただ一種類の値しか入れてはいけない(謎)カラムが増えてしまうので。
例えば、 pripara-episodes.csv
は プリパラシリーズのエピソードを入れるためのCSVで、プリ☆チャンシリーズのCSVはそもそも分かれているため、そのなかでプリパラかプリ☆チャンかどちらのエピソードかを混ぜ書きできるという自由度が要らない、という意図です。(劇場版みたいな細かいのをどうするの?は別途議論あると思いますが)
シリーズ述語の値については、変換側の知識になると思います。現状から素直にいくと、columns定義の設定で、マスターCSVの値を参照するのではなく、直値で "プリパラ"
を埋める設定を書ければ、 pripara-episodes.csv
のシリーズ述語の値はどれもプリパラ、だけの話で済むようになります。
ただし、この先シリーズのRDFを生成するとなると、その生成がやるべきことは
rdfs/series/pripara
とか)となって、ここでシリーズ←→エピソード紐づけができそうなので、この生成を実装するときに、シリーズカラムをCSVから外すようにすれば、それで良さそうかな、と思います。
TBW
songとteamの紐付けを検討する
曲と紐付ける対象が必ずしもチームではない
他は変えず,紐付けるテーブルを
song | vocal |
---|---|
make_it | manaka_laala |
make_it | solami_smile |
make_it | i_ris |
みたいにする.
この場合は vocal がキャラクター,チーム,リアルユニットを許容する
他は変えず,チームテーブルを
key | name |
---|---|
solami_smile | SoLaMi♡SMILE |
manaka_laala | 真中 らぁら |
i_ris | i☆Ris |
みたいにする.
この場合,チームテーブルは,キャラクター,チーム,リアルユニットを許容する
こちらはライブ映像は無く、挿入歌のみでした
普通はRDFで定義する URI がどのクラスのインスタンスであるか定義するらしい
例えば https://prismdb.takanakahiko.me/rdfs/characters/manaka_laala
のクラスは https://prismdb.takanakahiko.me/preds/Character
です.みたいな.
考えている実装方法
xxxx-setting.json
でクラス名を指定する
https://prismdb.takanakahiko.me/sparql/
ここに行って
↓こうやるとそらみスマイルのライブ一覧が出るよ、みたいな事例集ほしいPREFIX prism: <https://prismdb.takanakahiko.me/prism-schema.ttl#> SELECT ?n ?st ?title WHERE { ?live a prism:Live; prism:performer "solami_smile"; prism:songPerformed/prism:name ?title; prism:liveOfEpisode ?ep. ?ep a prism:Episode; prism:話数 ?n; prism:サブタイトル ?st. } ORDER BY ?n
とのご意見を @banjun さんよりいただきました
こちらもフルでライブを行っておりません。
対象秒数2:23~3:03
ファイル分割をしてitem_id順にソートしたらoutfit_idの順番がめちゃくちゃになったので今のうちに整理しておきたい
この回でライブ自体は行っていますが、サビ終わりから曲終了までしか尺がありませんでした。
対象秒数17:44~18:10
問題点
考えていること
xxxx-columns.csv
(カラム定義CSV)にて,その目的語のタイプを指定するcsv2rdf
でURIかリテラルか判断し,RDFへ変換する考えるべきこと
xxxx-columns.csv
で指定?)こちらもCSVから抜けています。
参考リンク: ニコニコ大百科 プリパラの楽曲一覧
セレパラ歌劇団
紫京院ひびき(CV:斎賀みつき)
北条そふぃ(CV:久保田未夢)
東堂シオン(CV:山北早紀)
白玉みかん(CV:渡部優衣) → レオナ・ウェスト(CV:若井友希)
ファルル(CV:赤﨑千夏)
みかんからレオナに変わってるけど、どうデータ持ちましょう?
Relate : prickathon/shop-search#28
店舗のデータを提供したい。
毎回スクレイピングしちゃいかんので、こちらでデータを預かる形式にしたい。
name
とかをLabelにも適用するみたいな...?A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.