知識ベヌス。 パヌト2. FreebaseGoogleナレッゞグラフぞのク゚リの䜜成

画像
Googleは1幎以䞊前に、今埌は怜玢に神秘的なナレッゞネットワヌクナレッゞグラフの公匏翻蚳を䜿甚するず発衚したした。 おそらく、Web䞊のデヌタの倧郚分が誰でも䜿甚可胜であり、十分に説明されたAPIを介しおアクセスできるこずを誰もが知っおいるわけではありたせん。 この郚分は、Googleおよび愛奜家によっお管理されおいるFreebaseナレッゞベヌスです。 この蚘事では、たず少しバカにしおから、MQLで簡単なク゚リを䜜成しおみたす。
この蚘事は、ナレッゞベヌスシリヌズの2番目です。 お楜しみに。



䞀般ナヌザヌの芳点から芋たGoogleナレッゞグラフ


Googleナレッゞグラフの目に芋える兆候の1぀は、探しおいるオブゞェクトを簡単に説明するダッシュボヌドです。 パヌ゜ナリティを怜玢する際にしばしば発生したすが、地理的名称は少し少なくなりたす。 英語のむンタヌフェヌスで英語で定矩されたク゚リではより頻繁に発生したすが、可胜な堎合はロシア語に固執したす。
たずえば、Roger Watersによるク゚リでは、次の結果が埗られたす。
画像

情報ボックス内のリンクをクリックし、URLに泚意しおください-スティックパラメヌタヌを䜿甚したす。その内容は、フォヌムの䞀郚の識別子です&stick=H4sIAAAAAAAAAONg[VuLQz9U3]< >AAAA
ナレッゞグラフが最初に衚瀺されたずき、初心者は小さな通りの魔法を瀺すこずができたした。たずえば、マリリンモンロヌからのスティックパラメヌタヌをスティヌブンキングからのリク゚ストに远加したす。
画像

今、圌らはそのような機䌚を隠したした、そしおそれは私たちにずっおそれは䟡倀がありたせん-私たちは䜕か有甚なものを芋たほうがいいでしょう。 たずえば、最近、vsキヌワヌドを䜿甚しお耇数のオブゞェクトを比范するこずが可胜になりたした。

画像

Googleは、スマヌト怜玢ず質問ぞの回答に関連する倚くの利点を远加するこずを玄束したす。ナレッゞグラフは、この知性が支える柱の1぀になりたす。 私たちにずっお特に玠晎らしいのは、ナレッゞグラフの䞀郚が誰でも䜿甚できるように開かれおいるこずです。

Freebase-GNGサブグラフ


歎史的なツアヌから始めたしょう。 Metawebは2005幎にナレッゞベヌスの䜜業を開始したした。 デヌタを入力する方法では、FreebaseはDbpediaに最も䌌おいたした。Freebaseで提瀺された知識の倧郚分はWikipediaのデヌタでした。 Dbpediaずの違いは、第1に、入力されたデヌタを手動で修正する機胜であり、第2に、Freebaseは他のデヌタ゜ヌスを軜芖しなかったこずです 。 DBpediaチヌムずは異なり、Metawebの代衚者は科孊蚘事を公開するこずをあたり気にしたせんでした最近始たったものの興味深いリストです。グラフ化された䞻芁なコンポヌネントのコヌドが日の目を芋るこずはほずんどありたせん。
2010幎、MetawebはGoogleに買収されたしたが、Freebaseメヌリングリストから刀断するず、怜玢倧手は新たに買収したチヌムの業務にあたり介入したせんでした。 Googleが新しいむンテリゞェントセマンティックテクノロゞヌを䜿甚しお競合他瀟を先駆的な真実ずしお匕き裂くカラフルなビデオのリリヌス埌、Metaweb およびGoogle の代衚者は、FreebaseがWikipediaおよびCIAファクトベヌスずずもにKnowledge Networkの非垞に重芁な郚分であるこずを確認したした。 すべおのGoogle APIの統合に関する倧芏暡なサブボットニックの期間䞭、Freebaseプログラムのむンタヌフェヌスは倧きな倉曎を受けず、その説明はdevelopers.google.comに単玔に転送されたした 。 ナレッゞベヌスに䜕かを尋ねるために、MQLク゚リ蚀語「mikl」ず発音したすを䜿甚したす。 原因に

最初のリク゚ストず線集者


簡単な質問から始めたしょう。Freebaseにいく぀かの事実、たずえばレオナルドダノィンチの生幎月日を尋ねたす。
www.googleapis.com/freebase/v1/mqlread?query={"/type/object/id":"/en/leonardo_da_vinci","/people/person/date_of_birth":null}
完党に正しい結果が埗られたす。
 { "result": { "/type/object/id": "/en/leonardo_da_vinci", "/people/person/date_of_birth": "1452-04-15" } } 

緎習しやすくするために、Freebaseが提䟛するク゚リ゚ディタヌを䜿甚したす 。
画像
この゚ディタヌは非垞に䟿利で、芁求を自動補完するための優れた機胜を備えおいたす-困難な堎合は、Ctrl + Enterを抌すだけで、優れたコンテキストプロンプトが衚瀺されたす。 ゚ディタヌの䞋郚パネルには、 マニュアルで詳しく説明されおいる䟿利なツヌルがありたす 。 自習に぀いおは、MQLの倚くの機胜を明らかにするク゚リの䟋を含むサンプルボタンを確認するこずを特にお勧めしたす。

さお、ここに私たちのリク゚ストがあり、それに察する答えがここにありたす
リク゚スト答え
 { "id": "/en/leonardo_da_vinci", "/people/person/date_of_birth" : null } 
 { "id": "/en/leonardo_da_vinci" "/people/person/date_of_birth": "1453-04-15", } 

このリク゚ストをさらに詳しく分析したしょう。 甚語idを䜿甚しお、Freebaseでオブゞェクト識別子を指定したした。 すべおのオブゞェクトには識別子があり、 idずいう単語は/type/object/id略です。 すべおのFreebase゚ンティティが持っおいる他の倚くの/type/objectプロパティがありたすが、それらに぀いおは埌で説明したす。
識別子が/en/leonardo_da_vinciのオブゞェクトには、プロパティ/people/person/date_of_birth 、その倀はわかりたせん。 代わりに、特別な単語null倀を配眮したす。その代わりに、Freebaseはデヌタベヌスから倀を曞き蟌みたす。
簡単にわかるように、芁求ず応答は察称的です。

耇雑なリク゚スト


ここで、より倚くの質問が発生するように、かなり耇雑なMQLク゚リを䜜成し、簡単に説明したす。 その埌、Freebaseの構造の詳现な調査ず蚀語の機胜の抂芁を開始するこずができたす。

したがっお、ここにク゚リがありたすMQLマニュアルから匕甚。
リク゚スト答え
  1. [ {
  2. 「タむプ」  「/音楜/アルバム」 、
  3. 「名前」  null 、
  4. "name="  "グレむテストヒッツ" 、
  5. "release_date | ="  [
  6. 「1978」 、
  7. 「1979」
  8. ] 、
  9. 「ゞャンル」  [ ] 、
  10. 「aゞャンル」  「ニュヌりェヌブ」 、
  11. 「bゞャンル| = "  [
  12. 「パンクロック」 、
  13. 「ポストパンク」 、
  14. 「プログレッシブロック」
  15. ] 、
  16. 「アヌティスト」  {
  17. 「名前」  null 、
  18. 「タむプ」  {
  19. 「id」  「/人/人」 、
  20. 「オプション」  「犁止」
  21. }
  22. } 、
  23. 「制限」  2 、
  24. "sort"  "name" 、
  25. } ]

[ {
「タむプ」  「/音楜/アルバム」 、
"name"  "Dickies of Dickies" 、
「aゞャンル」  「ニュヌりェヌブ」 、
「アヌティスト」  {
「名前」  「テレビ」 、
「タむプ」  null
} 、
「ゞャンル」  [
「パンクロック」 、
「ニュヌりェヌブ」 、
「ポストパンク」 、
「プロトパンク」
] 、
「ns0名前」  「アドベンチャヌ」 、
「ns1タむプ」  「/音楜/アルバム」
} 、
{
「aゞャンル」  「ニュヌりェヌブ」 、
「アヌティスト」  {
"name"  "The Dickies" 、
「タむプ」  null
} 、
「ゞャンル」  [
「ニュヌりェヌブ」 、
「パンクロック」
]
} ]


このク゚リで䜿甚されたMQLツヌルを簡単に説明しおみたしょう。
たず、ご芧のずおり、ク゚リ党䜓が[ { } ]構造にラップされおいたす。぀たり、 { }堎合のように、単䞀のオブゞェクトではなく、結果ずしおオブゞェクトの配列が期埅されたす。
2行目から4行目たでは問題ありたせん。アルバム /music/album などのオブゞェクトを探しおいるので、その名前を取埗したいのですが、「 Greatest Hits 」ずいうアルバムには興味がありたせん。
5-8行目ず11-15行目にOR挔算子が衚瀺されたす|= -リリヌス日が1978たたは1979のアルバムに興味がありたす。 ゞャンルに移りたしょう
「ゞャンル」  [ ] 、
「aゞャンル」  「ニュヌりェヌブ」 、
「bゞャンル| = "  [
「パンクロック」 、
「ポストパンク」 、
「プログレッシブロック」
] 、

最初の行は、リク゚ストぞの応答でこれらのアルバムのゞャンルのリストを取埗するこずを瀺しおいたす。 これを行うために、空のリスト[ ]をリク゚ストに远加したした。 さらに、 New Waveが瀺されおいるゞャンルのアルバムず、 「Punk Rock」、「Post-punk」、「Progressive rock」のリストにあるアルバムにのみ興味があるず蚀いたす。
最埌に、行23〜24にはMQLディレクティブが含たれおいたす。2぀の結果 limit のみに関心があり、名前でsort  sort 必芁がありたす。

MQLのJSON


MQLク゚リずそれらぞの回答はJSONオブゞェクトなので、最小のたたはWeb開発者に関係のないJSONに぀いお説明したす。
JSON䞀般情報
JSONJavaScript Object Notationは、キヌず倀のデヌタを亀換するために䜜成された蚀語です。 圓初、JSONはJavaScriptオブゞェクトのシリアル化に䜿甚されおいたしたが、すぐに蚀語に䟝存しなくなり、そのシンプルさにより、さたざたな蚀語およびプラットフォヌムのプログラマヌに非垞に愛され、尊敬されたした。
最も単玔なJSONオブゞェクトは空のオブゞェクトです。 次のように曞かれおいたす。
 {} 

次に、Leonardo da Vinciに関する情報を保存するオブゞェクトを䜜成したしょう。 そもそも、圌の名前だけに制限したす。 これを行うには、キヌず倀を匕甚笊で囲み、コロンで区切りたす
 { "name" : "Leonardo di ser Piero da Vinci" } 

Leonardoに぀いおいく぀かの事実を远加し、それらをコンマで区切りたす。
 { "name" : "Leonardo di ser Piero da Vinci", "date_of_birth": "1453-04-15", } 

今では、ダノィンチがどのような職業をしおいたかを刀断する䟡倀がありたす。 しかし、これらの職業はたくさんありたした。圫刻家、芞術家、建築家など。 単䞀のキヌに耇数の倀を割り圓おるために、JSONは倀のリストを䜿甚したす-倀はコンマで区切られた角括匧で囲たれおいたす
 { "name" : "Leonardo di ser Piero da Vinci", "date_of_birth": "1453-04-15", "profession": [ "Architect", "Engineer", "Anatomist", "Inventor", "Artist", "Sculptor" ], } 

JSONに぀いお知っおおくべきもう1぀のこずは、ネストされたオブゞェクトです。 それらは非垞に単玔になりたす。キヌの埌に、新しいキヌず倀のペアのセットを䞭括匧で挿入するだけです。 レオナルドの堎合、むタリアにあるアンキアノの村であるレオナルドの出生地に関するデヌタを衚瀺するこずができたす。 キヌ「place_of_birth」は、むタリアにあるAnchianoずいう名前のオブゞェクトに察応するず蚀いたす。
 { "name" : "Leonardo di ser Piero da Vinci", "date_of_birth": "1453-04-15", "profession": [ "Architect", "Engineer", "Anatomist", "Inventor", "Artist", "Sculptor" ], "place_of_birth": { "name": "Anchiano", "containedby": "Italy", }, } 



本圓にjsonではない


䞀般に、MQLク゚リは有効なJSONオブゞェクトではありたせん。 MQLはJSONのスヌパヌセットであり、あらゆる皮類の自由を蚱可したす。 Metaweb補品のアむデアの1぀は、プログラムはナヌザヌが犯す゚ラヌや事務的な゚ラヌを蚱すこずができるずいうこずです。 このアむデアは他の蚀語やプログラムにも存圚し、そもそも-World Wide Webでは-htmlの䞀郚が゚ラヌで蚘述されおいおも問題ありたせん。ドキュメントを衚瀺する必芁がありたす。
たずえば、ここに、たれで䟡倀のある職業を持぀人々を探す有効なJSONリク゚ストがありたす。
 { "id": "/en/pope", "/people/profession/people_with_this_profession": [{ "name": null, "limit": 4 }] } 

匕甚笊を削陀しおも、リク゚ストは匕き続き機胜したす。
 { id: /en/pope, /people/profession/people_with_this_profession: [{ name: null, limit: 4 }] } 

括匧を閉じたり、ペアをコロンで区切ったりする必芁もありたせん。そのため、絶察に䞍名誉な䟋を次に瀺したす。
  id /en/pope /people/profession/people_with_this_profession [{ name null limit 4 


Freebaseデバむス


公匏ガむドは、Freebase内でのデヌタの保存方法に関する非垞に優れた入門曞です。 Freebaseで䜿甚される4぀のオブゞェクトはオブゞェクトパラダむムの背埌に完党に隠れおいるため、これは私たちにずっおあたり重芁ではありたせん。 興味がある堎合は、 マニュアルの察応するペヌゞを参照できたす
そのため、Freebaseを䜿甚するず、その䞭にあるオブゞェクトに぀いお考えるこずができたす。 各オブゞェクトは䞭括匧{ }によっお制限され、コロンで区切られたプロパティず倀のペアで構成されたす。 FreebaseがMQLク゚リぞの応答ずしお発行するオブゞェクトは有効なJSONオブゞェクトですが、OOPパラダむムのオブゞェクトずは異なりたす。 それらを無秩序なペアのセットず考えるのが最善です。
識別子は、MQLでプロパティ぀たり、コロンの前に来るものずしお䜿甚できたす。 倀には、識別子、リテラル、配列、最埌にネストされたオブゞェクトを指定できたすFreebaseには、識別子を䜜成するルヌルがありたす。 識別子は、スラッシュ/で区切られた名前空間ずキヌで構成されたす。 たずえば、識別子/people/person/date_of_birth考えおみおくださいdate_of_birthがキヌであり、 /people/personが名前空間です。
識別子は䞀意です。 セマンティックロヌドを実行する必芁はありたせんが、倚くの堎合、オブゞェクトの識別子によっお䜕が問題になっおいるかを理解するのは簡単です。
画像
オブゞェクトのナニバヌサルプロパティ

すべおのFreebaseオブゞェクトには、次の予玄枈みナニバヌサルプロパティがありたす。

ここでは、MQLク゚リで最もよく䜿甚されるプロパティ、名前、識別子、およびタむプを怜蚎したす。

識別子

Freebaseには倚くの識別子がありたす。 これらの䞭で最も重芁なのは/type/object/guid 、これは䞀床だけ䞎えられたす。 省略圢/type/object/midたす。 たあ、圌らは通垞リク゚ストで/type/object/idしたす-それはしばしば人間が読むこずができたす。 最も重芁なこずは、同じ識別子を持぀2぀のオブゞェクトがないこずです。 たずえば、アダム・スミスず呌ばれる人の数を芋おみたしょう。 英語版りィキペディアの蚘事です。 道埳哲孊者のアダム・スミスだけが、誇り高い識別子/en/adam_smithたす。 他のすべおのアダムス/en/adam_smith_1965 、 政治家  /en/adam_smith_1965 、 サッカヌ遞手  /en/adam_smith_huddersfield 、たたは他の誰でも、異なる方法で識別されたす。

Freebase.comの怜玢フィヌルドに識別子を入力しお、オブゞェクトプロパティペヌゞを取埗できたす。
画像

プロパティ/タむプ/オブゞェクト/名前

各オブゞェクトには名前がありたす。 名前は䞀意のものではなく、オブゞェクトには通垞、耇数の名前がありたす蚀語ごずに1぀。 最も興味深いのは、これによりク゚リがたったく耇雑にならないこずです。名前を芁求するず、珟圚の名前ずしおFreebaseにむンストヌルされおいる蚀語の名前のみが䞎えられるこずに気付くでしょう。 したがっお、通垞の文字列のようなタむプ名のオブゞェクトを凊理できたす。

プロパティ/タむプ/オブゞェクト/タむプ

このプロパティは、オブゞェクトのタむプを蚭定したす。 1぀のオブゞェクトには耇数のタむプがありたす-これは通垞発生したす。
リク゚ストでtypeプロパティを指定した堎合、このタむプのネヌムスペヌスを省略できたす。 タむプ/film/directorプロパティは䜕ですか もちろん、このタむプの名前空間にあるもの、぀たり/film/directorで始たるもの。 たずえば、スタンリヌキュヌブリックが補䜜したすべおの映画のク゚リを考えおみたしょう。 ク゚リは巊偎に省略圢で衚瀺されたす。これをさらに䜿甚し、右偎にMetaweb開発者がそれほど芪切ではない堎合の倖芳を瀺したす。
リク゚スト完党な圢のリク゚スト
 [{ "name": "Stanley Kubrick", "type": "/film/director", "film": [], }] 
 [{ "/type/object/name": "Stanley Kubrick", "/type/object/type": "/film/director", "/film/director/film" : [] }] 

第二に、/ type / object名前空間のすべおのプロパティを省略するこずができたす-そのため、 id 、 name 、 typeなどのみを蚘述する暩利がありたす。 なんで FreebaseのすべおのオブゞェクトはObject型であるためです。

さたざたなタむプのMQLク゚リ


すでにかなりの数のク゚リを敎理しおいたすが、蚀語自䜓にはただ焊点を合わせおいたせん。 たず、MQLで必芁な倀がどのように芁求されるかを芋おみたしょう。 次の堎合が発生したす。

単䞀倀リク゚スト

Freebaseがリク゚ストオブゞェクトず同じ構造のオブゞェクトを返すが、䞍明なフィヌルドが埋められおいる堎合、リク゚ストでこのフィヌルドをnullに眮き換える必芁がありたす。 このような䟋を芋おきたしたが、ここにもう1぀ありたす。 ミュヌゞシャンのキヌス・゚マヌ゜ンの出身はどこですか

リク゚スト答え
 { "name": "Keith Emerson", "type": "/music/artist", "origin": null } 

 { "result": { "name": "Keith Emerson", "origin": "England", "type": "/music/artist" } } 



倀の配列を照䌚する

nullを䜿甚しお音楜グルヌプのすべおのアルバムを照䌚しようずするず、゚ラヌが発生したす。 オブゞェクトの配列が必芁な堎合は、角括匧[]䜿甚したす。 Freebaseは、この配列にコンマ区切りの行を挿入したす。 音楜グルヌプのアルバムの䟋も公匏ガむドに蚘茉されおいたす。Hawkingによっお曞かれた本のリストがありたす。

リク゚スト答え
 { "name": "Stephen Hawking", "type": "/book/author", "works_written": [] } 

 { "result": { "name": "Stephen Hawking", "works_written": [ "The Universe in a Nutshell", "A Brief History of Time", "George's Secret Key to the Universe", 

もっずたくさんありたす
  "Computer Resources for People With Disabilities", "The Nature of Space and Time", "On the Shoulders of Giants", "Black Holes and Baby Universes and Other Essays", "George's Cosmic Treasure Hunt", "The Theory of Everything", "The Grand Design", "A Briefer History of Time", "God Created the Integers", "George and the Big Bang", "The Large Scale Structure of Space-Time", "The Illustrated Brief History of Time", "The Singularities of Gravitational Collapse and Cosmology", "Gravitational Radiation from Colliding Black Holes", "Black Holes in General Relativity", "Black Hole Explosions?", "The Development of Irregularities in a Single Bubble Inflationary Universe", "Wave Function of the Universe", "Information Loss in Black Holes", "The large scale structure of space-time", "General Relativity; an Einstein Centenary Survey", "Is the end in sight for theoretical physics?", "Black holes and baby universes and other essays", "A brief history of time", "My Brief History", "Vector Fields in Holographic Cosmology", "Inflation with Negative Lambda", "Accelerated Expansion from Negative Lambda", "The Dreams That Stuff Is Made Of: The Most Astounding Papers of Quantum Physics and How They Shook the Scientific World", "Local Observation in Eternal inflation", "The No-Boundary Measure in the Regime of Eternal Inflation", "The Classical Universes of the No-Boundary Quantum State", "No-Boundary Measure of the Universe", "Volume Weighting in the No Boundary Proposal", "The Measure of the Universe", "Populating the Landscape: A Top Down Approach", "A Non Singular Universe", 


  "Black Holes and the Information Paradox" ], "type": "/book/author" } } 



逆に、単䞀の倀ではなく配列を芁求する堎合-これには問題はありたせん-Freebaseは結果を倉換し、単䞀の倀を持぀配列を返したす。

オブゞェクトのリク゚スト

でも、私のアプリケヌションでは、ホヌキングの本の名前だけでなく、発売日も知りたいず思っおいたす。写真は傷぀きたせん。 これも可胜です。 実際、最埌のリク゚ストで受け取った本の配列は、文字列の配列のように芋えるだけです。 実際、これはオブゞェクトの配列であり、Freebaseはオブゞェクトを文字列に折り畳むだけで、 nameプロパティのみを残したす。

たた、私たちのミュヌゞシャンの出身地であるむングランドは、単なる「むングランド」ずいうラむンではなく、本栌的なオブゞェクトです。 ク゚リでオブゞェクト衚珟を取埗するには、次のように{ }コンストラクトが䜿甚されたす。

 { "name": "Keith Emerson", "type": "/music/artist", "origin": { } } 


その結果、オブゞェクトに関する最も重芁な情報、その識別子、名前、およびタむプリストが提䟛されたす。
ク゚リ結果
 { "result": { "origin": { "id": "/en/england", "name": "England", "type": [ "/common/topic", "/location/location", "/film/film_subject", "/book/book_subject", "/location/administrative_division", "/film/film_location", "/location/uk_constituent_country", "/user/xleioo/winning_night/option_list", "/location/statistical_region", "/location/dated_location", "/symbols/name_source", "/m/04kp2w0", "/user/robert/military/military_power", "/symbols/flag_referent", "/user/skud/flags/topic", "/user/skud/names/topic", "/user/robert/military/topic", "/base/petbreeds/topic", "/m/04mp17s", "/user/xleioo/winning_night/topic", "/organization/organization_scope", "/base/charities/geographic_scope", "/sports/sports_team_location", "/base/thoroughbredracing/thoroughbred_racehorse_origin", "/user/tsegaran/random/taxonomy_subject", "/base/authors/country_of_origin", "/base/authors/topic", "/biology/breed_origin", "/fictional_universe/fictional_setting", "/government/political_district", "/olympics/olympic_participating_country", "/base/summermovies2009/topic", "/base/leicester/topic", "/base/popstra/location", "/location/country", "/base/england/topic", "/base/ontologies/ontology_instance", "/event/speech_topic", "/user/skud/legal/treaty_signatory", "/government/governmental_jurisdiction", "/base/masterthesis/topic", "/user/jamie/default_domain/yacht_racing/yacht_racing_country", "/base/horticulture/cultivar_origin", "/base/horticulture/topic", "/base/localfood/food_producing_region", "/base/localfood/topic", "/sports/sport_country", "/base/todolists/topic", "/base/tagit/concept", "/food/beer_country_region", "/periodicals/newspaper_circulation_area", "/location/uk_statistical_location", "/base/biblioness/bibs_location", "/base/biblioness/bibs_topic", "/base/aareas/schema/gb/constituent_country", "/base/aareas/schema/administrative_area", "/base/uncommon/topic", "/base/schemastaging/statistical_region_extra", "/people/place_of_interment", "/base/allthingsnewyork/topic", "/base/events/topic", "/base/events/geographical_scope", "/base/tonyfranksbuckley/topic", "/base/piratesofthewirralpeninsula/topic", "/military/military_combatant", "/military/military_post", "/organization/organization_member" ] }, "name": "Keith Emerson", "type": "/music/artist" } } 


ネストされたク゚リ

ミュヌゞシャンの出身囜に関するその他の情報を入手するこずができたす。これにより、埋め蟌みリク゚ストが䜜成されたす。 たずえば、゚マヌ゜ンの出身囜で話されおいる蚀語を知りたいです。 ク゚リ゚ディタヌからのプロンプトを受信する囜のタむプを远加しおいるこずに泚意しおください。
リク゚スト答え
 { "name": "Keith Emerson", "type": "/music/artist", "origin": { "type": "/location/country", "official_language": null } } 
 { "result": { "name": "Keith Emerson", "type": "/music/artist", "origin": { "type": "/location/country", "official_language": "English Language" } } } 


䞋に行くこずができたすその囜で話されおいる蚀語はどの蚀語ファミリヌに属したすか、゚マヌ゜ンはどこから来たすか
リク゚スト答え
 { "name": "Keith Emerson", "type": "/music/artist", "origin": { "type": "/location/country", "official_language": { "type": "/language/human_language", "language_family": [] } } } 
 { "result": { "type": "/music/artist", "name": "Keith Emerson", "origin": { "type": "/location/country", "official_language": { "language_family": [ "West Germanic languages", "Indo-European languages", "Anglo-Frisian languages" ], "type": "/language/human_language" } } } } 


これらのかなり愚かなク゚リは、より有甚なものに簡単に䞀般化されたす。たずえば、もずもず英語圏の囜からのミュヌゞシャンのリストのリク゚スト。配列出力をよく䜿甚するこずに泚意しおください。さお、limit出力を3぀の結果に制限する別の蚀葉

リク゚スト答え
 [{ "name": null, "type": "/music/artist", "origin": [{ "type": "/location/country", "official_language": "English Language" }], "limit": 3 }] 
 { "result": [ { "origin": [{ "type": "/location/country", "official_language": "English Language" }], "name": "The Katinas", "type": "/music/artist" }, { "origin": [{ "type": "/location/country", "official_language": "English Language" }], "name": "Shermain Jeremy", "type": "/music/artist" }, { "origin": [{ "type": "/location/country", "official_language": "English Language" }], "name": "Patsy Moore", "type": "/music/artist" } ] } 


すべおのオブゞェクトプロパティを芁求する

ク゚リを䜜成するずきに圹立぀のは、オブゞェクトのすべおのプロパティを取埗するこずです。これに䜿甚されるデザむンは非垞にシンプルで䟿利です。プロパティの名前ずしおのアスタリスクず、倀で満たされた空の配列"*" : []
リク゚スト答え
 { "name": "Keith Emerson", "type": "/music/artist", "origin": { "type": "/location/country", "*": [] } } 
むギリスには倚くの財産がありたす
 { "result": { "origin": { "fifa_code": [ "ENG" ], "second_level_divisions": [ "Rutland", "Leicestershire", "Leicester", "Derbyshire", "Derby", "Northamptonshire", "Nottinghamshire", "Nottingham", "Lincolnshire", "London Borough of Wandsworth", "London Borough of Bromley", "London Borough of Hounslow", "London Borough of Croydon", "London Borough of Sutton", "London Borough of Enfield", "London Borough of Hillingdon", "London Borough of Lambeth", "London Borough of Redbridge", "City of Westminster", "London Borough of Merton", "London Borough of Brent", "London Borough of Waltham Forest", "London Borough of Camden", "Royal Borough of Kingston upon Thames", "London Borough of Haringey", "London Borough of Bexley", "London Borough of Lewisham", "London Borough of Southwark", "London Borough of Harrow", "City of London", "London Borough of Newham", "London Borough of Barking and Dagenham", "London Borough of Richmond upon Thames", "London Borough of Barnet", "London Borough of Hammersmith and Fulham", "London Borough of Islington", "London Borough of Havering", "Royal Borough of Kensington and Chelsea", "Royal Borough of Greenwich", "London Borough of Tower Hamlets", "London Borough of Hackney", "London Borough of Ealing", "Lancashire", "Blackburn with Darwen", "Blackpool", "Greater Manchester", "Cheshire", "Cheshire West and Chester", "Borough of Halton", "Cheshire East", "Warrington", "Cumbria", "Merseyside", "Cornwall", "Isles of Scilly", "Wiltshire", "Borough of Swindon", "Devon", "Torbay", "Plymouth", "Bristol", "Somerset", "North Somerset", "Bath and North East Somerset", "Dorset", "Poole Borough Council", "Bournemouth Borough Council", "Gloucestershire", "South Gloucestershire", "Middlesbrough Borough Council", "Borough of Stockton-on-Tees", "Tyne and Wear", "Redcar and Cleveland", "North Yorkshire", "County Durham", "Borough of Darlington", "Borough of Hartlepool", "Northumberland", "Cambridgeshire", "Peterborough", "Essex", "Thurrock", "Southend-on-Sea", "Hertfordshire", "Suffolk", "Norfolk", "Bedford", "Luton", "Central Bedfordshire", "West Midlands", "Shropshire", "Telford and Wrekin", "Worcestershire", "Warwickshire", "Herefordshire", "Staffordshire", "Stoke-on-Trent", "South Yorkshire", "North East Lincolnshire", "East Riding of Yorkshire" ], "national_anthem": [], "permission": [ "/boot/all_permission" ], "guid": [ "#9202a8c04000641f8000000000014381" ], "name": [ "England" ], "creator": [ "/user/metaweb" ], "type": "/location/country", "languages_spoken": [ "Old English", "Early Modern English", "English Language" ], "calling_code": [ 44 ], "id": [ "/en/england" ], "iso_alpha_3": [], "iso3166_1_alpha2": [], "currency_formerly_used": [], "gdp_nominal": [], "form_of_government": [ "Constitutional monarchy", "Constituent country" ], "iso_numeric": [], "administrative_divisions": [ "North East England", "North West England", "Yorkshire and the Humber", "West Midlands", "East Midlands", "East of England", "Greater London", "South East England", "South West England", "Little Gidding", "Dominion of New England", "Chilton", "Selby District", "Wakefield", "Dalvíkurbyggð", "Manor", "Upleadon" ], "third_level_divisions": [], "timestamp": [ "2006-10-22T08:58:48.0043Z" ], "key": [ "9316", "england", "ENG", "01Yg6fA3mG5Bf", "0080-5673", "190404", "66705302048946451041", "$0410$043D$0433$043B$0438$044F", "27953", "3003238", "713477", "Inglaterra", "$30A4$30F3$30B0$30E9$30F3$30C9", "8690", "Inghilterra", "10342", "Inglaterra", "England", "16627", "1023", "Angleterre", "4925", "$0410$043D$0433$043B$0438$044F", "Angleterre", "$0410$043D$0433$043B$0438$044F", "$0410$043D$0433$043B$0438$044F", "Inglaterra", "Inglaterra", "Inghilterra", "England", "$30A4$30F3$30B0$30E9$30F3$30C9", "England", "E92000001", "england$002F942213", "England", "$0625$0646$062C$0644$062A$0631$0627", "252", "281", "$067E$0627$062F$0634$0627$0647$06CC_$0627$0646$06AF$0644$0633$062A$0627$0646", "Anglija", "$C601$B780", "Anglia", "England", "England", "England", "Anglia", "13531", "$C601$AE38$B9AC", "England", "Engeland", "$0410$043D$0433$043B$0456$044F", "$0627$0646$062C$0644$062A$0631$0627", "Inggeris", "Anglia", "2353", "Anglija", "England", "$0130ngiltere", "Inggris", "England", "372", "England", "$0907$0902$0917$094D$0932$0945$0923$094D$0921", "$0627$0646$0643$0644$062A$0631$0629", "$0627$0646$062C$0644$062A$0640$0640$0631$0627", "Mellemengland", "GB-ENG", "$0907$0902$0917$094D$0932$0948$0923$094D$0921", "$0628$0625$0646$062C$0644$062A$0631$0627", "Engelske", "X$1EE9_Anh", "England", "$0391$03B3$03B3$03BB$03AF$03B1", "$0386$03B3$03B3$03BB$03BF$03B9", "Anh_C$00E1t_L$1EE3i", "Englanti", "Anglia", "Engelse", "$0E41$0E04$0E27$0E49$0E19$0E2D$0E31$0E07$0E01$0E24$0E29", "Anglija", "$0627$0644$0625$0646$062C$0644$064A$0632$064A", "11799", "$82F1$683C$5170", "Anglija", "England", "801", "$0625$0646$0643$0644$062A$0631$0647", "$0E0A$0E32$0E15$0E34$0E2D$0E31$0E07$0E01$0E24$0E29", "Anh", "Inglesa", "3812", "$05D0$05E0$05D2$05DC$05D9$05D4", "$0391$03B3$03B3$03BB$03AF$03B1", "$0627$0646$062C$0644$064A$0632$064A", "$0625$0646$0643$0644$062A$0631$0627", "England", "$0627$0646$06AF$0644$0633$062A$0627$0646", "$0625$0646$0643$0644$062A$0631$0651$0627", "Anglesa", "$0410$043D$0433$043B$0438$0439$0441$043A$0430" ], "official_language": [ "English Language" ], "currency_used": [ "UK £" ], "first_level_divisions": [ "East Midlands", "Greater London", "North West England", "South West England", "North East England", "East of England", "West Midlands", "Yorkshire and the Humber", "South East England" ], "search": [], "fourth_level_divisions": [], "gdp_nominal_per_capita": [], "iso3166_1_shortname": [], "capital": [ "London" ], "attribution": [ "/user/metaweb" ], "fips10_4": [], "mid": [ "/m/02jx1", "/m/071yqyc", "/m/071yqqb", "/m/07xyh0z" ], "internet_tld": [ "uk" ] }, "type": "/music/artist", "name": "Keith Emerson" } } 

オブゞェクトをより良くリク゚ストする方法

かっこで混乱した人のために、Freebaseでオブゞェクトをリク゚ストする方法の抂芁を以䞋に瀺したす。
建蚭業その意味
 "" : null 
. default- : value ( ) name ( ). , !
 "" : [] 
. , ,
 "*" : [] 
 "" : {} 
. ,
 "" : [{}] 
. {},
 "" : { } 
- ,
 "" : [{ }] 
. .


開始するには十分です。MQLには、さたざたなコンパレヌタ、正芏衚珟、あらゆる皮類のAND、OR、およびNOTがあるこずが明らかです。もう1぀の優れた蚀語はAcreです。これにより、Semantic MediaWikiで行われるのず同様の方法でク゚リ結果をフォヌマットできたす。DbpediaずWikidataの話よりも先に。そもそも䜕に興味がありたすか

Source: https://habr.com/ru/post/J177217/


All Articles