2009-11-17 10 views
10

私は照会したい生物データベースを持っています。また、私はそれにアクセスできる与えられた専門用語の銀行があります。それには形式化可能な述語があります。私はこの述語を使用してこのDBのためのクエリ言語を構築したいと思います。それについてどうやって行きますか?私の解決策は以下の通りです:ドメイン固有のクエリ言語を作成するにはどうすればよいですか?

  1. ANTLRまたは他のそのようなツールで特定の言語を構築
  2. は、クエリ言語に翻訳述語(SQLは、SPARQL、依存)
  3. を正式
  4. は3〜翻訳2.

これは有効なアプローチですか?より良いものはありますか?どんな指針も大変ありがとうございます。

+0

は興味深いプロジェクトのようですね。 –

+0

あなたの姓は本当にサンクですか?あなたはHaskellに自然な親和性を持っている必要があります;)http://stackoverflow.com/a/6274016/443219 –

答えて

4

BNFを使用すると、言語セマンティクスに頭を悩ませることができます.GoldParserは、セマンティクスと構文(ここに​​リンク:http://www.devincook.com/)で遊んでお手伝いします。 BNFのセマンティクスが整理されたら、入力に基づいてアクションを構築することができます。例えば、bnfの文法セクションでは、四肢の遺伝的構成分類の構成を抽出することができます(それが存在するかどうかわかりません。ここでは例ですが、あなたは要点を得ることができます)... '四肢の足で足をフェッチする'と、あらかじめ定義されたテーブルから列の別名や名前をSQLで選択します。アプローチに間違っている可能性があります...それが役立つことを望みますか?

+0

私は最初にdslの構文を定義し、その後は残りの部分を定義することをお勧めします。たぶん、これが正しい方法です、それは残りの努力を導くでしょう。それはあなたのテイクですか?ありがとう! –

+0

はい、それは私のそれにかかるでしょう。助けになるのはうれしい! :) – t0mm13b

2

i2b2 frameworkは、患者データベース用のグラフィカルなクエリ言語とクエリエンジンプラットフォームです。

CRCセルやWebサービスを最初にすべて調べるのはおそらく難しいでしょうが、臨床的なグラフィカルなクエリ言語からどのように彼らがSQL生成に近づいてきたのかが興味深いです優しい:))

-1

ここからIrony.NETの使用を検討してください:Irony.NET

+0

質問は言語固有ではありません –

関連する問題