ウィキデータの API の問題は、クエリ インターフェースがないことです。ID がわかっている場合は、特定のデータ項目の情報を返すだけです。私たちは、十分に強力で拡張可能なクエリ インターフェースをまだ構築できていません。ただし、SPARQL エンドポイントの初期ベータ版があります: https://tools.wmflabs.org/ppp-sparql/。
それが稼働したら、Magnus の WDQ http://magnusmanske.de/wordpress/?p=72のように、これに加えて使いやすいサービスを提供したいと考えています。
(APIに関する具体的な質問に答えるために編集してください:)
私はどこでも検索しましたが、見つからないのは、不自由なフェッチの例だけです
ドキュメントはもっと良いかもしれませんが、https: //www.wikidata.org/wiki/Wikidata:Data_accessは良いスタートです。また、 https://www.wikidata.org/w/api.phpは自己文書化されていることに注意してください。特に、 https://www.wikidata.org/w/api.php?action=help& modules= wbgetentitiesとhttps://www.wikidata.org/w/api.php?action=help&modules=wbsearchentitiesをご覧ください。
すべてのデータ構造には、その意味に関係する「タイプ」または何らかのプロパティがありますか?
データ項目に関するすべてのステートメントは、その意味と関係があります。多くの人が、「インスタンス」(P31) または「サブクラス」(P279) プロパティについて述べています。これは、あなたが望むものにかなり近いと思います。
すべてのタイプのリストはありますか?
いいえ。ウィキデータは、世界を記述するために、事前に定義された閉じたオントロジーを使用していません。これは、機械が読み取り可能な方法で世界を共同で記述するためのプラットフォームです。そこから流動的なオントロジーが生まれますが、これは決して完全でも一貫でもありません。
どのデータ項目も、別の項目のクラスまたはサポート クラスとして機能できます。項目は、複数のクラスのインスタンスまたはサブクラスにすることができます。関係は非常に複雑です。
「リンゴ」のように二重の意味を持つエンティティの提案機能はありますか?
特定の用語に一致するすべてのデータ項目を一覧表示できる検索インターフェイスがあります。wbsearchentitiesたとえば、https://www.wikidata.org/w/api.php?action=wbsearchentities&search=apple&language=enformat=json (機械可読 JSON 用に追加)と呼ばれます。
ただし、結果のランキングは非常に単純です。また、元の文の意味的文脈がなければ、どの単語の意味が意味されているかを見つける方法はありません。これは「語義曖昧性解消」と呼ばれる興味深い研究分野です。
最後に、テキスト クエリを送信して、応答データ構造の「タイプ」を読み取るにはどうすればよいですか?
現時点では、2 つの API 呼び出しを行う必要があります。1 つwbsearchentitiesは関心のあるエンティティの ID を取得するため、もう 1 つはwbgetentitiesそのエンティティの instance-of ステートメントを取得するためです。これを 1 回の呼び出しで組み合わせるとよいでしょう。これについてはチケットが公開されています: https://phabricator.wikimedia.org/T90693
Siri のようなサービスについては、Magnus Manske による「wiri」と呼ばれる初期のプロトタイプが長い間使用されてきました。ただし、非常に単純なパターンを使用します: https://tools.wmflabs.org/magnus-toolserver/thetalkpage/
Bene* は、自然言語による質問応答のためのより高度なアプローチに取り組んできました。Platypus のデモを参照してください: https://projetpp.github.io/demo.html
ちょうど昨日、彼は Tpt と共同で開発している新しいプロトタイプを発表しました。これは、自然言語入力から SPARQL クエリを生成します: https://tools.wmflabs.org/ppp-sparql/
これらのプロジェクトはすべてオープン ソースであり、熱心なボランティアによって作成されました。コードを見て、彼らと話してください。:)