RDF पचास या उससे कम शब्दों में
ठीक है, शायद यह पचास शब्दों से थोड़ा अधिक है, लेकिन मुख्य बिंदु बहुत सरल हैं (और आप के लिए बोल्ड पाठ में दिया गया है जो प्रबंधक-प्रकार हैं जो सिर्फ सीधे काम की बात करना चाहते हैं)। वास्तव में Resource Description Framework , या "RDF", दो चीजें हैं।
पहला, RDF एक ग्राफ-आधारित मॉडल है जो इंटरनेट संसाधनों (जैसे कि वेब पेज और ईमेल संदेश), और यह संसाधन एक दूसरे से कैसे संबंधित हैं इनका वर्णन करने के लिए है।
लेकिन वास्तव में इसका क्या मतलब है? डेवलपर के लिए, इसका मतलब है कि RDF डेटा मॉडल ("ग्राफ") को इंटरनेट संसाधनों को एकीकृत और व्यवस्थित करने के लिए एक तंत्र के रूप में इस्तेमाल किया जा सकता है।
चलिए एक उदाहरण देखते हैं: बुकमार्क। इस समय, अधिकांश वेब ब्राउज़र आपको अपने बुकमार्क को फ़ोल्डर में व्यवस्थित करने देते हैं। प्रत्येक बुकमार्क एक वेब पेज का एक संकेतक होता है जिसे URI (Uniform Resource Identifier) कहा जाता है।
लेकिन एक वेब पेज सिर्फ एक प्रकार का इंटरनेट संसाधन है। ईमेल संदेश, रेडिट लेख, आरएसएस फ़ीड और आपके पसंदीदा वेब क्रॉलर से खोज परिणाम सहित कई अन्य चीजें हैं, बस कुछ के नाम बताएं। और बुनियादी तौर पर, ऐसा कोई कारण नहीं है कि आप इन्हें “बुकमार्क” साथ ही, उन्हें अपनी इच्छानुसार फ़ोल्डरों में एक साथ समूहीकृत करना, या शायद “स्मार्ट” बनाना भी; फ़ोल्डर्स, जब आप उन्हें खोलते हैं, तो आपके द्वारा परिभाषित सामान्य खोज चलाकर गतिशील रूप से उनकी सामग्री उत्पन्न करते हैं।
और वास्तव में एक "बुकमार्क" के साथ इसके स्वेच्छित गुण हो सकते हैं: हो सकता है कि आप बुकमार्क के लिए अपनी "वर्गीकरण" योजना का आविष्कार करना चाहें एक ला मैकिंटोश की "हॉट", "वार्म", "कूल" रंग वाली कोडिंग। या फिर आप किसी एक बुकमार्क को अन्य किसी बुकमार्क से संबंधित करना चाहते हैं, या एक बार में इसे कई "फ़ोल्डर" में रख सकते हैं।
RDF ग्राफ एक आदर्श डेटा मॉडल प्रदान करता है जिस पर एक "सार्वभौमिक" बुकमार्क सेवा तैयार की जा रही है जैसा कि ऊपर वर्णित है: ग्राफ में स्वेच्छित संसाधनों के लिए संकेतक शामिल हो सकते हैं और उनको किसी भी तरह से समूह में जोड़ सकते हैं जिसकी आप कल्पना कर सकते हैं।
लेकिन रुको, और भी है...
दूसरा, RDF एक सीरियललाइज्ड सिंटेक्स है। यह सिंटेक्स ग्राफ़-जैसे मॉडल को "एजेंटों" के बीच संचारित करने की अनुमति देता है।
ठीक है, इसका क्या मतलब है? मूल रूप से, इसका मतलब है कि RDF डेटा मॉडल के कुछ हिस्सों को नेटवर्क की सीमाओं में संचारित किया जा सकता है, और जैसे ही जानकारी एक दूरस्थ सेवा से आती है ग्राफ़ की सामग्री गतिशील रूप से बदल सकती है।
हम वापिस हमारे बुकमार्क उदाहरण पर जाते हैं। मान लो कि मेरा एक बुकमार्क "फ़ोल्डर्स" वास्तव में मेरे ईमेल इनबॉक्स का सूचक है: जब मैं उस फ़ोल्डर को खोलता हूँ, देखो! सभी संदेश देखें जो रात भर में मेरे द्वारा प्राप्त हुए हैं।
लेकिन यह कैसे हुआ? वास्तव में इनबॉक्स "फ़ोल्डर" इंटरनेट संसाधन के लिए केवल एक संकेतक होता है जिसमें अधिक RDF शामिल होता है जो ग्राफ को फैलता है। यह "इंटरनेट संसाधन" एक URI था जो कि CGI स्क्रिप्ट पर केंद्रित था (मान लो, <code>http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&folder=inbox</code>). वास्तव में सीजीआई स्क्रिप्ट सीरियललाइज्ड RDF उत्पन्न करती है, जो मूल रूप से एक ग्राफ़ को XML में स्वरूपित करने का एक तरीका है:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:sm="http://www.mozilla.org/smart-mail/schema#"
xmlns:schema="https://schema.org/">
<rdf:Description rdf:nodeID="n-101"
about="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&folder=inbox">
<sm:message id="4025293">
<sm:recipient>Chris Waterson "waterson@google.com"</sm:recipient>
<sm:sender>Aunt Helga "helga@ancestry.net"</sm:sender>
<sm:received-by>x-wing.mcom.com</sm:received-by>
<sm:subject>Great recipe for Banana Bread</sm:subject>
<sm:body>
<rdf:Description rdf:nodeID="n-201">
<schema:name>Aunt Helga's World Famous Banana Bread</schema:name>
<schema:recipeInstructions>
Preheat the oven to 350 degrees. Mix in the ingredients in a bowl.
Add the flour last.
Pour the mixture into a loaf pan and bake for one hour.
</schema:recipeInstructions>
<schema:recipeIngredient>3 or 4 ripe bananas, smashed.</schema:recipeIngredient>
<schema:recipeIngredient>1 egg</schema:recipeIngredient>
<schema:recipeIngredient>3/4 cup of sugar</schema:recipeIngredient>
<schema:suitableForDiet>http://schema.org/LowFatDiet</schema:suitableForDiet>
<schema:cookTime>PT1H</schema:cookTime>
<schema:recipeYield>1 loaf</schema:recipeYield>
<schema:prepTime>PT1H</schema:prepTime>
<rdf:type rdf:resource="http://schema.org/Recipe"/>
<schema:nutrition rdf:nodeID="n-202"/>
</rdf:Description>
<rdf:Description rdf:nodeID="n-301">
<rdf:type rdf:resource="http://schema.org/NutritionInformation"/>
<schema:fatContent>9 grams fat</schema:fatContent>
<schema:calories>240 calories</schema:calories>
</rdf:Description>
</sm:body>
</sm:message>
</rdf:Description>
</rdf:RDF>
ऊपर की अपरूपता प्राप्त होने पर, RDF इंजन RDF को उचित जगह पर ग्राफ़ में तह करता है, और ट्री नियंत्रण जो कि UI को बुकमार्क्स में लागू करता है, को सूचित किया जाता है कि चाची हेल्गा से केला रोटी के बारे में नवीनतम संदेश के लिए कुछ आइकन खींचना शुरू कर देना चाहिए।