यह लोकगीतों, polysemy और इस तरह से मेटा पर एक और सैद्धांतिक उत्तर देने के लिए आकर्षक है! चूंकि मैं स्टैक ओवरफ्लो पक्ष पर जवाब दे रहा हूं, इसलिए मैं कोशिश करता हूं और थोड़ा सा तकनीकी उत्तर देता हूं। StackOverflow Data Explorer का उपयोग कर चलने वाले प्रश्न मुझे आपके प्रश्नों का उत्तर देने का प्रयास करने की अनुमति देंगे (मैं स्टैक ओवरफ्लो से संबद्ध नहीं हूं इसलिए मैं निश्चित रूप से नहीं जान सकता)।
स्टैक ओवरव्लो पर मास्टर/समानार्थी टैग संबंध सावधानी से stewarded और खेती की जाती है।डेटा एक्सप्लोरर से लिखने के समय:
- टैग 29488 पंक्तियों
- TagSynonyms 1916 पंक्तियों
यह अन्य folksonomies के साथ इस विपरीत दिलचस्प है, एक लेख "Technorati tags: Good idea, terrible implementation" राज्यों है।
"Technorati का विज्ञापन करता है कि वे अब 466,951 अलग टैग, जो सुंदर रफ़ू प्रभावशाली है जब आप समझते हैं कि एक विशिष्ट शब्दकोश चारों ओर 75,000 प्रविष्टियां हैं ट्रैक कर रहे हैं"
एक त्वरित चेतावनी, मैं आमतौर पर Oracle SQL लिख सकते हैं और मुझे लगता है कि डेटा एक्सप्लोरर SQLServer का उपयोग कर रहा है, इसलिए मेरे प्रश्न थोड़ा शौकिया हो सकते हैं। सबसे पहले डेटा के बारे में मेरी धारणा:
- टैग तालिका में सूचीबद्ध कुछ भी "मास्टर टैग" है।
- टैगसिनोनीम तालिका में, TargetTagName एक "मास्टर टैग" है, SourceTagName "समानार्थी टैग" है।
अब अपने विशिष्ट प्रश्नों का:
"। मुझे लगता है एक मास्टर टैग कई पर्याय टैग नहीं है सकते हैं, लेकिन एक पर्याय टैग केवल एक मास्टर टैग के लिए एक पर्याय हो सकता है कि वह सही है?"
select * from TagSynonyms where TargetTagName = 'javascript'
परिणाम: हां। एक मास्टर टैग में एकाधिक समानार्थी टैग हो सकते हैं।
select SourceTagName, count(*) from TagSynonyms group by SourceTagName having count(*) > 1
परिणाम: हां। समानार्थी टैग केवल एक मास्टर टैग के लिए समानार्थी हो सकता है।
"साथ ही, क्या एक मास्टर टैग भी समानार्थी टैग हो सकता है?"
select TagName from Tags
intersect
select SourceTagName from TagSynonyms
परिणाम: हां। एक मास्टर टैग भी समानार्थी टैग हो सकता है। जब मैंने यह प्रश्न चलाया तो 465 टैग थे जो समानार्थी और मास्टर दोनों थे
"सिस्टम परिपत्र संदर्भों से कैसे निपटता है?"
यह वह जगह है जहां मेरा तर्क/एसक्यूएल मुझे छोड़ सकता है। सवाल यह है कि क्या मुझे कोई परिपत्र संदर्भ मिल सकता है? ऐसा करने के लिए मुझे लगता है कि मैं बाहर काम करने की जरूरत: सेट
- एक एक
- सेट ग सेट में टैग की समानार्थक शब्द के लिए समानार्थी शब्द - - टैग है कि दोनों गुरु और पर्याय
- सेट ख का सेट - एक चौराहे बी
सेट सी में कुछ भी एक परिपत्र संदर्भ होगा।
हमने पहले से ही ऊपर सेट की गणना की है (इसमें 465 पंक्तियां हैं)।
सेट ख - एक
select SourceTagName from TagSynonyms where TargetTagName in (
select SourceTagName from TagSynonyms where TargetTagName in (
select TagName from Tags
intersect
select SourceTagName from TagSynonyms
))
परिणाम सेट के समानार्थी शब्दों के लिए समानार्थी शब्द: 0 पंक्तियों
हम यहाँ बंद कर सकते हैं, वहाँ कोई सेट ग बाहर काम कर के रूप में हम पहले से ही जानते ख सेट बिंदु है खाली है।
जब तक मुझे अपना तर्क या एसक्यूएल गलत नहीं मिला (जो बहुत संभव है) ऐसा लगता है कि स्टैक ओवरफ्लो में कोई परिपत्र संदर्भ नहीं हैं। मैं कल्पना करता हूं कि परिपत्र संदर्भों को होने से रोकने के लिए तकनीकी प्रक्रियाएं हैं (अन्यथा स्टैक ओवरव्लो स्टैक ओवरफ्लो को भुगत सकता है!)।
Schemaless NoSQL डीबी इस डेटा मॉडल के मुद्दों के साथ लचीला हैं। Mongodb.org देखें – InspiredJW
लूप और चेन एक प्रकार की मुश्किल हैं ... यह करने के लिए सबसे आसान बात पूरी तरह से लूप और चेन को पूरी तरह से अस्वीकार कर रही है ... –