- 簽證留學 |
- 筆譯 |
- 口譯
- 求職 |
- 日/韓語 |
- 德語
可以將其轉(zhuǎn)換為如下形式的查詢:
(PRINT-ALL ?f (FLIGHT ?f) (ATIME ?f CHI ?t) (DTIME ?f ?s 1600HR))
這里,如前所述,DEST關系映射為ATIME關系,LEAVE謂詞映射為DTIME關系。需要注意的是,這個邏輯形式中沒有指定出發(fā)地點,所以我們將出發(fā)地點當做變量來處理。在真實的應用中,出發(fā)城市應根據(jù)上下文或者根據(jù)默認規(guī)則來確定。在圖1 所示的小數(shù)據(jù)庫中,只有一個航班符合現(xiàn)有的描述,即F1,因此它是這個例子的答案。
下面,考慮涉及迭代的更復雜的例子,比如查詢“Give the departure time of each flight to Chicago”,其邏輯形式為:
(EACH f1 : (& (FLIGHT f1) (DEST f1 (NAME c1 "Chicago")))
(THE t1 : (DEPART-TIME f1 t1)
(GIVE-SPECIFY1 g1)))
上式可轉(zhuǎn)換成下面的查詢:
(ITERATE ?f1 (CHECK-ALL-TRUE (FLIGHT ?f1) (ATIME ?f CHI ?t1))
(FIND-THE ?t1 (DTIME ?f1 ?city ?t1)
(PRINT ?t1)))
在這個例子中,動詞“give”的解釋僅僅是打印出其參數(shù),例如離開時間。這個表達式的執(zhí)行步驟如下:
1. ITERATE步驟的第一部分是找出滿足條件的所有 ?f1。只有(FLIGHT ?f1)和(ATIME ?f CHI ?t1)都在數(shù)據(jù)庫中,CHECK-ALL-TRUE步驟對?f1才成功。這一步驟返回航班F1,F2和F3。
2. 這一步的第二部分是對這3個值中的每一個都執(zhí)行(FIND-THE ?t1(DTIME ?f1 ?city ?t1)(PRINT ?t1))。分析對第一個值F1的執(zhí)行過程,表達式為:
(FIND-THE ?t1 (DTIME F1 ?city ?t1) (PRINT ?t1))
轉(zhuǎn)換FIND-THE后的程序首先執(zhí)行查詢(Retrieve ?t1(DTIME F1 ?city ?t1))。這一步返回惟一的答案,即時間1700HR。FIND-THE程序的第二步對這個值執(zhí)行PRINT,這樣就打印出1700HR。第二次和第三次迭代分別打印值1000HR和900HR。
很多自然語言數(shù)據(jù)庫查詢系統(tǒng)都使用了程序語義學技術(shù)。對無法用數(shù)據(jù)庫系統(tǒng)所提供的受限語言來表示其意義的那些結(jié)構(gòu)來說,這種技術(shù)提供了一種刻畫其合適特性的便利方法。由于數(shù)據(jù)庫應用本身的性質(zhì),這些技術(shù)的局限性在實際應用中并沒有表現(xiàn)出來。例如,在某些信息中,使用量詞的整體性解釋的那些查詢是必要的,而數(shù)據(jù)庫系統(tǒng)通常無法描述這樣的信息。另外,由于數(shù)據(jù)庫不能包含析取信息,所以有限的析取查詢形式也不構(gòu)成問題。
程序語義學技術(shù)還可以和基于霍恩子句的數(shù)據(jù)庫一同使用。大多數(shù)結(jié)構(gòu)的程序性定義都可以用霍恩子句公理進行定義,這樣它還多了一種能力,即遞歸地調(diào)用證明程序,以執(zhí)行查找滿足某些文字命題集合的所有對象這樣的任務。對其進行擴展使之能處理有限集,這種表示方法就能夠借助程序來處理很多的量詞。由于具有額外的表達能力,作為一種支持自然語言查詢的系統(tǒng),基于霍恩子句的數(shù)據(jù)庫是傳統(tǒng)關系數(shù)據(jù)庫的一種很好的泛化形式。
責任編輯:admin