Bilgi Grafiği Arama API'si, Google Bilgi Grafiği'ndeki varlıkları bulmanıza olanak tanır. API, standart schema.org türlerini kullanır ve JSON-LD spesifikasyonuyla uyumludur.
Genel kullanım alanları
Aşağıda, Bilgi Grafiği Arama API'sini nasıl kullanabileceğinize dair örnekler verilmiştir:
- Belirli ölçütlerle eşleşen en önemli varlıkların sıralı listesi elde ediliyor.
- Arama kutusundaki varlıkları tahminen tamamlama.
- Bilgi Grafiği öğeleri kullanarak içeriklere açıklama ekleme/düzenleme.
API yöntemleri ve parametreleri hakkında ayrıntılı bilgi için API Referansı'na göz atın.
Örnek istek
Aşağıdaki örnekte, API'ye gönderebileceğiniz bir istek türü gösterilmektedir. (Ancak önce Ön Koşullar bölümünü kontrol edin. Ayrıca kendi API anahtarınızı girmeniz gerekir.)
https://kgsearch.googleapis.com/v1/entities:search?query=taylor+swift&key=API_KEY&limit=1&indent=True
Yukarıdaki örnek arama aşağıdakine benzer bir JSON-LD sonucu döndürür:
{
"@context": {
"@vocab": "http://schema.org/",
"goog": "http://schema.googleapis.com/",
"resultScore": "goog:resultScore",
"detailedDescription": "goog:detailedDescription",
"EntitySearchResult": "goog:EntitySearchResult",
"kg": "http://g.co/kg"
},
"@type": "ItemList",
"itemListElement": [
{
"@type": "EntitySearchResult",
"result": {
"@id": "kg:/m/0dl567",
"name": "Taylor Swift",
"@type": [
"Thing",
"Person"
],
"description": "Singer-songwriter",
"image": {
"contentUrl": "https://t1.gstatic.com/images?q=tbn:ANd9GcQmVDAhjhWnN2OWys2ZMO3PGAhupp5tN2LwF_BJmiHgi19hf8Ku",
"url": "https://en.wikipedia.org/wiki/Taylor_Swift",
"license": "http://creativecommons.org/licenses/by-sa/2.0"
},
"detailedDescription": {
"articleBody": "Taylor Alison Swift is an American singer-songwriter and actress. Raised in Wyomissing, Pennsylvania, she moved to Nashville, Tennessee, at the age of 14 to pursue a career in country music. ",
"url": "http://en.wikipedia.org/wiki/Taylor_Swift",
"license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"
},
"url": "http://taylorswift.com/"
},
"resultScore": 4850
}
]
}
Aşağıdaki kod örnekleri, desteklenen çeşitli dillerde benzer bir aramanın nasıl yapılacağını göstermektedir. Bu arama, Taylor Swift
ile eşleşen girişleri döndürüyor.
Python
"""Example of Python client calling Knowledge Graph Search API.""" import json import urllib api_key = open('.api_key').read() query = 'Taylor Swift' service_url = 'https://kgsearch.googleapis.com/v1/entities:search' params = { 'query': query, 'limit': 10, 'indent': True, 'key': api_key, } url = service_url + '?' + urllib.urlencode(params) response = json.loads(urllib.urlopen(url).read()) for element in response['itemListElement']: print(element['result']['name'] + ' (' + str(element['resultScore']) + ')')
Java
package com.google.knowledge.platforms.syndication.entitymatch.codesample; import com.google.api.client.http.GenericUrl; import com.google.api.client.http.HttpRequest; import com.google.api.client.http.HttpRequestFactory; import com.google.api.client.http.HttpResponse; import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; import com.jayway.jsonpath.JsonPath; import java.io.FileInputStream; import java.util.Properties; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; /** Example of Java client calling Knowledge Graph Search API */ public class SearchExample { public static Properties properties = new Properties(); public static void main(String[] args) { try { properties.load(new FileInputStream("kgsearch.properties")); HttpTransport httpTransport = new NetHttpTransport(); HttpRequestFactory requestFactory = httpTransport.createRequestFactory(); JSONParser parser = new JSONParser(); GenericUrl url = new GenericUrl("https://kgsearch.googleapis.com/v1/entities:search"); url.put("query", "Taylor Swift"); url.put("limit", "10"); url.put("indent", "true"); url.put("key", properties.get("API_KEY")); HttpRequest request = requestFactory.buildGetRequest(url); HttpResponse httpResponse = request.execute(); JSONObject response = (JSONObject) parser.parse(httpResponse.parseAsString()); JSONArray elements = (JSONArray) response.get("itemListElement"); for (Object element : elements) { System.out.println(JsonPath.read(element, "$.result.name").toString()); } } catch (Exception ex) { ex.printStackTrace(); } } }
JavaScript
<!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> </head> <body> <script> var service_url = 'https://kgsearch.googleapis.com/v1/entities:search'; var params = { 'query': 'Taylor Swift', 'limit': 10, 'indent': true, 'key' : '<put your api_key here>', }; $.getJSON(service_url + '?callback=?', params, function(response) { $.each(response.itemListElement, function(i, element) { $('<div>', {text:element['result']['name']}).appendTo(document.body); }); }); </script> </body> </html>
PHP
<?php require '.api_key'; $service_url = 'https://kgsearch.googleapis.com/v1/entities:search'; $params = array( 'query' => 'Taylor Swift', 'limit' => 10, 'indent' => TRUE, 'key' => $api_key); $url = $service_url . '?' . http_build_query($params); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = json_decode(curl_exec($ch), true); curl_close($ch); foreach($response['itemListElement'] as $element) { echo $element['result']['name'] . '<br/>'; }
Bilgi Grafiği öğeleri
Bilgi Grafiği'nde insanlar, yerler ve nesneler gibi gerçek hayattaki varlıkları açıklayan milyonlarca giriş vardır. Bu öğeler grafiğin düğümlerini oluşturur.
Bilgi Grafiği'nde bulunan öğe türlerinden bazıları şunlardır:
- Kitap
- Kitap Serisi
- Eğitim Kurumu
- Etkinlik
- Devlet Kurumu
- LocalBusiness
- Film
- Film Serisi
- MüzikAlbümü
- Müzik Grubu
- Müzik Kaydı
- Kuruluş
- Düzenli
- Person
- Yer
- Spor Takımı
- TVBölümü
- TV Serisi
- Video Oyunu
- VideoOyunSerileri
- WebSitesi