2012-02-03 26 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等)。