নলেজ গ্রাফ সার্চ API আপনাকে Google নলেজ গ্রাফে সত্তা খুঁজে পেতে দেয়। API স্ট্যান্ডার্ড schema.org প্রকার ব্যবহার করে এবং JSON-LD স্পেসিফিকেশনের সাথে সঙ্গতিপূর্ণ।
সাধারণ ব্যবহারের ক্ষেত্রে
আপনি কীভাবে নলেজ গ্রাফ অনুসন্ধান API ব্যবহার করতে পারেন তার কিছু উদাহরণ অন্তর্ভুক্ত:
- নির্দিষ্ট মানদণ্ডের সাথে মেলে এমন উল্লেখযোগ্য সত্তাগুলির একটি র্যাঙ্ক করা তালিকা পাওয়া।
- একটি অনুসন্ধান বাক্সে ভবিষ্যদ্বাণীমূলকভাবে সম্পূর্ণ সত্তা।
- নলেজ গ্রাফ সত্তা ব্যবহার করে বিষয়বস্তু টীকা/সংগঠিত করা।
API পদ্ধতি এবং পরামিতি সম্পর্কে বিস্তারিত তথ্যের জন্য, API রেফারেন্স দেখুন।
নমুনা অনুরোধ
নিম্নলিখিত উদাহরণটি এক ধরনের অনুরোধ দেখায় যা আপনি 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
সাথে মিলে যাওয়া এন্ট্রি প্রদান করে।
পাইথন
"""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']) + ')')
জাভা
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(); } } }
জাভাস্ক্রিপ্ট
<!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 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/>'; }
নলেজ গ্রাফ সত্তা
নলেজ গ্রাফে লক্ষ লক্ষ এন্ট্রি রয়েছে যা মানুষ, স্থান এবং জিনিসের মতো বাস্তব-বিশ্বের সত্তা বর্ণনা করে। এই সত্তাগুলি গ্রাফের নোড গঠন করে।
নলেজ গ্রাফে পাওয়া কিছু সত্তার ধরন নিচে দেওয়া হল: