抽象ウィキペディア/構成要素

This page is a translated version of the page Abstract Wikipedia/Components and the translation is 92% complete.

このページは抽象ウィキペディアの開発計画の一部です。
先行のページは「抽象ウィキペディアのアーキテクチャ」。

ウィキメディアのプロジェクト群を3つの場で発展させます。

  1. 新しい能力の提供先プロジェクトとして、ウィキペディアのローカル版およびその他のクライアント群。
  2. ウィキデータで、「コンテンツ」(抽象ウィキペディア) を作成。
  3. 新規プロジェクトで、ウィキファンクションズ、関数ライブラリの作成を目的とする。

ローカルのウィキペディア群向けの展開

個別のローカルのウィキペディアはコミュニティごとに以下の選択肢3件から決定します。

  1. 絶対的に抽象ウィキペディアと統合。
  2. 相対的に抽象ウィキペディアと統合。
  3. 抽象ウィキペディアとの統合はしない。

ローカルのウィキペディア群への展開には次の機能性を伴います。特別ページの新設1件、 新機能2件、マジックワードの追加3件。

F1: 特別ページの新設:Abstract

特別ページをローカルのウィキペディアに新設し、ウィキデータの項目接頭辞付きの Q-ID またはローカルの記事名を使い、オプションで言語指定をします(既定では当該のローカルのウィキペディアの言語)。その特別ページの URL の記述は以下の例を考えています。

https://en.wikipedia.org/wiki/Special:Abstract/Q62
https://en.wikipedia.org/wiki/Special:Abstract/Q62/de
https://en.wikipedia.org/wiki/Special:Abstract/San_Francisco
https://en.wikipedia.org/wiki/Special:Abstract/San_Francisco/de

もし特別ページの呼び出しに属性を使わないとフォームが表示され、Q-ID と言語を選ばせます(既定の選択肢はでローカルの言語)。

特別ページは指定された Q-ID のコンテンツを表示するか、指定の言語で処理された記事とサイトリンクを張った Q-ID を返します。

F2: 記事の明示的な作成

記事の明示的な作成により、ローカルのウィキペディアが抽象ウィキペディアとの統合を望む場合の流れを紹介します。

投稿者はウィキデータを開き、ターゲットのウィキペディアにまだサイトリンクがない項目を選びます。まだ存在しないページに対してサイトリンクを作成すると、記事の題名が確定します。 一例として英語で Q62 の記事がまだないならサイトリンクもないため、en.wikipedia に対してサイトリンクの San_Francisco を作成するという手順です。

ローカルのウィキペディアではメイン名前空間に仮想の記事を生成します。その記事は上記の特別ページで配布するものと内容は同じでも、生成する場所は通常の URL を当てます。

https://en.wikipedia.org/wiki/San_Francisco

つまりその記事へのリンクは、(生成により)新しく付いた名前が使えるため他のリンクと見た目は同じで(訳注:前述の例を使うなら)[[San Francisco]] と書くと、リンク先に仮想の記事があるため青リンクになるなどです。その仮想の記事も索引に拾い、当該のウィキペディア、あるいは外部の検索エンジンが使えるようにします。

仮想記事の編集ボタンを押すと(訳注:選択肢が複数あり)、ウィキデータへ進んで抽象的なコンテンツContentを編集する(推奨)、もしくはローカルの言語でゼロから新規記事を書き起こす、または現行の訳文をそのままテキスト化してから、ローカルで編集をするか選べます。

もしローカルにあるサイトリンクを含む記事を削除すると、仮想記事が自動生成されます(記事名は既知でありリンクもわかっているから)。

仮想記事を削除するには、ウィキデータからサイトリンクを除去する必要があります。

ローカルのウィキペディアの改変は明確に行うべきで、だからこそこれを絶対的な記事生成のオプションと名付けました。ローカルのウィキペディア群でこれを既定の方法にするつもりで、コミュニティが相対的な記事作成を選ぶか、もしくは統合を選ばない場合は除外します。

関連項目としてこちらの統合に関するトークページも参照してください。

F3: 記事の黙示的な作成

ウィキデータに基づく記事の黙示的な作成に同意する場合、ローカルのウィキペディアでは関数の特別ページからウィキデータの全項目を呼び出すと、指定のウィキデータとのサイトリンクが欠けたものを指定の言語でコンテンツに書き出し、メインの名前空間に存在すると仮想して索引化します。すると検索をかけたとき、メインの名前空間にあると仮想して対象になります。

通常の記事から仮想の記事へのリンクには、新しいマジックワードを導入し、例は F6 LINK_TO_Qを参照してください。ビジュアルなエディタには不可視的に統合が可能です。

これはコミュニティがほとんど手間をかけずに新規記事を増やす方法であり、小規模コミュニティにはよい選択肢かもしれません。

F4: リンクまたはタブ

ローカルのウィキペディアでは、ウイキデータ項目へのリンクが張ってある記事は全て新規にリンクが渡され、ページ上部のタブまたはページ横のサイドバーにリンクが表示されます。するとそのリンクは結ばれた先のウィキデータ項目のコンテンツをローカルの言語で表示します。仮想記事にはこのタブが表示されないものの、編集ボタンを押すと抽象ウィキペディアのコンテンツを直接、改変することになります。

F5: マジックワードの新設:ABSTRACT_WIKIPEDIA

このページとサイトリンクで結ばれた Wikidata 項目のコンテンツContent を処理 Rendering したとき、ウィキ文とマジックワードが置換されます。

マジックワードの使用には、さらに選択できる属性が2件あり、Q-ID と 言語を選べます。Q-ID を示さない場合は既定でサイトリンクを参照して項目Item を選び、Q-ID が決まります。言語を示さない場合は、既定で当該のウィキの言語版と同じになります。

呼び出しの例:

{{ABSTRACT_WIKIPEDIA}}
{{ABSTRACT_WIKIPEDIA:Q62}}
{{ABSTRACT_WIKIPEDIA:Q62/de}}

Q-ID が無指定もしくは既定の場合、エラーメッセージを表示。

のちにこれはコンテンツ Contents から名前付きの節を選択可能にします。

もし抽象ウィキペディアとの統合を選ばなかった場合でも、個別のウィキペディアからこの新しいマジックワードを利用できます。

ご留意点として、マジックワードの導入はまだ設計段階にあるという点です。それを導入しなくても同じ機能が実現できるかどうか、タスク 2.3 で精査する予定です。

このマジックワードは指定の Q-ID とサイトリンクのあるローカルの記事へ、あるいはサイトリンクがないときは指定の Q-ID に対する関数特別ページへリンクを返します。すると記事を書くときに仮想記事へのリンクか使えて、ローカルのコンテンツを新規保存すると自動的に置換されます。

呼び出しの例:

{{LINK_TO_Q:Q62}}

出力

[[San Francisco]]

既存の記事がある場合の出力

[[Special:Abstract/Q62|San Francisco]]

ご留意点として、マジックワードの導入はまだ設計段階にあるという点です。それを導入しなくても同じ機能が実現できるかどうか、タスク 2.3 で精査する予定です。

F7: マジックワードの新設:LAMBDA

これはウィキデータに規定される関数を引数ごと呼び出し、出力結果をページに表示します。

たとえば、次の呼び出し:

{{LAMBDA:capitalize("san francisco")}}

will result in “San Francisco” being outputted on the page (assuming that there is a function that has the local key and with the expected definition and implementation). It uses the language of the local wiki to parse the call.

Consider also the option to call a specific version of a function in order to reduce breakages downstream.

ご留意点として、マジックワードの導入はまだ設計段階にあるという点です。それを導入しなくても同じ機能が実現できるかどうか、タスク 2.3 で精査する予定です。

ウィキデータへの展開

ウィキデータのメイン名前空間には、新規に付属の名前空間を設け、www.wikidata.org/wiki/Q62 形式の項目ページごとにコンテンツ Content ページ www.wikidata.org/wiki/Content:Q62 が付与されます。そのページは抽象的な、言語に中立なコンテンツ Content を載せてあり、編集も管理もできます。

特別ページは他にも必要かもしれません。プロジェクトの第2段階で検討する予定です。ウィキデータのコミュニティから、抽象的なコンテンツの保存先として使う同意を得る必要があり、もし反対された場合には別のプロジェクトを選ぶことになります。

F8: 名前空間の新設:Content

新しい名前空間では、複雑に相互作用のある編集機能を多数用意します。コンテンツ作成と管理用のUXに加え、コンテンツの査読用機能(単言語での閲覧回数など)を提供。主にF11 Function 名前空間の機能のサブセットで構成します。

F9: 新しいデータタイプ:Content

新しいデータタイプには(簡略な)コンテンツがあります。主な使用事例は語彙素のSensesの用語集ならびに項目の説明です。

F10: Sensesの項目と用語集は索引と使用法の解説の対象

項目の解説フィールドと語義の注解に索引付をして線形構造を明示し、項目の解説フィールドではラベル/解説のペアに重複がないよう検知します。いずれも手動で上書きを認めます。

他のウィキメディアのプロジェクト群への展開

マジックワードのF7 LAMBDAF5 ABSTRACT_WIKIPEDIA限定で配備し、他のウィキメディアのプロジェクト群では他の機能は無用と判断して導入対象外です。この原則は当該のコミュニティのご要望により変わることがあります。

新規の関数ウィキの展開

ウィキファンクションズはウィキメディアの新規プロジェクトとしてドメインを新設します。またウィキラムダ のメインの名前空間は新規に Function 名前空間とします。ウィキファンクションズのその他はウィキメディアのウィキの定型に従います。

F11: 名前空間の新設:Function

Allowing for the storage of functions, types, interfaces, values, tests, etc. There is a single namespace that contains constants (such as types or single values), function interfaces, function implementations, and thus also Constructors and Renderers. The entities in this namespace are named by Z-IDs, similar to Q-IDs of Wikidata items, but starting with a Z and followed by a number.

Z名前空間には多数の様々な種別のエンティティがあります。これらは、正数の引数を持つ旧来の関数と同様、種別と他の制約(基本的に引数の無い関数)を含みます。

貢献者は Function 名前空間内に関数の種別を新規作成して使うことができます。

関数は引数を持てます。引数を与えられた関数は実行して関数の定義により与えられた種別の値を結果で返します。

The Function namespace is complex, and will have very different views depending on the type of the function, i.e. for interfaces, implementations, tests, types, values, etc. there will be different UX on top of them, although they are internally all stored as Z-Objects. Eventually, the different views are all generated by functions in Wikifunctions.

It will be possible to freeze and thaw entities in the Function namespace. This is similar to a protected page, but only restricts the editing of the value part of the entity, not the label, description, etc.

F12: 特別ページの新設と API 新モジュール

New Special pages and API modules will be created to support the new Function namespace. This will include, in particular, a special page and an API module that allows to evaluate functions with function parameters given. Besides that it will include numerous special pages and APIs that will support the maintenance of the content (such as searches by number and types of parameters, pages with statistics of how often certain implementations are called, test pages, etc.). The goal is to implement as many as possible of these inside Wikifunctions.


後行のページは「抽象ウィキペディアの構成要素」。

関連項目