API:Query/ja

モジュールを使い、特定のウィキとそこに収載されたデータから情報を取得します. 指定したページのウィキテキスト、複数ページのリンクやカテゴリ、またため必要なトークンを得ることができます.



APIの説明文書


クエリ モジュール群
クエリ モジュールには 3 件の下位モジュールがあります (クエリ モジュールとも呼ぶ):


 * ウィキとログイン利用者に関する.
 * ページの版や内容を含む (属性).
 * 特定の基準に適合するページの.

例


例1: ページの指定
メタやリストクエリと比べると、プロパティクエリ モジュールは全て複数のページを処理でき、以下のいずれかの方法で対象ページを指定します.


 * ページ名を指定するには パラメータを使う. 例＝.
 * ページ ID の指定には パラメータを使う. 例＝.
 * 更新 ID の指定には パラメータを使う. 例＝ . 大部分のクエリモジュールでは更新 ID を対応するページ ID に変換します.  実際に更新 ID そのものを使うのは、のみです.
 * ジェネレータを使用.



レスポンス


例2: タイトルの平準化
タイトルの平準化により、ページ名を基準系に従って変換します.

簡単に言うと1文字目を大文字に、アンダーバー「 _ 」「半角スペースに、またそのウィキに適したページ名に地域化することです.



レスポンス


例3: ページ名がない、あるいは無効
存在しないもしくは無効なページ名は、 または 属性を付けて返してきます.

数字の並びキーをサポートする出力フォーマットでは、存在しないもしくは無効なページ名には、マイナスのページIDを与えます.

In some cases, a title can be viewed by a user but cannot be accessed by the API, such as pages that mirror content from another wiki. These titles will have a  attribute set in the response.



レスポンス


例4: 継続型のクエリ
もしクエリに対して返した分以外にもデータがある場合には 属性が付いており、追加のデータがあると示します.



レスポンス
残りのデータを取得するには、元のリクエストにその値を追加します:



レスポンス


例5: Batchcomplete
API は 要素を返し、現在の項目群に対するデータは全て返したと示します.

以下のクエリに対して をくわえてあるのは、画像3点全てにデータを返したと示しています.

次の継続クエリは、次の画像3点を対象にデータを返します.



レスポンス


例6: ジェネレータ
複数ページからデータを得るには、ジェネレータを使います.

例えば特定のカテゴリ内の複数ページからデータを得るには、クエリ を実行してからその結果のページにもう一度、クエリ をかけるのではなく、 を使い2件のAPIを組み合わせます.

一覧モジュールをジェネレータとして使う場合は、対象ページの指定は不要です.

ただし属性のモジュールには ジェネレーターの作業対象の ページを指定する必要があります.

例えばメインページのリンク先のページを読み込むには、 を使用します.

パラメーターをジェネラーターに送るには、接頭辞  が必須です. 一例として  を使う場合は   を使い、  は使いません.

下記のクエリ見本では、メインの名前空間から「Ba」で始まるページの最初の3件について、リンクとカテゴリを取得します.



Continuing queries
Very often you will not get all the data you want in one API query. When that happens the API result indicates there is more data.

Because there are more data matching the query, the API result includes a  element. If you want further data, you would add its values (in the example,  and  ) to the original request to get the next set of results. You continue to do this until an API result does not have a  element, indicating there are no more data matching the query.

Here is Python code showing how to iterate over query results (using the python requests lib). Note you should not manipulate or depend on any specifics of the values returned inside the  element, as they may change.

batchcomplete
When you make an API request using a generator together with properties, the API result may signal to continue because there are more properties to retrieve for the pages so far, or because there are more pages from the generator, or both. From version 1.25 onwards, the API returns a  element to indicate that all data for the current "batch" of pages has been returned. This can be useful to avoid building a combined result set for thousands of pages when using a generator together with prop modules that may themselves need continuation.

Backwards compatibility of continue
From MediaWiki 1.21 to 1.25, it was required to specify  (i.e. with an empty string as the value) in the initial request to get continuation data in the format described above. Without doing that, API results would indicate there is additional data by returning a  element, explained in Raw query continue. Prior to 1.21, that raw continuation was the only option.

If your application needs to use the raw continuation in MediaWiki 1.26 or later, you must specify  to request it.



起こりうる警告
<span id="Parameter_history">

パラメーターの履歴

 * v1.21:  を導入しました
 * v1.24:  を導入しました (note raw continuation was the default behavior until v1.26)

<span id="Additional_notes">

追加的な注記

 * タイトルの指定に  または   を指定できる件数の上限は、クエリ１回あたりタイトル数 50 件、もしくは   権限に対して500件です.
 * 単一のリクエストで期待する結果を得るには、例えば のように、複数のクエリを組み合わせます.
 * Generators always pass page titles to the query module. Unlike lists (which may include additional data by default), generators should not output any information themselves, unless when explicitly requested via the generator module's query parameters.

<span id="Resolving_redirects">

リダイレクトの解消
リダイレクトは自動的に解消されるため、多くの場合、入力した題名の代わりにリダイレクト先を返します. リダイレクトが存在する場合は必ず  と   属性を、また特定の節へのリダイレクトの場合には   属性を内包します.

正常化とリダイレクトは同時に実行可能です. 副次のリダイレクトの事例では解消の対象はすべてのリダイレクトであり、循環リダイレクトでは「ページ」節に必ずしも固有のページを示さないことがあります (下記も参照. ) リダイレクトを解消する場合、パラメーター 、また変更履歴IDを生成する生成器と組み合わせはできません. 実行しようとすると警告を表示し、指定した履歴IDのリダイレクトは解消しません.

下記の例でパラメーター の挙動を説明します.

<span id="See_also">

関連項目

 * - クイック スタート ガイド.
 * - パラメーター の使い方の情報を掲載.