A Special Interest Group on Wikipedia Mining
38.107.191.112
このIP利用者の会話
ログイン
ソースを表示
本文
ノート
ソースを表示
履歴
Wikipedia API
のソース
以下に示された理由により、ページの編集を行うことができません:
この操作は、
登録利用者
のグループに属する利用者のみが実行できます。
このページのソースを閲覧し、コピーすることができます:
== 概要 == "Wikipedia API beta"は,[[Wikipediaシソーラス]]や[[Wikipediaオントロジ]]などのプロジェクトで提供しているデータにアクセスするためのXML Webサービスを提供します.WSDLは以下のURLからアクセスできます.現在,日本語と英語に対応しています. http://dev.wikipedia-lab.org/WikipediaOntologyAPIv3/Service.asmx?WSDL このWSDLにWebサービスへのアクセス方法が記述されているため,自分のクライアントプログラム(デスクトップアプリケーション,Webアプリケーションともに)で利用することができます. == Visual Studio .net (C#)での利用 == まずはじめに,メインメニューから「プロジェクト」→「Web参照の追加」をクリックします. [[Image:Getting_vs1.png]] 次に,以下のURLをテキストボックスに入力し,「参照の追加」ボタンをクリックします. http://dev.wikipedia-lab.org/WikipediaOntologyAPIv3/Service.asmx?WSDL [[Image:Getting_vs2.png]] これで準備は終了です.[[Wikipediaシソーラス]]を検索し,語彙「Microsoft」に関係する語のリストを抽出する簡単なコード例は以下のとおりになります. org.wikipedia_lab.Service service = new org.wikipedia_lab.Service(); uint iID = service.GetTopCandidateIDFromKeyword("Microsoft", "English"); DataSet ds = service.GetThesaurusDS(0, iID, 0, "English"); MessageBox.Show(ds.GetXml()); 日本語のシソーラスからデータを獲得するには,「English」の部分を「Japanese」に変更します.また,データはDataSetとして返されるため,「GridView」や「DataList」といったコントロールに簡単にバインドして利用することができます.例えば,以下のとおりです. DataList1.DataSource = ds; DataList1.DataBind(); == Javaでの利用 == まず,[http://ws.apache.org/axis2/index.html Apache Axis2]からApache Axis2/Javaをダウンロードします.ダウンロードしたファイルを解凍すると,binフォルダ下に複数のスクリプトが提供されており,この中のwsdl2java.shかwsdl2java.batを使うことで,WSDLからJavaのソースコードを生成することができます. [[Image:Apache-axis2-folder.png]] 使い方は,コマンドライン中のbinフォルダにおいて,以下のコマンドを使用することで,Javaのソースコードを含むフォルダsrcとビルドファイルbuild.xmlが生成することができます. wsdl2java.bat -uri <nowiki>http://dev.wikipedia-lab.org/WikipediaOntologyAPIv3/OpenService.asmx?wsdl</nowiki> -p org.wikipedia.lab -pオプションは生成したJavaのパッケージ指定であり,詳細は[http://ws.apache.org/axis2/1_4_1/installationguide.html#standalone4 こちら]をご覧ください.以下,生成されたソースはorg.wikipedia.lab以下に生成されているものとして話を進めます.[http://www.jajakarta.org/ant/ Apache Ant]を用いることで生成したビルドファイルbuild.xmlからjarファイルを作成することができ,この作成したjarファイルと解凍したApache Axis2のlibフォルダ内のjarファイルのパスを通すことで,生成したクラスを使用することが可能になります.以下,生成したクラスからWikipedia APIを使用するソースコード例です. import org.wikipedia.lab.*; import org.wikipedia.lab.OpenServiceStub.*; import java.rmi.RemoteException; public class OpenServiceTest { /** * Microsoftを含む概念に対して,Wikipedia Thesaurusから得られた * 関連語とその関連度を表示する。 */ public static void main(String[] args) throws RemoteException { OpenServiceStub oss = new OpenServiceStub(); // GetCandidatesFromKeywordサービスの引数 GetCandidatesFromKeyword keyword = new GetCandidatesFromKeyword(); keyword.setKeyword("Microsoft"); keyword.setLanguage("English"); // GetCandidatesFromKeywordサービスの実行 GetCandidatesFromKeywordResponse keywordResponse = oss.GetCandidatesFromKeyword(keyword); // GetCandidatesFromKeywordサービスの返り値からArrayOfWikipediaArticleを取得 ArrayOfWikipediaArticle wArticles = keywordResponse.getGetCandidatesFromKeywordResult(); for (WikipediaArticle wArticle : wArticles.getWikipediaArticle()) { System.out.println("Article Name:" + wArticle.getName()); // GetThesaurusサービスの引数 GetThesaurus getThesaurus = new GetThesaurus(); getThesaurus.setIType(0); getThesaurus.setIFrom(wArticle.getID()); getThesaurus.setLanguage("English"); // GetThesaurusサービスの実行 GetThesaurusResponse thesaurusResponse = oss.GetThesaurus(getThesaurus); // GetThesaurusサービスから得られた関連語と関連度を出力 System.out.println("Associated Terms:"); ArrayOfRelatedArticle rArticles = thesaurusResponse.getGetThesaurusResult(); for (RelatedArticle rArticle : rArticles.getRelatedArticle()) { System.out.println("\t" + rArticle.getName() + "\t" + rArticle.getScore()); } } } } == PHPでの利用 == == Perlでの利用 ==
Wikipedia API
に戻る。
ページトップ
案内
メインページ
Wikipediaマイニング
Wikipediaシソーラス
Wikipedia API
Wikipedia翻訳辞書
ビジュアライザー
論文一覧
ツールボックス
リンク元
関連ページの更新状況
特別ページ
検索