2012-02-03 77 views
7

我试图建立一个接口,用于我的工具,从语义/关系数据库使用C#.NET.NET的DLL自然语言SQL/SPARQL

我现在需要有查询层的​​上层查询为了将NL输入转换为SQL/SPARQL,我阅读了NLI的论文,制作这样一个图层的过程对我的项目来说是一个负担,除此之外,它不是主要目标,它是一个附加组件。

如果DLL支持的指导下仅输入或自由输入文本和处理unmatchings我不在乎,我只需要一个dll从开始并在其上添加一些代码。

它是否应该支持SQL和SPARQL其实并不重要,因为我可以管理一个转换到另一个在我的项目的域上可用的DLL(本地的东西)

任何想法的事实呢?

回答

1

你可以试试我的Natural Language Engine for .NET。可用的Bitbucket和Nuget包示例项目。

使用规则中的TokenPhrase可以匹配输入或引用的字符串任何不匹配的字符串。

在,我会发布下一个版本很快它也支持“生产规则”和运算符优先级,这使得它更容易定义你的语法。

独特的它提供了强类型的.NET对象,并以类似于ASP.NET MVC与控制器,依赖注入和行动方法,以执行规则。所有规则都是通过编写一个接受您想要匹配的令牌的方法在代码中定义的。它包括用于数字,距离,时间,权重和时间表达式等常见事物的标记,包括有限和无限时间表达式。

我用它在各种应用构建SQL查询,所以它不应该是太难用它来创建SPARQL查询。

0

退房Kueri.me

这不是一个DLL,而是一个服务器暴露的API,所以它目前没有一个专门的包装为C#。有一个通过XmlRpc公开的API,您可以与任何语言进行集成。

它把英语SQL并给出了谷歌风格的建议,如果你想实现一个搜索框(支持多种数据库供应商 - 如MySQL,MSSQL等)。