2009-11-17 12 views
10

मेरे पास एक जीवविज्ञान डेटाबेस है जिसे मैं क्वेरी करना चाहता हूं। एक दी गई शब्दावली बैंक भी है जिसके पास मेरे पास औपचारिक भविष्यवाणी है। मैं उल्लिखित भविष्यवाणियों का उपयोग करके इस डीबी के लिए एक क्वेरी भाषा बनाना चाहता हूं। आप इसके बारे में कैसे जाएंगे? मेरे समाधान है निम्नलिखित:मैं डोमेन-विशिष्ट क्वेरी भाषा कैसे बना सकता हूं?

  1. को औपचारिक रूप विधेय
  2. एक प्रश्न भाषा में अनुवाद (एसक्यूएल, SPARQL, निर्भर करता है)
  3. ANTLR या अन्य ऐसे उपकरण के साथ एक विशिष्ट भाषा बिल्ड
  4. करने के लिए 3 से अनुवाद 2.

क्या यह एक वैध दृष्टिकोण है? क्या बेहतर लोग हैं? किसी भी पॉइंटर्स की सराहना की जाएगी।

+0

एक दिलचस्प परियोजना की तरह लगता है। –

+0

क्या आपका अंतिम नाम वास्तव में थंक है? आपके पास हास्केल के लिए प्राकृतिक संबंध होना चाहिए;) http://stackoverflow.com/a/6274016/443219 –

उत्तर

4

भाषा अर्थशास्त्र में एक प्रमुख शुरुआत करने के लिए बीएनएफ का उपयोग करें .. गोल्डपार्सर अर्थशास्त्र और वाक्यविन्यास के साथ खेलकर आपकी मदद करेगा (यहां लिंक करें: http://www.devincook.com/)। एक बार जब आपके पास बीएनएफ सेमेन्टिक्स सॉर्ट हो जाए, तो आप इनपुट के आधार पर क्रियाएं बना सकते हैं, उदाहरण के लिए, एक बीएनएफ व्याकरण खंड अंग के जेनेटिक मेकअप वर्गीकरण की संरचना को निकालने से निपटता है (मुझे नहीं पता कि यह अस्तित्व में है, सार उदाहरण के लिए, लेकिन आप एक विशेष प्रश्न के लिए) प्राप्त करें ... 'अंग पर आंकड़े प्राप्त करें जहां अंग पैर है', फिर दृश्यों के पीछे आप एक कॉलम उपनाम या पूर्वनिर्धारित तालिका से नाम चुनते हैं ... I दृष्टिकोण पर गलत हो सकता है ... उम्मीद है कि यह मदद करता है?

+0

तो आप सुझाव देते हैं कि मैं पहले डीएसएल के सिंटैक्स को परिभाषित करता हूं, और बाकी बाकी। शायद यह जाने का सही तरीका है, यह बाकी प्रयासों का मार्गदर्शन करेगा। क्या यह तुम्हारा है? धन्यवाद! –

+0

हां, यह मेरा लेना होगा। सहायता करके हमें खुशी होगी! :) – t0mm13b

2

मेरा सुझाव है कि आप i2b2 framework पर एक नज़र डालें, यह एक ग्राफिकल क्वेरी भाषा और रोगी डेटाबेस के लिए क्वेरी इंजन मंच है।

शायद पहले सभी को समझना मुश्किल है लेकिन वहां सीआरसी सेल या webservice पर नज़र डालें, आप देखेंगे कि वे एक दिलचस्प तरीके से नैदानिक ​​ग्राफिकल क्वेरी भाषा से एसक्यूएल पीढ़ी से कैसे संपर्क करते हैं (हालांकि, इतना प्रदर्शन नहीं अनुकूल :))

-1

यहां से Irony.NET उपयोग पर विचार करें: Irony.NET

+0

सवाल भाषा-विशिष्ट नहीं है –

संबंधित मुद्दे