मूल सिद्धांत

अगर आपने Freebase के बारे में ज़्यादा नहीं जानें हैं, तो इस सेक्शन में बुनियादी शब्दावली और फ़्रीबेस के काम करने का तरीका समझने के लिए ज़रूरी सिद्धांतों के बारे में बताया गया है.

  1. ग्राफ़
  2. विषय
  3. टाइप और प्रॉपर्टी
  4. डोमेन और आईडी
  5. कंपाउंड वैल्यू के टाइप
  6. विषय का आईडी
  7. नेमस्पेस, कुंजियां, और टॉपिक आईडी
  8. प्रॉपर्टी के बारे में ज़्यादा जानकारी
  9. खास जानकारी

चैत्रिक आँकड़े

फ़्रीबेस डेटा को ग्राफ़ नाम के डेटा स्ट्रक्चर में स्टोर किया जाता है. किनारों से जुड़े नोड पर ग्राफ़ बनता है. फ़्रीबेस में, नोड को /type/object का इस्तेमाल करके और किनारों को /type/link का इस्तेमाल करके तय किया जाता है. डेटा को ग्राफ़ के रूप में सेव करके Freebase, विषयों के बीच आर्बिट्रेरी कनेक्शन की जांच कर सकता है. साथ ही, डेटा के स्ट्रक्चर में बदलाव किए बिना आसानी से नया स्कीमा जोड़ सकता है.

विषय

Freebase में 3.9 करोड़ से भी ज़्यादा विषय हैं, जो असल दुनिया की इकाइयों, जैसे कि लोगों, जगहों, और चीज़ों के बारे में हैं. फ़्रीबेस डेटा एक ग्राफ़ के रूप में दिखाया जाता है, इसलिए ये विषय ग्राफ़ में मौजूद नोड से जुड़े होते हैं. हालांकि, हर नोड एक विषय नहीं होता. CVT पर मौजूद सेक्शन को उन नोड के उदाहरण के तौर पर देखें जो विषय नहीं हैं.

Freebase में पाए गए विषयों के प्रकार के उदाहरण:

कुछ विषयों को ध्यान में रखा जाता है, क्योंकि उनमें बहुत ज़्यादा डेटा होता है (उदाहरण के लिए, Wal-Mart) और कुछ फ़िल्में खास हैं, क्योंकि इनमें कई अलग-अलग विषयों के लिंक दिए गए हैं. हो सकता है कि ये विषय अलग-अलग जानकारी के डोमेन पर हों. उदाहरण के लिए, प् यार, गरीबी, चिड़चिड़ापन वगैरह के कुछ खास विषय, उनसे जुड़ी बहुत सारी प्रॉपर्टी नहीं होते. हालांकि, ये विषय अक्सर किताबों के विषय, कविता के विषय, फ़िल्म के विषय वगैरह की जानकारी देते हैं. इस वजह से ये विषय ज़्यादा नोट करने लगते हैं.

प्रॉपर्टी और टाइप

किसी भी दिए गए विषय को कई अलग-अलग नज़रियों में देखा जा सकता है. उदाहरण के लिए:

  • बॉब डिलन, गीतकार, गायक, कलाकार, किताब के लेखक, और फ़िल्म अभिनेता थे;
  • लियोनार्डो दा विंची एक पेंटर, मूर्तिकार, शरीर विज्ञानी, आर्किटेक्ट, इंजीनियर, ...; थे
  • प्यार एक किताब का विषय है, फ़िल्म का विषय होता है, कविता का विषय होता है, ...;
  • कोई भी शहर ऐसी जगह हो सकती है जो पर्यटकों का घूमने-फिरने की पसंदीदा जगह हो और प्रशासनिक अधिकारियों का काम करती हो.

कई विषयों पर अलग-अलग तरह की पहचान बनाने के लिए, हमने फ़्रीबेस में टाइप का कॉन्सेप्ट शुरू किया है. Freebase में विषयों को कितने भी प्रकार के उन्हें असाइन किए जा सकते हैं. बॉब डिलन का विषय कई तरह का होता है: गीतकार का टाइप, संगीतकार, संगीत कलाकार (गायक) टाइप, किताब के लेखक का टाइप वगैरह. हर टाइप में प्रॉपर्टी अंक का एक अलग सेट होता है. उदाहरण के लिए,

  • संगीत कलाकार प्रकार में एक ऐसी प्रॉपर्टी होती है जिसमें बॉब डिलन के बनाए गए सभी एल्बम के साथ-साथ वे सभी संगीत इंस्ट्रुमेंट भी शामिल होते हैं जिनके बारे में उन्हें पता था;
  • किताब लिखने वाले की तरह की प्रॉपर्टी में ऐसी प्रॉपर्टी है जिसमें बॉब डिलन ने लिखी या बदलाव की गई सभी किताबों की सूची दी है. साथ ही, बच्चों के विचार या आंदोलन का लेखन स्कूल भी शामिल है;
  • कंपनी के टाइप में कई चीज़ें शामिल होती हैं. इनमें कंपनी के फ़ाउंडर, बोर्ड के सदस्य, पैरंट कंपनी, डिवीज़न, कर्मचारी, प्रॉडक्ट, साल-दर-साल की आय, और मुनाफ़ा के रिकॉर्ड वगैरह शामिल होते हैं.

इसलिए, किसी प्रॉपर्टी को कॉन्सेप्ट के रूप में देखा जा सकता है. इस तरह की प्रॉपर्टी को जानकारी के किसी खास पहलू के बारे में बताने के लिए इस्तेमाल किया जाता है. (किसी कैटगरी को मिलते-जुलते रिलेशनल टेबल के जैसा समझा जा सकता है. हर "टाइप" टेबल में एक फ़ॉरेन की होती है. इस टेबल में, हर विषय के बारे में अलग से जानकारी दी जाती है.

डोमेन और आईडी

अलग-अलग प्रॉपर्टी को ग्रुप में बांटा जाता है, उसी तरह टाइप डोमेन के हिसाब से ग्रुप में रखे जाते हैं. डोमेन को अपने पसंदीदा अखबार के सेक्शन की तरह समझें: कारोबार, लाइफ़ स्टाइल, कला और मनोरंजन, राजनीति, अर्थशास्त्र वगैरह. हर डोमेन को एक आईडी (आइडेंटिफ़ायर) दिया जाता है, जैसे,

  • /business कारोबार के डोमेन का आईडी है
  • /music - संगीत डोमेन
  • /film - फ़िल्म डोमेन
  • /medicine - मेडिसिन डोमेन

डोमेन का आईडी, फ़ाइल पाथ या वेब पते के पाथ की तरह दिखता है.

हर टाइप को एक आईडी दिया जाता है और उसका आईडी उस डोमेन पर आधारित होता है जिससे वह जुड़ा है. उदाहरण के लिए, कंपनी का टाइप, कारोबार के डोमेन का है और उसे आईडी /business/company दिया गया है. यहां कुछ अन्य उदाहरण दिए गए हैं:

  • /music/album (संगीत) एल्बम टाइप का आईडी, संगीत डोमेन का होता है
  • /film/actor - फ़िल्म डोमेन का ऐक्टर टाइप
  • /medicine/disease - मेडिसिन डोमेन में बीमारी का टाइप

जिस तरह कोई टाइप अपने डोमेन से आईडी की शुरुआत करता है उसी तरह प्रॉपर्टी भी उसी तरह के आईडी से शुरुआत करती है जिससे वह जुड़ा है. उदाहरण के लिए, कंपनी के टाइप की इंडस्ट्री प्रॉपर्टी (इसका इस्तेमाल यह बताने के लिए किया जाता है कि कंपनी किस उद्योग में है) को आईडी /business/company/industry दिया गया है. यहां कुछ अन्य उदाहरण दिए गए हैं:

  • /automotive/engine/horsepower (ऑटोमोटिव) इंजन प्रकार की हॉर्सपावर प्रॉपर्टी का आईडी है
  • /astronomy/star/planet_s, स्टार टाइप की प्लैनेट प्रॉपर्टी का आईडी होता है. इसका इस्तेमाल स्टार के आस-पास ग्रहों की लिस्टिंग के लिए किया जाता है
  • /language/human_language/writing_system, ह्यूमन लैंग्वेज टाइप की राइटिंग सिस्टम प्रॉपर्टी का आईडी है

इस प्रकार, भले ही फ़्रीबेस में प्रकारों को पदानुक्रम में व्यवस्थित नहीं किया गया है, फिर भी डोमेन, प्रकार और प्रॉपर्टी को फ़ाइल निर्देशिका जैसे क्रम में सैद्धांतिक रूप से व्यवस्थित किए गए आईडी दिए जाते हैं.

कंपाउंड वैल्यू के टाइप

कंपाउंड वैल्यू टाइप, Freebase में मौजूद एक टाइप है. इसका इस्तेमाल डेटा दिखाने के लिए किया जाता है, जिसमें हर फ़ील्ड में एक से ज़्यादा फ़ील्ड होते हैं. कंपाउंड वैल्यू टाइप या CVT का इस्तेमाल, कॉम्प्लेक्स डेटा को दिखाने के लिए Freebase में किया जाता है. हो सकता है कि शुरुआत में यह थोड़ा भ्रम की स्थिति में हो, लेकिन सीवीटी, फ़्रीबेस स्कीमा का एक अहम हिस्सा है. इस वजह से, यह विषय के बीच मुश्किल संबंधों को सटीक तरीके से दिखाने में मदद करता है.

नीचे दिए गए उदाहरण पर ध्यान दें: किसी शहर की जनसंख्या में समय के साथ बदलाव होता है. इसका मतलब यह है कि जब भी जनसंख्या के लिए Freebase की क्वेरी की जाती है, तो आप कम से कम जनसंख्या को किसी खास तारीख के लिए पूछ रहे हैं. इसमें दो वैल्यू, कई लोग, और तारीख शामिल हैं. यहां ऐसी स्थिति दी गई है जिसमें सीवीटी का इस्तेमाल बहुत ज़्यादा किया जाता है. एक भी डेटा न होने पर, आपको जनसंख्या डेटा को मॉडल करने के लिए एक विषय बनाना होगा. उसे कुछ नाम देना होगा, जैसे कि "1997 में वैंकूवर की जनसंख्या". इसके बाद, वहां उस जानकारी को सबमिट करें.

सीवीटी एक ऐसा विषय हो सकता है जिसके लिए आपको डिसप्ले नेम बनाने की ज़रूरत नहीं होती. सामान्य विषयों की तरह, सीवीटी में एक GUID होता है, जिसका रेफ़रंस अलग से दिया जा सकता है. हालांकि, Freebase क्लाइंट उन्हें विषयों से बिलकुल अलग मानता है. ज़्यादातर मामलों में, सीवीटी की हर प्रॉपर्टी एक विवादास्पद प्रॉपर्टी होनी चाहिए.

विषय MID

हालांकि, नेमस्पेस या मुख्य आईडी की मदद से, किसी विषय की पहचान नहीं हो पाती, लेकिन इसकी पहचान हमेशा MID या मशीन आइडेंटिफ़ायर से की जा सकती है. इस आइडेंटिफ़ायर के बाद में /m/ होता है. इसके बाद, बेस-32 यूनीक आइडेंटिफ़ायर लिखा होता है. एमआईडी, बनाते समय दिए जाने वाले विषयों के लिए असाइन किए जाते हैं. इन्हें विषय के लाइफ़टाइम में मैनेज किया जाता है. विषय मर्ज या स्प्लिट करने में अहम भूमिका निभाती है, लेकिन बाहरी ऐप्लिकेशन को लॉजिकल टॉपिक को ट्रैक करने की अनुमति मिलती है. हालांकि, फ़िज़िकल फ़्रीबेस आइडेंटिटी (विषय का GUID) बदल सकता है. मशीन से बनाए गए आईडी, ऐसे अन्य फ़्रीबेस आईडी से अलग होते हैं जिन्हें लोग पढ़ सकते हैं (ये "आईडी" प्रॉपर्टी से दिखाए जाते हैं) और वे:

  • मौजूद होने की गारंटी
  • मशीन से जनरेट की गई
  • ऑफ़लाइन तुलना करने के लिए डिज़ाइन किया गया
  • इंसानों को समझाने के लिए नहीं बनाया गया
  • छोटा (शायद एक तय समय पर)
  • एक्सटर्नल सिस्टम और कॉम्पोनेंट (एक्सटर्नल, एक्सचेंज) के बीच फटाफट एक्सचेंज करने के लिए सबसे सही विकल्प

MIDs आईडी, फ़्रीबेस में दिए गए विषयों के बारे में बताने के लिए सुझाया गया आइडेंटिफ़ायर है

नेमस्पेस, कुंजियां, और विषय आईडी

डोमेन, टाइप, और प्रॉपर्टी आईडी वाली फ़ाइल डायरेक्ट्री जैसी हैरारकी, एक सामान्य कॉन्सेप्ट का सिर्फ़ एक ऐप्लिकेशन है: नेमस्पेस और बटन. नेमस्पेस, फ़ाइल डायरेक्ट्री की तरह और कुंजी, फ़ाइल नाम की तरह होती है. जिस तरह किसी खास फ़ाइल डायरेक्ट्री में मौजूद सभी फ़ाइल के नाम अलग-अलग होने चाहिए, उसी तरह किसी खास नेमस्पेस के सभी बटन भी एक-दूसरे से अलग होने चाहिए.

ज़्यादा खास उदाहरण के तौर पर, /business कारोबार के डोमेन के लिए नेमस्पेस है. इसमें, कारोबार से जुड़े टाइप को कुंजियां दी जाती हैं (उदाहरण के लिए, company), दोनों अलग-अलग हैं. हर तरह के आईडी को, उसके नेमस्पेस के आईडी के साथ जोड़कर बनाया जाता है (उदाहरण के लिए, /business/company).

नेमस्पेस के बगल में कई तरह के नेमस्पेस होते हैं, जो डोमेन और टाइप से जुड़े होते हैं. सबसे ज़्यादा इस्तेमाल किया जाने वाला और अक्सर मिलने वाला /en नेमस्पेस है. यह अंग्रेज़ी नाम स्थान है, जो सबसे जाने-माने विषयों को लोगों के पढ़ने लायक अंग्रेज़ी आईडी बनाने के लिए खास कुंजियां दे सकता है. उदाहरण के लिए, फ़ायदेमंद बॉब डिलन इतने मशहूर हैं कि फ़्रीबेस में उनके विषय को /en नेमस्पेस में bob_dylan दिया जाता है और इस तरह विषय का आईडी /en/bob_dylan है. आप इस आईडी की मदद से, वेब क्लाइंट पर अपने विषय को आसानी से यूआरएल ऐक्सेस कर सकते हैं

प्रॉपर्टी के बारे में ज़्यादा जानकारी

चर्चा करने वाले अंतिम बुनियादी सिद्धांत में फ़्रीबेस प्रॉपर्टी और रिलेशनल डेटाबेस टेक्नोलॉजी, और रिलेशनल टेबल कॉलम में उनकी तुलना के बीच एक बड़ा अंतर शामिल है. हर पंक्ति के लिए, रिलेशनल टेबल कॉलम में सिर्फ़ एक वैल्यू हो सकती है. उदाहरण के लिए, एक सामान्य "किताब" रिलेशनल टेबल बनाएं, जिसमें "लेखक" नाम का कॉलम हो. "किताब" टेबल की हर पंक्ति के लिए, "लेखक" कॉलम में सिर्फ़ एक विदेशी कुंजी को "लेखक" टेबल में रखा जा सकता है. अगर किसी किताब में कई लेखक मौजूद हैं, तो रिलेशनल स्कीमा का यह डिज़ाइन काम नहीं करता. साथ ही, लेखकों को मॉडल करने के लिए, हमें एक नई टेबल बनानी होगी. इसका मतलब है कि किताबों और लेखकों के बीच नी-टू-एन रिलेशनशिप को सेव करने के लिए, हमें एक "बुक" टेबल, एक "लेखक" टेबल, और एक "लेखक" टेबल की ज़रूरत होगी. जैसे-जैसे आप एक स्कीमा डिज़ाइन से दूसरे पर जाते हैं, डेटा को वापस पाने का तरीका पूरी तरह से बदलता है.

पुरानी डेटाबेस टेक्नोलॉजी के उलट, फ़्रीबेस एक से ज़्यादा वैल्यू वाली प्रॉपर्टी को रीयल-लाइफ़ डेटा मॉडल करने के लिए बहुत पसंद करता है. यह डिफ़ॉल्ट रूप से, एक से ज़्यादा वैल्यू वाली प्रॉपर्टी के साथ काम करता है. इसका मतलब है कि जब /book/written_work/author प्रॉपर्टी बनाई गई थी, तो यह माना जाता है कि उसे हर किताब के लिए एक से ज़्यादा लेखकों को अनुमति दे सकती है. साथ ही, एक से ज़्यादा वैल्यू वाली प्रॉपर्टी और एक वैल्यू वाली प्रॉपर्टी के लिए ठीक उसी तरह क्वेरी की जा सकती है. अगर आपको किसी ऐसी तीसरी टेबल में शामिल होने की ज़रूरत नहीं है जो एन-टू-एन रिलेशनशिप के बारे में बताती हो, तो आपको सोचने की ज़रूरत नहीं है.

खास जानकारी

  • टाइप, संबंधित प्रॉपर्टी का एक कॉन्सेप्ट है, जिसे आम तौर पर किसी विषय के किसी खास पहलू के बारे में बताने के लिए ज़रूरी होता है.
  • किसी विषय को एक या इससे ज़्यादा टाइप असाइन किए जा सकते हैं (डिफ़ॉल्ट टाइप /common/topic है)
  • प्रॉपर्टी के ग्रुप टाइप होने की वजह से, उन्हें डोमेन के हिसाब से ग्रुप में रखा जाता है.
  • नेमस्पेस, कुंजी के क्रम में, प्रॉपर्टी, और डोमेन को टाइप के तौर पर आईडी दिए जाते हैं.
  • सामान्य तौर पर जाने-माने विषयों को /en नेमस्पेस में आईडी दिए जाते हैं. ये ऐसी स्ट्रिंग होती हैं जिन्हें लोग पढ़ सकते हैं.
  • GUID में फ़्रीबेस में विषयों की खास तौर से पहचान की जाती है.
  • प्रॉपर्टी डिफ़ॉल्ट रूप से कई वैल्यू वाली होती हैं. साथ ही, एक से ज़्यादा वैल्यू वाली प्रॉपर्टी और एक वैल्यू वाली प्रॉपर्टी के लिए, एक ही तरह से क्वेरी की जा सकती है.