Google नॉलेज ग्राफ़ सर्च एपीआई

नॉलेज ग्राफ़ सर्च एपीआई से आप Google नॉलेज ग्राफ़ में इकाइयां ढूंढ सकते हैं. यह एपीआई, स्टैंडर्ड schema.org टाइप का इस्तेमाल करता है और यह JSON-LD स्पेसिफ़िकेशन का पालन करता है.

आम तौर पर इस्तेमाल के उदाहरण

नॉलेज ग्राफ़ सर्च एपीआई का इस्तेमाल करने के कुछ उदाहरण:

  • कुछ खास शर्तों से मेल खाने वाली सबसे उल्लेखनीय इकाइयों की रैंक की गई सूची पाना.
  • खोज बॉक्स में इकाइयों को अनुमानित तौर पर पूरा करना.
  • नॉलेज ग्राफ़ इकाइयों का इस्तेमाल करके, कॉन्टेंट की व्याख्या करना/व्यवस्थित करना.

एपीआई के तरीकों और पैरामीटर के बारे में ज़्यादा जानकारी के लिए, एपीआई का रेफ़रंस देखें.

अनुरोध का नमूना

इस उदाहरण में एक तरह का अनुरोध दिखाया गया है, जिसे एपीआई को भेजा जा सकता है. हालांकि, पहले ज़रूरी शर्तें सेक्शन देखें. आपको अपनी एपीआई पासकोड भी डालना होगा.)

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

नॉलेज ग्राफ़ इकाइयां

नॉलेज ग्राफ़ में लाखों एंट्री हैं, जो असल दुनिया की इकाइयों के बारे में बताती हैं, जैसे कि लोग, जगहें, और चीज़ें. ये इकाइयां, ग्राफ़ के नोड बनाती हैं.

नॉलेज ग्राफ़ में मिलने वाली इकाइयों के कुछ टाइप यहां दिए गए हैं: