複製鏈接
請複製以下鏈接發送給好友

Datalog

鎖定
Datalog是一種數據查詢語言,專門設計與大型關係數據庫交互,語法與Prolog相似。正如SQL只是一個規範,Transact-SQL、PL-SQL是其具體實現一樣;Datalog也是一個規範,bddbddb、 DES、OverLog、Deals等都按照Datalog的語法實現了自己的語言,所以Datalog沒有特定的執行環境(如Java之於Java虛擬機Prolog之於SWI-Prolog)。
中文名
數據存儲器
外文名
Datalog
作    用
記錄、統計和分析助聽器
總時間
為89.75小時

Datalog簡介

Datalog是一種數據查詢語言,專門設計與大型關係數據庫交互,語法與Prolog相似。正如SQL只是一個規範,Transact-SQL、PL-SQL是其具體實現一樣;Datalog也是一個規範,bddbddb、 DES、OverLog、Deals等都按照Datalog的語法實現了自己的語言,所以Datalog沒有特定的執行環境(如Java之於Java虛擬機Prolog之於SWI-Prolog)。 [1] 

Datalog起源

二十世紀九十年代,為了解決更多的問題,帶有人工智能的系統通常要攜帶一個自行開發的數據庫。這樣的數據庫非常簡陋,不能數據共享與恢復,也不能在其他人工智能系統間通用。為了降低智能系統與數據庫之間的耦合(智能系統可以使用現有的成熟的數據庫,並方便地從一種數據庫切換到另一種數據庫),需要一種在數據庫與智能系統間交互的語言。於是Datalog應運而生。
David Maier發明了Datalog這個名稱。 [1] 

Datalog與Prolog的異同

Datalog的語法是Prolog的子集;但是Datalog的語義與Prolog不同。
Prolog程序裏的事實規則的出現順序決定了執行結果。很可能兩條規則的出現順序對換,程序就陷入死循環。Datalog程序對事實和規則的出現順序不做要求,兩條規則的出現順序對換,執行結果仍然是一樣的。 [1] 
參考資料
  • 1.    Stefano Ceri; Georg gottlob, Letizia Tanca. What You Always Wanted to Know About Datalog (And Never Dared to Ask) 1. 1989年3月.