MediaWiki API:Queryページから、一度に1つしかリダイレクトを解決できないようです。
このドキュメントには、「以下の例はクエリモジュールを使用していないため、あまり役に立ちませんが、redirectsパラメータがどのように機能するかを示しています」とさえ書かれています。
しかし、複数の結果を返すクエリモジュールを使用して、リダイレクト情報を取得するにはどうすればよいでしょうか。
MediaWiki API:Queryページから、一度に1つしかリダイレクトを解決できないようです。
このドキュメントには、「以下の例はクエリモジュールを使用していないため、あまり役に立ちませんが、redirectsパラメータがどのように機能するかを示しています」とさえ書かれています。
しかし、複数の結果を返すクエリモジュールを使用して、リダイレクト情報を取得するにはどうすればよいでしょうか。
sを返す結果がある場合は、クエリpage
に追加redirects
するだけで、リダイレクトが解決されます。sを返す結果がない場合は、通常、ジェネレーターpage
を使用して結果に変換できます。
たとえば、クエリ
(短縮)のようなものを返します
<api>
<query>
<categorymembers>
<cm pageid="648" ns="0" title="Actress" />
<cm pageid="19887132" ns="0" title="Administratrix" />
</categorymembers>
</query>
</api>
それをジェネレーターに変換すると
あなたが得る
<api>
<query>
<pages>
<page pageid="648" ns="0" title="Actress" />
<page pageid="19887132" ns="0" title="Administratrix" />
</pages>
</query>
</api>
そして今あなたが追加した場合redirects
あなたが得る
<api>
<query>
<redirects>
<r from="Actress" to="Actor" />
<r from="Administratrix" to="Administrator (law)" />
</redirects>
<pages>
<page pageid="21504235" ns="0" title="Actor" />
<page pageid="6676496" ns="0" title="Administrator (law)" />
</pages>
</query>
</api>
prop=redirects
また、任意のジェネレーターで使用できますgenerator=allpages
。これはMW-1.23以降の新機能であり、バグT59057が修正されています。
generator=allpages
最大制限(gaplimit=max
およびrdlimit=max
)で使用しapihighlimits
、権利が利用可能な場合、ArchWiki上のすべてのリダイレクトは単一のクエリで解決されます;)
https://wiki.archlinux.org/api.php?action=query&generator=allpages&gapfilterredir=nonredirects&gaplimit=max&prop=redirects&rdprop = pageid | title | Fragment&rdlimit = max