इस दस्तावेज़ में, डीएसपीएल और कैननिकल सिद्धांत की "रेसिपी" की कुकबुक शामिल है. यहां ट्यूटोरियल और डेवलपर गाइड में बताए गए, बुनियादी भाषा की सुविधाओं के अलावा, बहुत से कामों के लिए, सिलसिलेवार निर्देश दिए गए हैं. नीचे दिए गए कॉन्टेंट में, पिछले दस्तावेज़ों की जानकारी दी गई है. इसलिए, "कुकिंग" शुरू करने से पहले, इन्हें ज़रूर पढ़ें.
हर रेसिपी की शुरुआत लक्ष्य की होती है. इसके बाद, निर्देशों की एक खास सूची होती है. कई बार DSPL स्निपेट या बाहरी उदाहरणों के लिंक भी दिए गए हैं. अगर आपका रेसिपी के बारे में कोई सुझाव है या आपको दूसरों को कोई सुझाव देना है, तो कृपया DSPL फ़ोरम में मैसेज पोस्ट करें.
मूल रेसिपी
डिसप्ले नेम की जानकारी देना
लक्ष्य
"डाइमेंशन" कॉन्सेप्ट के हर इंस्टेंस के साथ "डिसप्ले नाम" जोड़ें. ये नाम, कॉन्सेप्ट इंस्टेंस आईडी के बजाय, सार्वजनिक डेटा एक्सप्लोरर के यूज़र इंटरफ़ेस (यूआई) में दिखेंगे. इन आईडी को आम तौर पर समझना आसान और मुश्किल होता है.
तरीका
- अपने कॉन्सेप्ट को आगे बढ़ाएं
entity:entity.
- कॉन्सेप्ट के कॉन्सेप्ट की जानकारी देने वाली टेबल में
name
कॉलम जोड़ें. - हर इंस्टेंस के नाम के साथ, बाद वाली प्रॉपर्टी को पॉप्युलेट करें.
ज़रूरी जानकारी
- अपने कॉन्सेप्ट मेटाडेटा में साफ़ तौर पर
name
प्रॉपर्टी बताने की ज़रूरत नहीं है. जब आपentity:entity
को बढ़ाते हैं, तो यह परिभाषा अपने-आप शामिल हो जाती है. - साथ ही, इंस्टेंस लेवल के ब्यौरे और यूआरएल देने के लिए, आप
description
औरinfo_url
कॉलम भी जोड़ सकते हैं.
सिद्धांत के क्रम बनाना
लक्ष्य
डाइमेंशन (डाइमेंशन) के क्रम को बनाएं. ये पब्लिक डेटा एक्सप्लोरर यूज़र इंटरफ़ेस (यूआई) में एक ट्री के तौर पर दिखेंगे. इससे उपयोगकर्ता, ग्रुप के ग्रुप को समझ पाएंगे और उनके बीच नेविगेट कर पाएंगे.
तरीका
- "पैरंट" सिद्धांत तय करें (उदाहरण के लिए,
region
- "चाइल्ड" कॉन्सेप्ट के बारे में बताएं (उदाहरण के लिए,
subregion
- चाइल्ड में ऐसी प्रॉपर्टी जोड़ें जो पैरंट का रेफ़रंस देती हो और उसमें
isParent
एट्रिब्यूट शामिल हो:<property concept="..." isParent="true"/>
जहां बिंदु डॉट की जगह पैरंट आईडी का इस्तेमाल करते हैं. - बच्चे के लिए परिभाषा टेबल में, एक कॉलम जोड़ें जो पैरंट का रेफ़रंस देता है.
- हर चाइल्ड इंस्टेंस के लिए, बाद वाले को पैरंट कॉन्सेप्ट के मान्य इंस्टेंस से पॉप्युलेट करें.
ज़रूरी जानकारी
- इसका उदाहरण देखने के लिए, ट्यूटोरियल डेटासेट में
country
/state
के बारे में जानें. - बच्चे के लिए तय किया गया हर पैरंट आईडी, पैरंट की परिभाषा टेबल में होना चाहिए. ऐसा न करने पर, इंपोर्ट करने वाला व्यक्ति गड़बड़ी पैदा करेगा.
- माता-पिता और बच्चे एक ही कॉन्सेप्ट पर काम कर सकते हैं. उदाहरण के लिए, सेल्फ़-रेफ़रंस के क्रम में. इसका उदाहरण देखने के लिए,
यूएस रीटेल बिक्री डेटासेट
में
business
सिद्धांत देखें.
कॉन्सेप्ट इंस्टेंस की कैटगरी तय करना
लक्ष्य
कॉन्सेप्ट इंस्टेंस के लिए कैटगरी बनाएं, जो पब्लिक डेटा एक्सप्लोरर कलर पिकर में विकल्पों के तौर पर दिखेंगे.
तरीका
- "कैटगरी" सिद्धांत तय करें (उदाहरण के लिए,
income_level
- "चाइल्ड" कॉन्सेप्ट के बारे में बताएं (उदाहरण के लिए,
country
- चाइल्ड में ऐसी प्रॉपर्टी जोड़ें जो कैटगरी के कॉन्सेप्ट को दिखाती है और जिसमें
name
एलिमेंट शामिल होता है:<property concept="..."/> <info> <name><value>"..."</value></name> </info> </property>
जिसमें डॉट के पहले सेट को कैटगरी कॉन्सेप्ट आईडी से बदला जाता है और दूसरे सेट को आपकी प्रॉपर्टी के लिए डिसप्ले के नाम से बदला जाता है (उदाहरण, "आय का स्तर" - बच्चे के लिए परिभाषा टेबल में, एक ऐसा कॉलम जोड़ें जो कैटगरी के कॉन्सेप्ट को दिखाता हो.
- हर चाइल्ड इंस्टेंस के लिए, बाद वाले को कैटगरी कॉन्सेप्ट के एक मान्य इंस्टेंस से पॉप्युलेट करें.
ज़रूरी जानकारी
- एक कॉन्सेप्ट में कई प्रॉपर्टी हो सकती हैं, जो कैटगरी के तौर पर काम करती हैं. ऐसे में, उपयोगकर्ता को सभी प्रॉपर्टी कलर पिकर में विकल्प के तौर पर दिखेंगी.
- इनमें से कोई एक कैटगरी, यूज़र इंटरफ़ेस (यूआई) में क्रम के हिसाब से उदाहरणों को व्यवस्थित करने के लिए, पैरंट भी हो सकती है. ज़्यादा जानकारी के लिए पिछली रेसिपी देखें.
कॉन्सेप्ट इंस्टेंस के लिए, क्रम से लगाने का क्रम तय करना
लक्ष्य
कॉन्सेप्ट के इंस्टेंस के लिए, क्रम से लगाने का तरीका बताएं. इस क्रम का इस्तेमाल तब किया जाता है, जब आप सार्वजनिक डेटा एक्सप्लोरर विज़ुअलाइज़ेशन पेजों के बाएं नेविगेशन में उदाहरणों को शामिल करते हैं.
तरीका
- अपने कॉन्सेप्ट को
entity:entity
या उसके किसी एक बच्चे को आगे बढ़ाने के लिए (उदाहरण के लिए,geo:location
- अपने कॉन्सेप्ट मेटाडेटा में
entity_order
एट्रिब्यूट जोड़ें. - पिछली वैल्यू को
ALPHA
याTABLE
में से किसी एक पर सेट करें. पहले वाली वैल्यू की वजह से, इंस्टेंस उनके डिसप्ले नेम में क्रम से लगाए जाएंगे. वहीं, बाद वाले इंस्टेंस, कॉन्सेप्ट की परिभाषा वाली टेबल में दिखने वाले उसी क्रम में रखे जाएंगे.
ज़रूरी जानकारी
ALPHA
फ़िलहाल डिफ़ॉल्ट रूप से इस्तेमाल किया जा रहा है. इसलिए, अगर आपको इस ऑर्डर का इस्तेमाल करना है, तो ऊपर बताया गया तरीका ज़रूरी नहीं है.- उदाहरण के लिए
entity:entity
दस्तावेज़ देखें.
टाइम रेसिपी
तिमाही का डेटा
लक्ष्य
तीन महीने या उससे पहले के समय के डेटा में बदलाव करें.
तरीका
- अपने स्लाइस डेटा में मौजूद सभी तिमाही को महीनों में बदलें (उदाहरण, तिमाही का पहला महीना).
- अपने डाइमेंशन के स्लाइस
time:month
में इस डाइमेंशन का इस्तेमाल करें.
हफ़्ते का डेटा
लक्ष्य
हफ़्ते के अंतराल में दिए गए डेटा को विज़ुअलाइज़ करें.
तरीका
- अपने स्लाइस डेटा में मौजूद सभी हफ़्तों को दिन में बदलें (उदाहरण के लिए, हफ़्ते का पहला दिन).
- अपने डाइमेंशन के स्लाइस एक्सएमएल में, इस डाइमेंशन को
time:day
मानें.
भौगोलिक रेसिपी
country
या state
कैननिकल कॉन्सेप्ट का इस्तेमाल करना
लक्ष्य
इसके अलावा, कैननिकल country
या state
का इस्तेमाल करने के साथ-साथ अक्षांश/देशांतर की सभी वैल्यू वगैरह को इंपोर्ट करें. इससे, ये डेटासेट में तय नहीं होंगी.
तरीका
- पक्का करें कि आपके स्लाइस डेटा CSV में मौजूद देश और/या अमेरिका के सभी रेफ़रंस, कैननिकल देश और राज्य की परिभाषा टेबल में दिए गए मान्य आईडी हों.
- इससे जुड़े स्लाइस में, डाइमेंशन के तौर पर
geo:country
और/याgeo_us:state
जोड़ें. - पक्का करें कि इन कॉलम के नाम, पिछले कॉन्सेप्ट के नाम से मेल खाते हों.इसमें इंपोर्ट किए गए डेटासेट का नाम शामिल नहीं है. उदाहरण के लिए,
country
) या अगर नहीं, तो अपनी स्लाइस की परिभाषा मेंmapDimension
शामिल करें. उदाहरण:<slice id="..."> ... <dimension concept="geo:country"/> ... <mapDimension concept="geo:country" toColumn="my_country"/> </slice>
सिर्फ़ कैननिकल देशों या राज्यों के किसी सबसेट का इस्तेमाल करना
लक्ष्य
कैननिकल जियो कॉन्सेप्ट के सबसेट का इस्तेमाल करें, ताकि Public Data Explorer यूज़र इंटरफ़ेस (यूआई) में सिर्फ़ यह सबसेट (न कि पूरी सूची, जैसे कि दुनिया के सभी देश) दिखे.
तरीका
- सुपरसेट के कॉन्सेप्ट को बढ़ाने वाला लोकल कॉन्सेप्ट बताएं. उदाहरण:
<concept id="my_country_subset" extends="geo:country"> ... </concept>
- जुड़ी हुई कॉन्सेप्ट की जानकारी वाली CSV फ़ाइल में, सिर्फ़ उस सुपरसेट कॉन्सेप्ट के आईडी शामिल करें जिसका इस्तेमाल करना है. उदाहरण:
my_country_subset FR MX US
ज़रूरी जानकारी
- आपके सबसेट के कॉन्सेप्ट का हर इंस्टेंस, सुपरसेट कॉन्सेप्ट का एक मान्य इंस्टेंस होना चाहिए. नए इंस्टेंस की मदद से, इस कॉन्सेप्ट को "बड़ा" नहीं किया जा सकता.
अपने भौगोलिक सिद्धांत तय करना
लक्ष्य
खुद के भौगोलिक कॉन्सेप्ट बनाएं, जिन्हें एक्सप्लोर किया जा सके और मैप किया जा सके. जैसे, कैननिकल यूआरएल और Google की परिभाषा.
तरीका
- ऐसा सिद्धांत बनाएं जिसमें
geo:location
शामिल हो. - कॉन्सेप्ट से जुड़े डेफ़िनिशन टेबल में,
name
,latitude
, औरlongitude
कॉलम शामिल करें. - अपने कॉन्सेप्ट के हर इंस्टेंस की बाद वाली प्रॉपर्टी को पॉप्युलेट करें. अक्षांश और देशांतर की वैल्यू, फ़्लोट के साथ फ़्लोट हैं. N और E पॉज़िटिव हैं और W और S नेगेटिव हैं.
ज़रूरी जानकारी
- अपनी कॉन्सेप्ट की जानकारी में
name
,latitude
, औरlongitude
प्रॉपर्टी को शामिल करने की ज़रूरत नहीं है.geo:location
को बढ़ाने पर ये अपने-आप शामिल हो जाती हैं. - ट्यूटोरियल डेटासेट में उदाहरण के लिए
state
की परिभाषा देखें.
मेट्रिक और यूनिट रेसिपी
प्रतिशत का इस्तेमाल करना
लक्ष्य
किसी (मेट्रिक) सिद्धांत को परिभाषित करें, जो किसी अन्य बात का प्रतिशत हो.
तरीका
- अपने वीडियो के कॉन्सेप्ट को
quantity:ratio
तक बढ़ाएं. is_percentage
एट्रिब्यूट कोtrue
पर सेट करें.<attribute id="is_percentage"> <value>true</value> </attribute>
- इसके अलावा,
percentage_of
एट्रिब्यूट को इस कॉन्सेप्ट के आधार पर सेट करें कि यह कॉन्सेप्ट का प्रतिशत क्या है. उदाहरण:<attribute id="percentage_of"> <value>labor force</value> </attribute>
currency
यूनिट का इस्तेमाल किया जा रहा है
लक्ष्य
ऐसी मुद्रा (मेट्रिक) सिद्धांत तय करें जिसमें मुद्रा की इकाइयां शामिल हों (उदाहरण के लिए, अमेरिकन डॉलर में शुल्क लिया जाएगा.
तरीका
- अपनी मेट्रिक में
quantity:quantity
या उसके किसी एक बच्चे को शामिल करें, जैसे किquantity:amount
. - एक
unit
एट्रिब्यूट जोड़ें जोunit:currency
का रेफ़रंस देता हो. साथ ही, इसकी वैल्यू को उससे जुड़ी मुद्रा की जानकारी देने वाली टेबल से किसी आईडी पर सेट करें. उदाहरण:<concept id="..."> <attribute concept="unit:currency"> <value>EUR</value> </attribute> </concept>
कस्टम यूनिट बनाना
लक्ष्य
अपनी एक या ज़्यादा मेट्रिक के लिए कस्टम यूनिट बनाएं.
तरीका
- ऐसा सिद्धांत बनाएं जिसमें
unit:unit
शामिल हो. - इससे जुड़े डेफ़िनिशन टेबल में
unit_text
औरsymbol
कॉलम जोड़ें. वैकल्पिक रूप से, अगर आप निशान की जगह अडजस्ट करना चाहते हैं, तो आपsymbol_position
कॉलम भी जोड़ सकते हैं. - अपनी यूनिट के हर इंस्टेंस की बाद वाली प्रॉपर्टी के लिए वैल्यू भरें. "क्षेत्र" इकाइयों का CSV उदाहरण:
my_unit,unit_text,symbol,symbol_position SQKM,square kilometers,km²,END SQML,square miles,miles²,END
- (मेट्रिक) कॉन्सेप्ट में अपनी नई यूनिट का इस्तेमाल करने के लिए, पक्का करें कि बाद वाली यूनिट का दायरा
quantity:quantity
या उसके किसी एक चिल्ड्रन का हो. इसके बाद, कोई ऐसा एट्रिब्यूट जोड़ें जो आपके यूनिट के कॉन्सेप्ट को रेफ़र करता हो. उदाहरण:<concept id="..." extends="quantity:amount"> ... <attribute concept="my_unit"> <value>SQKM</value> </attribute> ... </concept>
ज़रूरी जानकारी
- अगर आपके यूनिट कॉन्सेप्ट में सिर्फ़ एक इंस्टेंस है, तो आप इसके परिभाषा टेबल से आईडी
कॉलम हटा सकते हैं. साथ ही, इसे इस्तेमाल करने वाली मेट्रिक में
value
टैग भी हटा सकते हैं. - उदाहरण के लिए, कैननिकल मुद्रा कॉन्सेप्ट की परिभाषा देखें.