我有一个生物数据库,我想查询。还有一个我可以访问的术语库,它具有可形式化的谓词。我想使用提到的谓词为这个DB构建一个查询语言。你会怎么做?我的解决方案如下:
这是一种有效的方法吗?还有更好的吗?任何指针都会非常感激。
答案 0 :(得分:5)
看看Booleano。
答案 1 :(得分:4)
使用BNF开始进入语言语义.GoldParser将通过使用语义和语法来帮助您(链接在这里:http://www.devincook.com/)。一旦你对BNF语义进行了整理,你就可以根据输入构建动作,例如,bnf语法部分处理提取肢体基因组成分类的组成(我不知道它是否存在,摘要这里的示例,但你得到了一个特定查询的要点...'在肢体是腿的肢体上获取统计数据',然后在幕后你将在列别名或预定义表中的名称上发出SQL选择...我方法可能是错的...希望它有帮助吗?
答案 2 :(得分:2)
我建议你看一下i2b2 framework,它是一个用于患者数据库的图形查询语言和查询引擎平台。
可能很难先掌握所有内容,但是看看那里的CRC单元格或网络服务,你会看到他们如何以一种有趣的方式从临床图形查询语言中接近SQL生成(尽管不是那么表现友好:))
答案 3 :(得分:-1)
从这里考虑使用Irony.NET:Irony.NET