API การค้นหากราฟความรู้ของ Google

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

API การค้นหากราฟความรู้ช่วยให้คุณพบเอนทิตีในกราฟความรู้ของ Google API จะใช้ประเภท schema.org มาตรฐานและเป็นไปตามข้อกําหนดของ JSON-LD

กรณีการใช้งานทั่วไป

ตัวอย่างวิธีการใช้ Knowledge Graph Search API มีดังนี้

  • รับรายการการจัดอันดับของเอนทิตีที่โดดเด่นที่สุดที่ตรงกับเกณฑ์บางประการ
  • คาดการณ์เอนทิตีในช่องค้นหาให้เสร็จสิ้น
  • หมายเหตุ/การจัดระเบียบเนื้อหาโดยใช้เอนทิตีของกราฟความรู้

ดูข้อมูลโดยละเอียดเกี่ยวกับวิธีและพารามิเตอร์ API ได้ที่เอกสารอ้างอิง API

ตัวอย่างคำขอ

ตัวอย่างต่อไปนี้แสดงคําขอ 1 ประเภทที่คุณส่งไปยัง API ได้ (แต่โปรดดูส่วนข้อกําหนดเบื้องต้นก่อน และคุณจะต้องแทรกคีย์ API ของคุณเองด้วย)

https://kgsearch.googleapis.com/v1/entities:search?query=taylor+swift&key=API_KEY&limit=1&indent=True

ตัวอย่างการค้นหาข้างต้นแสดงผลลัพธ์ JSON-LD ที่คล้ายกับสิ่งต่อไปนี้

{
  "@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
    }
  ]
}

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีทําการค้นหาที่คล้ายกันในภาษาต่างๆ ที่รองรับ การค้นหานี้ส่งคืนรายการที่ตรงกับ Taylor Swift

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/>';
}

เอนทิตีของกราฟความรู้

กราฟความรู้มีรายการหลายล้านรายการที่อธิบายเอนทิตีในชีวิตจริง เช่น ผู้คน สถานที่ และสิ่งต่างๆ เอนทิตีเหล่านี้จะสร้างโหนดของกราฟ

เอนทิตีประเภทต่างๆ ที่พบในกราฟความรู้มีดังนี้