User:Neko Knight/Semantic MediaWiki: Difference between revisions
Neko Knight (talk | contribs) (Created page with "== Semantic MediaWiki (SMW) == このページはセマンテック メディアウィキについて調べたことを、自分が理解するために書いています。<br /> ユーザーが簡単にデータの入力を行える。拡張機能Cargoに似ている。<br /> Moduleとかにデータを入れる形式だと知識がないと書き込めず、履歴の比較をしないとどのデータが変更されたか分からない。<br /> 個別ページに...") |
Neko Knight (talk | contribs) mNo edit summary |
||
| Line 26: | Line 26: | ||
* [https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki_-_cover_page_(ja) Semantic_MediaWiki] | * [https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki_-_cover_page_(ja) Semantic_MediaWiki] | ||
* [https://www.semantic-mediawiki.org/wiki/Help:User_manual/ja 利用者マニュアル] | * [https://www.semantic-mediawiki.org/wiki/Help:User_manual/ja 利用者マニュアル] | ||
* [https://www.semantic-mediawiki.org/wiki/Help:Properties_and_types プロパティと種類] | |||
* [https://www.semantic-mediawiki.org/wiki/Help:%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%A8%E5%9E%8B プロパティのデータ型] | * [https://www.semantic-mediawiki.org/wiki/Help:%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%A8%E5%9E%8B プロパティのデータ型] | ||
* [https://www.semantic-mediawiki.org/ | * [https://www.semantic-mediawiki.org/wiki/index.php?title=Special%3ASearch&search=Demo%3A&fulltext=Search デモ] | ||
* [https://www.semantic-mediawiki.org/ | * [https://www.semantic-mediawiki.org/wiki/Help:Displaying_information フォーマット] | ||
* [https://www.semantic-mediawiki.org/wiki/Help:Inline_queries インラインクエリ | * [https://www.semantic-mediawiki.org/wiki/Archive:Template_format テンプレートフォーマット] | ||
* [https://www.semantic-mediawiki.org/wiki/Help:Inline_queries インラインクエリ] | |||
* [https://www.semantic-mediawiki.org/wiki/Help:Result_formats 結果の形式] | |||
* [https://www.semantic-mediawiki.org/wiki/Help:Table_format テーブル形式] | |||
</div> | </div> | ||
| Line 35: | Line 39: | ||
=== データの入力 === | === データの入力 === | ||
# | # プロパティページを作成する。※記事を作成してすぐに使用できません。 | ||
# データ型を指定する。 | # データ型を指定する。 | ||
# データを入力する記事にプロパティを使ったタグ、および<code>#set</code>でデータを入れる。 | # データを入力する記事にプロパティを使ったタグ、および<code>#set</code>でデータを入れる。 | ||
==== データ型の指定 ==== | |||
プロパティのページ名はProperty:の接頭辞をつける。そのページの中に以下のデータ型を一つだけ書く。 | |||
<pre>[[Has type::Numper]]</pre> | |||
<pre>[[Has type::Text]]</pre> | |||
<pre>[[Has type::Boolean]]</pre> | |||
など... | |||
==== タグで入力 ==== | ==== タグで入力 ==== | ||
タグで入力すると、ページに表示される。<br /> | |||
例えば豪華な宝箱の入手先がネフィアの主だとして、豪華な宝箱のページに…<br /> | 例えば豪華な宝箱の入手先がネフィアの主だとして、豪華な宝箱のページに…<br /> | ||
'''Syntax''' | '''Syntax''' | ||
<pre>[[Acquisition Method::ネフィアの主]]から入手できる。</pre> | <pre>[[Acquisition Method::ネフィアの主]]から入手できる。</pre> | ||
'''Result'''<br /> | '''Result'''<br /> | ||
ネフィアの主から入手できる。 | ネフィアの主から入手できる。<br /> | ||
'''Data'''<br /> | |||
ネフィアの主 | |||
==== タグで入力2 ==== | |||
タグで入力すると、ページに表示される。データに挿入されるものと表示されるものを分けることができる。<br /> | |||
'''Syntax''' | |||
<pre>それは[[Fireproof::true|燃える。]]</pre> | |||
'''Result'''<br /> | |||
それは燃える。<br /> | |||
'''Data'''<br /> | |||
true | |||
==== set関数で入力 ==== | ==== set関数で入力 ==== | ||
set関数で入力すると、ページには表示されない。<br /> | |||
例えば重さが123sだったとして…<br /> | 例えば重さが123sだったとして…<br /> | ||
'''Syntax''' | '''Syntax''' | ||
<pre>{{#set:Weight=123}}s</pre> | <pre>{{#set:Weight=123}}s</pre> | ||
'''Result'''<br /> | '''Result'''<br /> | ||
s<br /> | |||
'''Data'''<br /> | |||
123 | |||
==== set関数で入力 (連続) ==== | ==== set関数で入力 (連続) ==== | ||
'''Syntax''' | '''Syntax''' | ||
<pre>{{#set:Acquisition Method=あああ,いいい|+sep=,}}</pre> | <pre>{{#set:Acquisition Method=あああ,いいい|+sep=,}}</pre> | ||
<pre>{{#set: | <pre>{{#set:Acquisition Method=あああ|Acquisition Method=いいい}}</pre> | ||
<pre>{{#set: | <pre>{{#set:Acquisition Method=あああ|Use=ううう}}</pre> | ||
'''Result'''<br /> | '''Result'''<br /> | ||
空白 | 空白 | ||
| Line 66: | Line 90: | ||
=== データを呼び出す === | === データを呼び出す === | ||
パーサー関数 | パーサー関数 | ||
<code>#show</code>, <code>#ask</code>, <code>#concept</code> | <code>#show</code>, <code>#ask</code>, <code>#concept</code>など | ||
==== インライン ==== | ==== インライン ==== | ||
ページを指定して、指定プロパティの値を呼び出す<br /> | |||
'''Syntax''' | '''Syntax''' | ||
<pre>{{#show: Elin:金塊|?Weight}}</pre> | <pre>{{#show: Elin:金塊|?Weight}}s</pre> | ||
'''Result'''<br /> | '''Result'''<br /> | ||
{{#show: Elin:金塊|?Weight}} | {{#show: Elin:金塊|?Weight}}s | ||
==== リスト ==== | ==== リスト ==== | ||
カテゴリを絞って、複数のプロパティの値をリスト形式にして呼び出す。<br /> | |||
'''Syntax''' | '''Syntax''' | ||
<pre>{{#ask: | <pre>{{#ask: | ||
| Line 93: | Line 119: | ||
==== プレーンリスト ==== | ==== プレーンリスト ==== | ||
カテゴリを絞って、指定プロパティの値をプレーンリスト形式にして呼び出し、呼び出したあとに指定のテキストを挿入する。<br /> | |||
'''Syntax''' | '''Syntax''' | ||
<pre>{{#ask: | <pre>{{#ask: | ||
| Line 114: | Line 141: | ||
==== ul(リスト) ==== | ==== ul(リスト) ==== | ||
カテゴリを絞って、指定プロパティの値をリスト形式かつclassを指定して呼び出す。<br /> | |||
'''Syntax''' | '''Syntax''' | ||
<pre>{{#ask: | <pre>{{#ask: | ||
| Line 133: | Line 161: | ||
==== テーブル ==== | ==== テーブル ==== | ||
カテゴリを絞って、複数のプロパティ値をテーブル形式かつメインラベルを非表示、ソートを数字形式、最大表示を5、classを指定、ヘッダーをプレーンにして呼び出す。<br /> | |||
'''Syntax''' | '''Syntax''' | ||
<pre>{{#ask: | <pre>{{#ask: | ||
| Line 140: | Line 169: | ||
|?Full Name=名前 | |?Full Name=名前 | ||
|?Desc=説明 | |?Desc=説明 | ||
|format=table | |||
|mainlabel=- | |mainlabel=- | ||
|sort=Sort Number | |sort=Sort Number | ||
|limit=5 | |limit=5 | ||
|class=sortable wikitable | |class=sortable wikitable | ||
|headers=plain | |headers=plain | ||
}}</pre> | }}</pre> | ||
| Line 156: | Line 184: | ||
|?Desc=説明 | |?Desc=説明 | ||
|mainlabel=- | |mainlabel=- | ||
|sort=Sort Number | |sort=Sort Number | ||
|limit=5 | |limit=5 | ||
Latest revision as of 12:29, 13 January 2025
Semantic MediaWiki (SMW)
このページはセマンテック メディアウィキについて調べたことを、自分が理解するために書いています。
ユーザーが簡単にデータの入力を行える。拡張機能Cargoに似ている。
Moduleとかにデータを入れる形式だと知識がないと書き込めず、履歴の比較をしないとどのデータが変更されたか分からない。
個別ページにプロパティへの代入タグを使うことで、データをいつでも変更でき、ページのデータが更新されたかなど履歴に残りやすい。更新頻度が高い情報に便利なウィキシステム。
使い方としては、個別ページでデータ入力を行い、まとめページにその結果を出力する(主に表)。そうすることで、"データ"の修正を行う際に個別ページの修正を行えば、まとめページの修正を行わなくてよい。
また、データを取得しやすいため、表にしてデータを出力することで、どのページで何のデータを入力し忘れているかなどが分かりやすい。ひとつひとつ個別ページに入力の確認をしにいかなくてよい。
気になる点としては、特に日本語と中国の(簡・繁)の字が合致する場合に、データの格納庫はページなので「魔法」というページを作る場合どうするかが気になる。
現在日本語ページ群は/jaに入力しないで(リダイレクトさせて)いる。多言語化を目指すなら、被る字を考慮して/ja /zhとかでページ分けが必要になりそうだと思っている。
プロパティ問題。主に先行者に倣う方向でいきたいが、重複してしまった場合や使い方の統一化は議論(トーク)したほうがよいかと。
同名ページ問題。同名のアイテムが数多くあるため、個別にデータが入力し辛い場合がありそう。おそらく"〇〇 2"とかでページを作って、表示ページネームを変更する方法でいけそうではある。
そもそもベータからあまり使われてない問題。こんなシステム知らんがなが大多数。私も知らなかった。
SMW型Infoboxを完成させてアイテムページをどんどん作ればアイテム系の表データは作りやすくなる。とりあえず色々試してみる。
リンク
- プロパティ : データを収めるタグのようなもの。属性ともいう。
- データ型 : 収めたデータの型。数字ならNumber。文章ならText。真偽ならBoolean ...など
- データの呼び出し : 呼び出したいデータを入力して結果を得られる。かつ、指定形式でダウンロードできる。
使い方
データの入力
- プロパティページを作成する。※記事を作成してすぐに使用できません。
- データ型を指定する。
- データを入力する記事にプロパティを使ったタグ、および
#setでデータを入れる。
データ型の指定
プロパティのページ名はProperty:の接頭辞をつける。そのページの中に以下のデータ型を一つだけ書く。
[[Has type::Numper]]
[[Has type::Text]]
[[Has type::Boolean]]
など...
タグで入力
タグで入力すると、ページに表示される。
例えば豪華な宝箱の入手先がネフィアの主だとして、豪華な宝箱のページに…
Syntax
[[Acquisition Method::ネフィアの主]]から入手できる。
Result
ネフィアの主から入手できる。
Data
ネフィアの主
タグで入力2
タグで入力すると、ページに表示される。データに挿入されるものと表示されるものを分けることができる。
Syntax
それは[[Fireproof::true|燃える。]]
Result
それは燃える。
Data
true
set関数で入力
set関数で入力すると、ページには表示されない。
例えば重さが123sだったとして…
Syntax
{{#set:Weight=123}}s
Result
s
Data
123
set関数で入力 (連続)
Syntax
{{#set:Acquisition Method=あああ,いいい|+sep=,}}
{{#set:Acquisition Method=あああ|Acquisition Method=いいい}}
{{#set:Acquisition Method=あああ|Use=ううう}}
Result
空白
データを呼び出す
パーサー関数
#show, #ask, #conceptなど
インライン
ページを指定して、指定プロパティの値を呼び出す
Syntax
{{#show: Elin:金塊|?Weight}}s
Result
0.0s
リスト
カテゴリを絞って、複数のプロパティの値をリスト形式にして呼び出す。
Syntax
{{#ask:
[[Category:Elin Gods]]
[[Category:JA]]
|?Name
|format=list
}}
Result
悪戯のキズアミ, 癒しのジュア, 風のルルウィ, 機械のマニ, 元素のイツパロトル, 幸運のエヘカトル, 収穫のクミロミ, 戦禍のイーヴァン, 地のオパートス, 調和のエリン, 月影のホロメ, モンスター/神/庭の主 (Name: 『庭の主』), 忘却のヤカシャ, 無のエイス, モンスター/神/イノス=トゥルス (Name: 裏切りの公子『イノス=トゥルス』)
プレーンリスト
カテゴリを絞って、指定プロパティの値をプレーンリスト形式にして呼び出し、呼び出したあとに指定のテキストを挿入する。
Syntax
{{#ask:
[[Category:Elin Gods]]
[[Category:JA]]
|?Name
|format=plainlist
|sep=・
|outro= 以上
}}
Result
悪戯のキズアミ・癒しのジュア・風のルルウィ・機械のマニ・元素のイツパロトル・幸運のエヘカトル・収穫のクミロミ・戦禍のイーヴァン・地のオパートス・調和のエリン・月影のホロメ・モンスター/神/庭の主 (Name: 『庭の主』)・忘却のヤカシャ・無のエイス・モンスター/神/イノス=トゥルス (Name: 裏切りの公子『イノス=トゥルス』) 以上
ul(リスト)
カテゴリを絞って、指定プロパティの値をリスト形式かつclassを指定して呼び出す。
Syntax
{{#ask:
[[Category:Elin Gods]]
[[Category:JA]]
|?Name
|format=ul
|class=mw-collapsible mw-collapsed
}}
Result
- 悪戯のキズアミ
- 癒しのジュア
- 風のルルウィ
- 機械のマニ
- 元素のイツパロトル
- 幸運のエヘカトル
- 収穫のクミロミ
- 戦禍のイーヴァン
- 地のオパートス
- 調和のエリン
- 月影のホロメ
- モンスター/神/庭の主 (Name: 『庭の主』)
- 忘却のヤカシャ
- 無のエイス
- モンスター/神/イノス=トゥルス (Name: 裏切りの公子『イノス=トゥルス』)
テーブル
カテゴリを絞って、複数のプロパティ値をテーブル形式かつメインラベルを非表示、ソートを数字形式、最大表示を5、classを指定、ヘッダーをプレーンにして呼び出す。
Syntax
{{#ask:
[[Category:Elin Items]]
[[Category:JA]]
|?Sprite=画像
|?Full Name=名前
|?Desc=説明
|format=table
|mainlabel=-
|sort=Sort Number
|limit=5
|class=sortable wikitable
|headers=plain
}}
Result
| 画像 | 名前 | 説明 |
|---|---|---|
| ★《クミロミサイズ》 | クミロミより授かった収穫の力を宿した大鎌だ。 | |
| ★《大地の大槌》 | オパートスより授かった大地の力を宿した槌だ。 | |
| ★《エレメンタルスタッフ》 | イツパロトルより授かった元素の力を宿した神杖だ。 | |
| ★《ウィンチェスター・プレミアム》 | マニより授かった機械の力を宿した散弾銃だ。 | |
| ★《虚無の環》 | マニより授かった機械の力を宿した外套だ。 | |
| ... further results | ||