專利名稱:數(shù)據(jù)庫查詢用戶界面的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于構(gòu)建數(shù)據(jù)庫查詢的用戶界面,尤其涉及包括在句法上正確的提示和持久保存的數(shù)據(jù)庫查詢對象的數(shù)據(jù)庫查詢用戶界面。
背景技術(shù):
和概述數(shù)據(jù)庫可保持大量的信息。在任何給定時刻,用戶僅希望看到該信息的一個子集。用戶通過定義查詢來選擇該子集,查詢是以諸如SQL等查詢規(guī)范語言書寫的一段文本。但是由于查詢規(guī)范語言是復(fù)雜的,因此它們通常不適用于最終用戶。對于最終用戶,存在諸如塊表達式語言或簡單的全文本搜索等較簡單的語言。某些簡化的查詢語言的表達性不足以讓用戶開發(fā)具有足夠的細化的查詢來訪問來自數(shù)據(jù)庫的信息。表達性足夠的簡化的查詢語言通常與查詢規(guī)范語言一樣難以學習,因此對于最終用戶也是不適合的。文本搜索太不準確,并且返回了太多的不相關(guān)結(jié)果,以致于是沒用的。
因此,本發(fā)明提供了一種數(shù)據(jù)庫查詢用戶界面,它將簡單文本搜索的用戶便利與強大的查詢語言的表達精化相結(jié)合。在一個實現(xiàn)中,一種數(shù)據(jù)庫查詢用戶界面包括來自用戶的查詢文本串輸入。該查詢文本串具有塊表達式語言格式的一個或多個項。塊表達式語言格式是一種可由計算機容易地解析成諸如SQL等正式的查詢規(guī)范語言的偽自然語言(例如,類似英語,或類似任何其它人類語言)。簡單的塊表達式早在1986年就在蘋果公司的HyperCard項目中開發(fā)。同樣由蘋果公司開發(fā)的SK8創(chuàng)作工具在1988年提供了完整的塊表達式語言。
本發(fā)明的數(shù)據(jù)庫查詢用戶界面還包括用于構(gòu)造多元素塊表達式語言數(shù)據(jù)庫查詢的句法提示,該查詢在句法上正確且完整,并包括了來自用戶的文本串輸入。例如,句法提示可基于對涉及包括在來自用戶的文本串輸入中的數(shù)據(jù)庫元素的數(shù)據(jù)庫信息的加權(quán)分析從數(shù)據(jù)庫中選擇。
依照本發(fā)明的用戶界面形成的數(shù)據(jù)庫查詢?nèi)缓罂杀怀志帽4婊騼Υ鏋閿?shù)據(jù)庫查詢對象。這一對象允許諸如通過用戶添加或刪除由查詢返回的一組結(jié)果中的項來細化查詢。被稱為例外的這一添加或刪除可與查詢一起儲存為數(shù)據(jù)結(jié)構(gòu)。在某些實現(xiàn)中,可自動生成塊表達式語言格式的修訂的數(shù)據(jù)庫查詢,以在例外列表中結(jié)合例外,由此細化了查詢并減少了用于維護和實現(xiàn)單獨的例外的資源需求。因此,本發(fā)明提供了一種將常規(guī)的簡單搜索語言的用戶便利與強大的查詢規(guī)范語言的表達性和細化相結(jié)合的數(shù)據(jù)庫查詢用戶界面。
當參考附圖繼續(xù)以下較佳實施例的詳細描述時,可清楚本發(fā)明的其它目的和優(yōu)點。
附圖簡述
圖1是現(xiàn)有技術(shù)的數(shù)據(jù)庫查詢順序的簡化表示的流程圖。
圖2是提供用于構(gòu)造塊表達式語言格式的數(shù)據(jù)庫查詢的初始部分的句法提示的用戶界面的圖示。
圖3是提供用于在圖2所示的初始步驟之后構(gòu)造塊表達式語言格式的數(shù)據(jù)庫查詢的后續(xù)句法提示的用戶界面的圖示。
圖4是提供結(jié)構(gòu)化查詢編輯的用戶界面的圖示。
圖5是提供結(jié)構(gòu)化查詢編輯的另一用戶界面的圖示。
圖6是提供結(jié)構(gòu)化查詢編輯的又一用戶界面的圖示。
圖7是提供結(jié)構(gòu)化查詢編輯的再一用戶界面的圖示。
圖8是持久查詢對象數(shù)據(jù)結(jié)構(gòu)的示意圖。
圖9是用于指示查詢狀態(tài)的查詢狀態(tài)用戶界面的圖示。
圖10是用于指示查詢結(jié)果的例外的查詢修改用戶界面的圖示。
圖11是通過作出更簡單查詢并添加例外來自動創(chuàng)建查詢的自動化查詢重寫方法的流程圖。
圖12是自動重寫用戶界面示能表示(affordance)或指示的圖示。
圖13是示出建議的重寫的自動重寫用戶界面示能表示的圖示。
圖14是結(jié)合了建議的重寫的經(jīng)修改的查詢的圖示。
圖15是語法查詢自動完成(GQA)用戶界面的圖示。
圖16是GQA成為語法查詢自動完成(GQA)的流程圖。
圖17是用于對從內(nèi)部查詢返回的結(jié)果加權(quán)和排序的查詢加權(quán)和排序方法的流程圖。
較佳實施例的詳細描述常規(guī)的數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫包括具有記錄條目的表的集合。數(shù)據(jù)庫的查詢通常是使用諸如SQL等查詢規(guī)范語言(有時候也稱為數(shù)據(jù)處理語言)來作出的。另外,全文本搜索引擎可找出包含文本串的記錄。有各種市場上可購買的數(shù)據(jù)庫可用,包括可從微軟公司獲得的Microsoft SQL。此處使用術(shù)語數(shù)據(jù)庫一般指包括具有可搜索屬性的對象或文件的任何“屬性存儲”。
圖1是現(xiàn)有技術(shù)的數(shù)據(jù)庫查詢順序100的簡化表示的流程圖。在步驟102,用戶確定他或她想要來自數(shù)據(jù)庫的特定信息。在步驟104,用戶向計算機系統(tǒng)輸入(例如,鍵入)希望從數(shù)據(jù)庫中得到什么信息。在步驟106,計算機系統(tǒng)返回并顯示需要的信息。在返回步驟108,用戶可細化對希望從數(shù)據(jù)庫獲得什么信息的語句以更準確地獲得該信息。本發(fā)明提供了對常規(guī)數(shù)據(jù)庫查詢順序100的改進,如下文更詳細描述的。
圖2是提供用于構(gòu)造塊表達式語言格式的數(shù)據(jù)庫查詢的初始部分的句法提示的用戶界面200的圖示。具體地,用戶界面200示出了用于單個單詞的句法提示。
如本領(lǐng)域中已知的,塊表達式語言格式是可由計算機容易地解析成諸如SQL等正式的查詢規(guī)范語言的偽自然語言(例如,類似英語)。示例塊表達式可以是Show every email whose sender is′John Smith′and whose subject contains″patent″.
(顯示其發(fā)送者是“John Smith”且其主題包含“patent”的每一電子郵件)它可由計算機解析成諸如SQL等正式的查詢規(guī)范語言,如SELECT*FROM EMAIL WHERE SENDER=′JOHN SMITH′AND SUBJECTLIKE′%patent%′一般而言,塊表達式可采用以下形式Show<選擇器><對象類型>whose<屬性><比較器><值>*[<連接詞><屬性><比較器><值>]用戶界面200自動向用戶提示一組所有可能的選擇中的句法上正確的單詞。這防止用戶在開始輸入塊表達式時犯句法錯誤。例如,如果用戶通過輸入“show all”來開始塊表達式輸入202,則用戶界面自動確定某對象是句法上正確的下一輸入。結(jié)果,用戶界面200向用戶呈現(xiàn)列表204,諸如所示的所有句法上正確的對象(例如,email(電子郵件)、files(文件)、music(音樂)、pictures(圖片)、item(項))的下拉列表。
這一簡單的單句子成分完成并非是不常見的,并且可以作為例如可從微軟公司獲得的Microsoft Visual Studio.Net中的IntellisenseTM(智能感知)技術(shù)的一部分而找到。然而,用戶界面200僅示出了協(xié)助用戶構(gòu)造依照本發(fā)明的查詢的第一個句法提示步驟。
圖3是提供用于在用戶界面200所示的初始步驟之后構(gòu)造塊表達式語言格式的數(shù)據(jù)庫查詢的后續(xù)句法提示的用戶界面300的圖示。用戶界面300提供了整個句法組的啟發(fā)性提示,諸如整個屬性規(guī)范短語的完成,而非諸如圖2的初始提示步驟中的單個單詞。
基于從用戶界面200形成的初始塊表達式302,例如,用戶界面300自動向用戶提示完整的、可讀的句法上正確的表達式的列表304以供從中選擇。例如,基于“show all email”(顯示所有電子郵件)的初始塊表達式302,用戶界面自動提供完整的、可讀的句法上正確的表達式的列表304,諸如whose sneder is′john smith′(其發(fā)送者是“john smith”)、whose subject contains′xyzcorp′(其主題包含“xyzcorp”)、whose date is′today′(其日期是“今天”)、或whose status is′unread′(其狀態(tài)是“未讀”)。
結(jié)果,用戶界面300作為建議完整的、可讀的表達式的完成例程來操作,使得不向用戶留下具有句法上無效的表達式的查詢。例如,具有常規(guī)單個單詞完成的系統(tǒng)可能用“sender”、“subject”、“date”等的選擇來完成“show all email whose”。如果用戶單獨選擇這些單詞中的一個,則所得的塊表達式將是短語“show all emailwhose sender”,如果被求值或執(zhí)行,則該表達式在句法上將是無效的。在圖2和3的用戶界面中,基于自動提示的短語(如被選中)的完成將是完整的、有效的查詢短語。
提供具有完整的、有效的查詢短語的提示的一個益處是選擇提示的用戶總是具有在被求值時將給出有效結(jié)果的完全有效的查詢短語。另一益處是用戶能夠閱讀完整的短語,且能夠更好地理解不同的選擇的意義。結(jié)果,用戶可容易地修改短語以進一步使其適用于指示所需的查詢。
句法提示中的項基于數(shù)據(jù)庫中的信息或關(guān)于先前的數(shù)據(jù)庫活動的信息。在某些實現(xiàn)中,信息被加權(quán)以使得提示的完成更直觀,如下更詳細描述的。相反,常規(guī)的數(shù)據(jù)庫系統(tǒng)最多依賴于簡單的預(yù)先制作的可能的完成單詞列表。
一旦選中了一個查詢,它可由用戶編輯以做出新查詢。塊表達式語言適用于用戶修改。用戶可容易地理解如果“show all email whose sender=′john′”產(chǎn)生來自John的電子郵件,則將單詞“john”改為“sean”將產(chǎn)生來自Sean的電子郵件。用戶即使在不足夠了解語言的句法以便能夠自己從空白行開始正確地書寫表達式的情況下也能夠作出這些修改。圖4-7示出了依照本發(fā)明的這一結(jié)構(gòu)化的查詢編輯。
圖4是提供結(jié)構(gòu)化查詢編輯的用戶界面400的圖示。用戶選擇(例如,點擊)現(xiàn)有查詢404(例如,“show all email whose sender is ′john′”)中的單詞或短語402(例如,email),并被提供用于該單詞或短語的所有可能的其它完成(例如,email、files、music、pictures、items)的列表406。用戶界面400使用上文參考圖2和3描述的同一提示機制。
圖5是提供結(jié)構(gòu)化查詢編輯的另一用戶界面500的圖示。用戶選擇(例如,點擊)現(xiàn)有查詢504(例如,“show all email whose sender is ′john′”)中的單詞或短語502(例如,sender),并被提供在查詢的前導部分的上下文中用于該單詞或短語的所有可能的其它完成的列表506。結(jié)果,列表506包括與查詢的片段“showall email whose...”一致的項(例如,sender(發(fā)送者)、recipients(接收者)、subject(主題)、received date(接收日期)、message body(消息正文)、sent date(發(fā)送日期))。用戶界面500使用參考圖2和3描述的同一提示機制。
圖6是提供結(jié)構(gòu)化查詢編輯的另一用戶界面600的圖示。用戶選擇(例如,點擊)現(xiàn)有查詢604(例如,“show all email whose subject contains′xyzcorp′”)中的單詞或短語602(例如,contains),并被提供在查詢的前導部分的上下文中用于該單詞或短語的所有可能的其它完成的列表606。結(jié)果,列表606包括與查詢片段“show all email whose subiect...”一致的項(例如,contains(包含)、starts with(以……開始)、ends with(以……結(jié)束)、does not conatin(不包含))。用戶界面600使用參考圖2和3描述的同一提示機制。
圖7是提供結(jié)構(gòu)化查詢編輯的另一用戶界面700的圖示。用戶選擇(例如,點擊)現(xiàn)有查詢704(例如,“show all email whose subject start with”)中的單詞或短語702(例如,ProjectX),并被提供在查詢的前導部分的上下文中用于該單詞或短語的可能的其它完成的列表706。作為查詢中的數(shù)據(jù)項,列表706包括與查詢片段“show all email whose subject starts with...”一致的項,如從數(shù)據(jù)庫本身檢索的。結(jié)果,列表706包括對應(yīng)于儲存在數(shù)據(jù)庫中、從其中訪問等的最近的電子郵件的主題的開頭的項(例如,projectX(項目X)、quarterly report(季度報告)、customerY(顧客Y)、meeting scheduled(安排會議)、……)。
常規(guī)的數(shù)據(jù)庫查詢系統(tǒng)可能無法提供從數(shù)據(jù)庫中取得的項的列表。相反,常規(guī)數(shù)據(jù)庫查詢系統(tǒng)可能插入類似“sender is<人名>”的占位符,它在句法上不是有效的。
本發(fā)明的另一方面是諸如參考圖2-7所描述的那些查詢是儲存或持久保存在數(shù)據(jù)庫中的對象,包括它們?nèi)绾伪粯?gòu)造的歷史。這一持久保存的面向?qū)ο蟮牟樵兣c常規(guī)數(shù)據(jù)庫系統(tǒng)不同,常規(guī)數(shù)據(jù)庫系統(tǒng)既不記錄查詢,也不將它們作為簡單的文本串來儲存。
圖8是持久查詢對象數(shù)據(jù)結(jié)構(gòu)800的示意圖。查詢規(guī)范語言語句802對應(yīng)于所執(zhí)行的查詢的實際查詢規(guī)范語言語句(如SQL串),例如從塊表達式語言格式生成的。查詢構(gòu)造記錄804儲存產(chǎn)生所執(zhí)行的查詢的用戶動作。例如,查詢構(gòu)造記錄804可儲存用戶動作或選擇,諸如圖2-7中所示的那些。查詢結(jié)果計數(shù)806儲存查詢在最后一次被執(zhí)行時返回的結(jié)果的數(shù)目。查詢使用記錄808記錄查詢的使用歷史,包括查詢何時以及在什么上下文中發(fā)出。例外列表810是被指定給該查詢的例外的列表,如下文更詳細描述的。
持久查詢對象數(shù)據(jù)結(jié)構(gòu)800允許查詢被構(gòu)造一次且被容易地重用,由此便于重復(fù)使用查詢以使用戶能夠重復(fù)常見的查詢。這一持久保存的查詢可按照其塊表達式語言格式或任何其它有區(qū)別的特征來列出,并從用戶界面列表中激活。另外,對查詢的這一重復(fù)使用允許它們被細化以向用戶提供改進的查詢結(jié)果。
圖9是用于指示查詢狀態(tài)的查詢狀態(tài)用戶界面900的圖示。查詢狀態(tài)用戶界面900被指示為在所選擇的查詢的結(jié)果上或與其相鄰地呈現(xiàn)的彩色編碼的“燈”(例如,呈現(xiàn)實心圓)。查詢結(jié)果用戶界面900用指示所選擇的查詢的狀態(tài)的顏色來呈現(xiàn)??梢岳斫?,查詢狀態(tài)用戶界面900可以用許多不同的方式來實現(xiàn)。
作為一個實現(xiàn),查詢狀態(tài)用戶界面900可以用綠色來呈現(xiàn),以指示所選擇的查詢是有效的(即,所示的結(jié)果是如果查詢再次被立即執(zhí)行將生成的同一結(jié)果);用黃色來呈現(xiàn)以指示所選擇的查詢是過時的(即,如果查詢此時被執(zhí)行則結(jié)果將是不同的);用紅色來呈現(xiàn)以指示查詢是無效的(即,查詢未被執(zhí)行);或者用閃爍的黃色來呈現(xiàn)以指示所選擇的查詢連續(xù)地更新(即,只要數(shù)據(jù)庫改變,當前查詢結(jié)果就改變)。
查詢對象可幫助用戶在修改現(xiàn)有查詢和指定新查詢之間區(qū)分。作為對象,查詢可在屏幕上用唯一的名稱、歷史、查詢文本等來表示,由此允許在查詢的屬性被改變的情況以及定義新查詢的情況之間進行清楚的區(qū)分。
諸如包括在數(shù)據(jù)結(jié)構(gòu)800中的例外列表810等例外列表是用戶對查詢結(jié)果所做的一個或多個修改(例如,添加或刪除)的列表。這些修改可作為例外列表810持久保存。可以理解,在例外列表中,查詢結(jié)果而非查詢規(guī)范本身被用戶修改。
作為一個示例,用戶可以構(gòu)造音樂文件的播放列表。用戶可能通過指定對音樂的查詢,諸如“show all music whose decade=′80s′and whose genre=′modern rock′and whose ranking>4”(顯示其年代=“80年代”、其流派=“現(xiàn)代搖滾”且其等級>4的所有音樂)來開始。這可能產(chǎn)生例如200首歌曲的初始列表。用戶然后可添加不匹配該查詢的幾首歌,并刪除匹配但用戶個人不喜歡的幾首歌。
與查詢分離但與查詢一起持久保存的例外列表允許用戶對查詢結(jié)果具有直接且簡單的操縱,而無需定義有效的查詢來獲得修改的結(jié)果。例外列表是與查詢規(guī)范分離的查詢屬性。用戶可改變一個例外而不會影響另一個。
某些現(xiàn)有系統(tǒng)將通過從添加或刪除的項中添加或刪除屬性以使它們與查詢相符來迫使具有例外的查詢有效。例如,從“my favorite pictures”(我最喜歡的圖片)查詢中添加或刪除圖片將添加或刪除那些圖片的“favorite”屬性。盡管這有時候是期望的,但是它通常導致非預(yù)期的行為。例如,在這一系統(tǒng)中,將90年代的歌曲添加到70年代的查詢結(jié)果列表中將導致該歌曲被重新標記為70年代。對于更復(fù)雜的查詢,這一混淆更甚。由于這一增加的復(fù)雜性,用于這些系統(tǒng)的用戶界面需要過多的附加提示、確認和解釋。
在某些其它現(xiàn)有系統(tǒng)中,從查詢結(jié)果中添加或移除項使查詢變得無效,且將其轉(zhuǎn)為項的簡單列表。這一方法的問題是用戶被迫在作出任何修改之前構(gòu)造正確的查詢。如果稍后修改了查詢,則用戶早先的查詢結(jié)果修改都丟失。例如,用戶可能搜索1970和1980年之間的歌曲,然后刪除用戶不喜歡的幾首歌。用戶然后可能注意到,缺少某些期望的歌曲,因為它們實際上是60年代后期的。如果用戶改變查詢?nèi)缓箫@示從1965到1980年的歌曲,則從先前的查詢結(jié)果中刪除的所有歌曲將被再一次重新插入。
實現(xiàn)例外列表作為與查詢規(guī)范分離的查詢屬性的一部分允許在不影響查詢規(guī)范的情況下改變例外列表。同樣,查詢規(guī)范可在不影響例外列表的情況下改變。
例外的問題可以是用戶期望具有直接操縱查詢結(jié)果的能力的系統(tǒng)中特別的重要性。一個示例是基于數(shù)據(jù)庫結(jié)構(gòu)的文件系統(tǒng)。文件系統(tǒng)的大多數(shù)用戶習慣于“拖放操作”,且無法忍受常規(guī)數(shù)據(jù)庫系統(tǒng)對修改的限制。為適應(yīng)這樣的用戶,可用對于對象的直接用戶操縱(例如,“拖放”)來修改例外列表。直接用戶操縱作為對查詢例外列表的改變而被記錄。
圖10是用于指示對查詢結(jié)果的修改的例外(例如,總共96個文檔,添加了6個文檔,刪除了14個文檔(96documents(6added,14removed)))的查詢修改用戶界面1000(例如,狀態(tài)條)的圖示。查詢修改界面1000可以用最終結(jié)果(例如,96個文檔)來呈現(xiàn)。對查詢修改界面1000的用戶選擇(例如,點擊)可列出例外,提供用于撤消它們的選擇等等。結(jié)果,許多類型的查詢結(jié)果,從文件搜索到播放列表到最喜歡的圖像到未讀郵件,可用單個一致的用戶界面體驗來表示。
將查詢表示為對象也允許支持所謂的“空查詢”。空查詢是盡管沒有任何結(jié)果卻仍存在的查詢。例如,用戶可創(chuàng)建對從西雅圖到中國的$600以下的機票的查詢。該查詢可能在第一次運行時沒有結(jié)果,但是用戶可能仍希望將其保存以在將來運行,或定期運行。如果查詢不是對象而僅僅是查詢結(jié)果,則這是不可能的。
查詢對象也允許沒有查詢規(guī)范,但是僅由一個或多個例外或例外列表組成的查詢。例如,用戶可作出稱為“sttuff I need to complete for manager”(我需要對經(jīng)理完成的事情)的查詢,它完全沒有任何搜索串。用戶然后可添加任意數(shù)量的項(例如,文檔)作為該查詢的例外。該查詢返回的僅是明確添加的那些項。這允許用與查詢完全一樣的代碼和用戶界面來處理手動作出的列表。它也有助于從不基于查詢的系統(tǒng)(例如,文件管理系統(tǒng)的傳統(tǒng)的文件夾分層結(jié)構(gòu))到基于查詢的系統(tǒng)的簡易遷移路徑。
圖11是有助于用戶通過作出較簡單查詢并添加例外來自動創(chuàng)建查詢的自動化查詢重寫方法1100的流程圖。用戶通常作出查詢例外,因為他們無法構(gòu)造返回期望結(jié)果的更復(fù)雜查詢。自動化查詢重寫方法1100創(chuàng)建將生成同一結(jié)果但沒有例外的查詢規(guī)范。
在步驟1102,用戶指定護修改具有例外的查詢。
在步驟1104,檢查作為例外添加或刪除的對象以確定它們是否具有一個或多個公共的屬性。
在判別框1106,詢問例外對象是否具有一個或多個公共的屬性。如果例外對象具有一個或多個公共屬性,則判別框1106前進到步驟1108。如果不是,則判別框前進到終止框1110,且例外對象作為例外列表來維護。
在步驟1108,重寫查詢規(guī)范以包括對公共屬性的引用,并且重新計算例外列表。結(jié)果,查詢將生成相同的結(jié)果,但是沒有例外的系統(tǒng)額外開銷。查詢將更準確,且由此更適用于在未來的重用。
例如,用戶可能需要來自經(jīng)理的工作電子郵件的列表。用戶從經(jīng)理獲得該電子郵件列表,但是注意到個人電子郵件被包括在初始列表中。用戶可能不知道如何書寫僅顯示工作電子郵件的更復(fù)雜查詢,因此從列表中選擇個人郵件并刪除它們。
依照自動化查詢重寫方法1100,用戶界面然后檢查那些例外,并產(chǎn)生自動重寫用戶界面示能表示或指示1200(圖12),以顯示重寫是可能的。如圖所示,自動重寫用戶界面示能表示1200包括框中的字母Q,并指示重寫被建議為刪除14個已刪除項。可以理解,可使用任何符號或示能表示。
這一類型的提示意味著非闖入的。用戶不必響應(yīng)該提示。如果對重寫感到好奇,則用戶例如可將鼠標移至自動重寫用戶界面示能表示1200上,以看到建議的重寫1300(圖13)。圖14示出了結(jié)合建議的重寫的經(jīng)修改的查詢1400。
在這一情況下,用戶界面注意到所有刪除的電子郵件也被發(fā)送到經(jīng)理太太,即經(jīng)理的妻子。通過塊表達式語言的高度可讀特性使得以輕量級的方式檢查查詢的能力成為可能。這一類型的預(yù)覽允許用戶防止不經(jīng)意的重合被結(jié)合到查詢規(guī)范中。例如,當作出播放列表時,用戶可能刪除幾首不喜歡的歌曲。所有的歌曲可能碰巧都來自一特定的唱片標簽,且用戶界面可能將該唱片標簽特征建議為重寫。在不經(jīng)意的重合的情況下,用戶可能不接受重寫。
另外,自動化查詢重寫方法1100可任選地對于對象的底層屬性實現(xiàn)改變。例如,當從“最愛(favorites)”列表中丟棄圖片時,用戶界面可建議從那些對象中刪除“最愛”屬性。再一次,這可以用輕量級的、非闖入的方式來完成。
圖15是將全文本搜索的易用與全查詢規(guī)范語言的表達能力和準確性相組合的語法查詢自動完成(GQA)用戶界面1500的圖示。從用戶的觀點來看,它是非常簡單的用戶鍵入幾個單詞,且用戶界面自動返回可能匹配這些單詞的全查詢串的列表。在圖15中,例如,用戶輸入部分查詢串1502(例如,“JohnXYZCorp”),且用戶界面自動提供語法查詢自動完成列表1504,它建議“show all email whosesender is′john smith′and whose subject contains′XYZCorp′”(顯示其發(fā)送者是“JohnSmith”且其主題包含“XYZCorp”的所有電子郵件)、“show all email whose senderis′john jones′and whose subject contains′XYZCorp′”(顯示其發(fā)送者是“John Jones”且其主題包含“XYZCorp”的所有電子郵件)、“show all objects referencing ′johnsmith′and′XYZCorp′”(顯示引用“John Smith”和“XYZCorp”的所有對象)、“show all objects referencing′john′and′XYZCorp′”(顯示引用“John”和“XYZCorp”的所有對象)。
與語法查詢自動完成(GQA)特征相反,將“John XYZCorp”作為查詢輸入常規(guī)的現(xiàn)有系統(tǒng)將執(zhí)行對包含“john”或“XYZCorp”或包含“john”和“XYZCorp”兩者的相的完整數(shù)據(jù)庫全文本搜索。在任一情況下,全文本搜索可能返回比用戶需要或希望的多得多的結(jié)果。
常規(guī)的現(xiàn)有默認查詢的問題是盡管用戶腦海中有確定的目標(諸如“我希望來自john的關(guān)于xyzcorp的電子郵件”或“我希望john在xyzcorp拍的照片”),但是用戶通常不知道如何向計算機指定這一表達式。語法查詢自動完成(GQA)特征充分利用了塊表達式語言的可讀性,來向用戶提供有效的可能完成的列表。
圖16是語法查詢自動完成(GQA)方法1600的流程圖,在大多數(shù)計算機系統(tǒng)中,它足夠快,以當用戶輸入(例如,鍵入)部分查詢時完成。
在步驟1602,分析部分查詢的文本片段,并將每一個別的單詞分類成對象類型。例如,首先對照塊表達式語法檢查文本片段(基本上是字典式查找)。然后通過對照數(shù)據(jù)庫中的記錄的全文本搜索來檢查文本片段。如果單詞出現(xiàn)在數(shù)據(jù)庫表中的特定字段中,則從該表確定對象類型。在這些情況中的每一個中,用戶界面可匹配整個單詞或部分單詞,并且對每一單詞可以有若干可能的對象類型。例如,“johnpictures”(john照片)可能意味著“show pictures of john”(顯示john的照片)或“show email from john with the word pictures in the subject”(顯示來自john且主題中有picture的電子郵件)。項“picture”可以是對象或僅僅是文本串。每一選擇被給予概率等級??梢杂腥舾稍u級方案,且語法查詢自動完成方法1600不依賴于任何特定的一種方案。下文描述加權(quán)方案的一種實現(xiàn)。
在步驟1604,將計算的對象類型與使用那些句子成分的所有句法上有效的表達式的列表進行比較。在“john xyzcorp”示例中,用戶界面將“john”分類為為文本串和用于個人記錄的“name”(名字)字段的可能值。“xyzcorp”是文本串、用于地方記錄的“name”字段的可能值、以及用于電子郵件記錄的“subject”字段的可能值。基于這一分類,用戶界面將查找結(jié)合了人和地方、人和電子郵件等的句法上正確的語句。所有這些可能性然后都如步驟1602中那樣被分配權(quán)重。
在步驟1606,使用簡單串匹配將文本串與被傳入用戶自動完成的其它文本串進行比較。例如,用戶可能鍵入“john xyzcorp”,然后選擇“show email from johnabout xyzcorp”完成。如果用戶稍后開始鍵入“jo”,則“jo”將匹配先前輸入的“john xyzcorp”串,且用戶界面將先前選擇的完成“show email from john aboutxyzcorp”添加到匹配列表。然后將匹配列表與步驟1604的結(jié)果相組合。由于許多人一次又一次地作出相同的查詢,因此該步驟將最常見的查詢減少到僅三次或四次鍵擊。
在步驟1608,然后向用戶顯示最終排序的、加權(quán)的列表。
圖17是用于對從初始查詢返回的結(jié)果加權(quán)和排序的查詢加權(quán)和排序方法1700的流程圖。步驟1702包含基于歷史/上下文使用的關(guān)聯(lián),步驟1704確定結(jié)果計數(shù),以對列表中的項排序,使得用戶希望的完成總是呈現(xiàn)在最前面的幾個(例如7個)。該查詢結(jié)果分級方案增強了所描述的用戶界面特征的操作。
在步驟1702,用戶界面記住何時通過創(chuàng)建關(guān)聯(lián)對象來選擇提議的完成,這示出該提示和完成是相關(guān)的。用戶界面然后使用這些關(guān)聯(lián)來增加該完成在未來的加權(quán)。如果用戶從“People”(人)列表中選擇“john”,則John在將來將向著列表的頂部被賦予更大的權(quán)重。
此外,關(guān)聯(lián)對象可處理復(fù)雜完成中的深關(guān)聯(lián)。例如,如果用戶輸入“johndisney”,則完成“show pictures where subject contains′john smith′and location is′disneyland′”(顯示主題包含“john smith”且位置是“迪斯尼樂園”的照片)將在列表的較低部。然而一旦用戶選擇它,則用戶界面不僅將“john disney”與“showpictures where subject contains′john smith′and location is′disneyland′”相關(guān)聯(lián),還將“john”與名為“john smith”的人相關(guān)聯(lián),并將“disney”與名為“disneyland”的地方相關(guān)聯(lián)。它將john和disneyland都與照片相關(guān)聯(lián),且甚至關(guān)聯(lián)由人和位置構(gòu)成的可能是關(guān)于照片的短語。在將來,如果用戶鍵入類似“dave disney”或“mikegrand canyon”等內(nèi)容,包含照片的完成將被給予更大的權(quán)重。
在步驟1704,當對結(jié)果加權(quán)時考慮結(jié)果的數(shù)目。一般而言,結(jié)果可能遵循如鐘型曲線那樣的曲線,其中“更多結(jié)果”變得更好直到一點,然后存在太多的結(jié)果,以致于實際上變得不夠特別。例如,如果用戶鍵入“b mail”,則用戶界面可能建議“show email whose subject contains b”(顯示主題包含b的電子郵件)、“showemail whose sender is Brian”(顯示發(fā)送者是Brian的電子郵件)、以及“show emailwhose sender is Benefits”(顯示發(fā)送者是Benefits的電子郵件)的完成。所有這些都是有效完成,但是第一個完成可能返回5000個項,第二個完成可能返回90個項,而第三個完成可能返回1個項。結(jié)果計數(shù)度量可確保第二個選項“show email whosesender is Brian”到達最頂端。這解決了用戶界面總是建議不正確的Dave、John或Matt的常見自動完成問題。
由于該結(jié)果計數(shù)加權(quán)是在上下文中完成的,因此它總是看似非常智能。例如,用戶可能具有比John Smith的照片更多的來自經(jīng)理John Smith的電子郵件,且具有朋友John Jones的許多照片而只有相對較少的來自John Jones的電子郵件。當用戶界面完成“john picutres”時,“show pictures whose subject is John Jones”將是第一選擇,但是對于“john email”,“show email whose sender is′john smith′”將是第一選擇。
不同的實現(xiàn)可包含與上文所描述的不同的選擇、對象類型、屬性和比較器。本發(fā)明不限于任何特定的實現(xiàn),并適用于任何數(shù)據(jù)庫格式、查詢語言規(guī)范等。
依照計算機編程領(lǐng)域的技術(shù)人員的實踐,本發(fā)明在上文是相對于由各種計算機系統(tǒng)和設(shè)備執(zhí)行的動作和操作的符號表示來描述的。這類動作和操作有時候被稱為是計算機執(zhí)行的,并且可在適當時與操作系統(tǒng)或應(yīng)用程序相關(guān)聯(lián)??梢岳斫?,動作和用符號表示的操作包括CPU對表示數(shù)據(jù)位的電信號的操縱,導致電信號表示的轉(zhuǎn)換或減少,以及在存儲器系統(tǒng)中的存儲器位置處對數(shù)據(jù)位的維護,以借此重新配置或改變計算機系統(tǒng)的操作以及信號的其它處理。維護數(shù)據(jù)位的存儲器位置是具有對應(yīng)于數(shù)據(jù)位的特定電、磁或光屬性的物理位置。
參考所示的實施例描述并示出了本發(fā)明的原理之后,可以理解,所示的實施例可以在排列和細節(jié)上修改而不脫離這些原理。鑒于可應(yīng)用本發(fā)明的原理的許多可能的實施例,應(yīng)當認識到,詳細實施例僅是說明性的,并且不應(yīng)被理解為限制本發(fā)明的范圍。相反,要求保護落入所附權(quán)利要求書及其等效技術(shù)方案的范圍和精神內(nèi)的所有這樣的實施例作為本發(fā)明。
權(quán)利要求
1.一種用于形成數(shù)據(jù)庫的數(shù)據(jù)庫查詢的數(shù)據(jù)庫查詢用戶界面,包括第一句法提示,用于構(gòu)造塊表達式語言格式的數(shù)據(jù)庫查詢的初始部分;以及第二句法提示,用于構(gòu)造塊表達式語言格式的數(shù)據(jù)庫查詢的第二部分,所述第二部分是完成所述數(shù)據(jù)庫查詢的句法上正確的表達式的多元素塊表達式語言句法組。
2.如權(quán)利要求1所述的用戶界面,其特征在于,所述第二句法提示包括對應(yīng)于所述數(shù)據(jù)庫中的信息的文本串。
3.如權(quán)利要求2所述的用戶界面,其特征在于,所述文本串是基于對涉及包括在所述數(shù)據(jù)庫查詢的初始部分中的數(shù)據(jù)庫元素的數(shù)據(jù)庫信息的加權(quán)分析從所述數(shù)據(jù)庫中選出的。
4.如權(quán)利要求3所述的用戶界面,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括完成關(guān)聯(lián),其中,共同在用戶選擇的句法提示中的第一和第二信息項被關(guān)聯(lián)在一起,由此增加了所述第一和第二信息項之間的關(guān)系相對于其它信息項的權(quán)重。
5.如權(quán)利要求3所述的用戶界面,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括一結(jié)果計數(shù)因子,它對于增加的結(jié)果計數(shù)直到最大計數(shù),對信息提供增加的權(quán)重,然后對于大于最大計數(shù)的結(jié)果計數(shù),對信息提供減少的權(quán)重。
6.如權(quán)利要求1所述的用戶界面,其特征在于,所述第二句法提示包括對應(yīng)于所述數(shù)據(jù)庫中的信息的文本串、以及對應(yīng)于所述數(shù)據(jù)庫中所選擇信息字段的信息字段標識符,所述文本串被包括在所選擇的信息字段中。
7.如權(quán)利要求6所述的用戶界面,其特征在于,所述文本串是基于對涉及所述數(shù)據(jù)庫查詢的初始部分中包括的數(shù)據(jù)庫元素的數(shù)據(jù)庫信息的加權(quán)分析從所述數(shù)據(jù)庫中選出的。
8.如權(quán)利要求1所述的用戶界面,其特征在于,所述第一句法提示包括多個用戶可選擇項的顯示的列表,用戶選擇所述多個用戶可選擇項之一用于構(gòu)造所述數(shù)據(jù)庫查詢的初始部分。
9.如權(quán)利要求1所述的用戶界面,其特征在于,所述第二句法提示包括多個用戶可選擇句法組的顯示的列表,其每一個完成所述數(shù)據(jù)庫查詢的句法上正確的表達式,用戶選擇所述用戶可選擇的多個元素句法組之一用于構(gòu)造所述數(shù)據(jù)庫查詢的第二部分。
10.如權(quán)利要求9所述的用戶界面,其特征在于,所選擇的多元素句法組中的各個元素可由用戶修改,其每一個都來自可替換各個元素且維護所述數(shù)據(jù)庫查詢的句法上正確的表達式的元素的顯示的列表。
11.如權(quán)利要求1所述的用戶界面,其特征在于,包括所述初始部分和所述第二部分的所述數(shù)據(jù)庫查詢作為數(shù)據(jù)庫查詢對象被持久保存在計算機可讀介質(zhì)中。
12.如權(quán)利要求11所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象包括具有對由用戶指定的查詢的例外的例外列表的數(shù)據(jù)結(jié)構(gòu)。
13.如權(quán)利要求11所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象包括數(shù)據(jù)結(jié)構(gòu),包括對應(yīng)于塊表達式語言格式的查詢的查詢規(guī)范語言語句;以及產(chǎn)生所述查詢的用戶動作的查詢構(gòu)造記錄。
14.如權(quán)利要求13所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象的數(shù)據(jù)結(jié)構(gòu)還包括關(guān)于通過所述查詢操作返回了多少結(jié)果的查詢結(jié)果計數(shù)。
15.如權(quán)利要求13所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢的數(shù)據(jù)結(jié)構(gòu)還包括指示查詢的使用歷史的查詢使用記錄。
16.如權(quán)利要求11所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢可從所述持久保存的數(shù)據(jù)庫查詢對象中檢索,用于對照數(shù)據(jù)庫的更新的執(zhí)行。
17.如權(quán)利要求11所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象包括具有對由用戶指定的查詢的例外的例外列表的數(shù)據(jù)結(jié)構(gòu),且所述用戶界面還包括對具有適應(yīng)所述例外列表中的例外的、塊表達式語言格式的修訂數(shù)據(jù)庫查詢的自動生成。
18.如權(quán)利要求1所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢具有對由用戶指定的查詢的例外的例外列表與其相關(guān)聯(lián)。
19.如權(quán)利要求18所述的用戶界面,其特征在于,所述用戶界面還包括對具有適應(yīng)所述例外列表中的例外的、塊表達式語言格式的修訂數(shù)據(jù)庫查詢的自動生成。
20.一種用于形成對數(shù)據(jù)庫的數(shù)據(jù)庫查詢的數(shù)據(jù)庫查詢用戶界面,包括來自用戶的查詢文本串輸入,包括塊表達式語言格式的一個或多個項;句法提示,用于構(gòu)造句法上正確且完整并包括來自用戶的文本串輸入的多元素塊表達式語言數(shù)據(jù)庫查詢。
21.如權(quán)利要求20所述的用戶界面,其特征在于,所述句法提示是基于對涉及包括在來自用戶的文本串輸入中的數(shù)據(jù)庫元素的數(shù)據(jù)庫信息的加權(quán)分析從所述數(shù)據(jù)庫中選出的。
22.如權(quán)利要求21所述的用戶界面,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括完成關(guān)聯(lián),其中,共同在用戶選擇的句法提示中的第一和第二信息項被關(guān)聯(lián)在一起,由此增加了所述第一和第二信息項之間的關(guān)系相對于其它信息項的權(quán)重。
23.如權(quán)利要求22所述的用戶界面,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括一結(jié)果計數(shù)因子,它對于增加的結(jié)果計數(shù)直到最大計數(shù),對信息提供增加的權(quán)重,然后對于大于最大計數(shù)的結(jié)果計數(shù),對信息提供減少的權(quán)重。
24.如權(quán)利要求20所述的用戶界面,其特征在于,所述句法提示包括對應(yīng)于包括來自用戶的文本串輸入的所選擇數(shù)據(jù)庫信息字段的信息字段標識符。
25.如權(quán)利要求20所述的用戶界面,其特征在于,所述句法提示包括多個多元素塊表達式語言數(shù)據(jù)庫查詢的顯示的列表,用戶選擇所述多個多元素塊表達式數(shù)據(jù)庫查詢之一。
26.如權(quán)利要求25所述的用戶界面,其特征在于,多元素塊表達式語言數(shù)據(jù)庫查詢中的各個元素可由用戶修改,其每一個都來自可替換各個元素且維護所述數(shù)據(jù)庫查詢的句法上正確的表達式的元素的顯示的列表。
27.如權(quán)利要求20所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢作為數(shù)據(jù)庫查詢對象被持久保存在計算機可讀介質(zhì)中。
28.如權(quán)利要求27所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象包括具有對由用戶指定的查詢的例外的例外列表的數(shù)據(jù)結(jié)構(gòu)。
29.如權(quán)利要求27所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象包括數(shù)據(jù)結(jié)構(gòu),包括對應(yīng)于塊表達式語言格式的查詢的查詢規(guī)范語言語句;以及產(chǎn)生所述查詢的用戶動作的查詢構(gòu)造記錄。
30.如權(quán)利要求29所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象的數(shù)據(jù)結(jié)構(gòu)還包括關(guān)于通過所述查詢操作返回了多少結(jié)果的查詢結(jié)果計數(shù)。
31.如權(quán)利要求29所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢的數(shù)據(jù)結(jié)構(gòu)還包括指示查詢的使用歷史的查詢使用記錄。
32.如權(quán)利要求27所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢可從所述持久保存的數(shù)據(jù)庫查詢對象中檢索,用于對照數(shù)據(jù)庫的更新的執(zhí)行。
33.如權(quán)利要求27所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢對象包括具有對由用戶指定的查詢的例外的例外列表的數(shù)據(jù)結(jié)構(gòu),且所述用戶界面還包括對具有適應(yīng)所述例外列表中的例外的、塊表達式語言格式的修訂數(shù)據(jù)庫查詢的自動生成。
34.如權(quán)利要求20所述的用戶界面,其特征在于,所述數(shù)據(jù)庫查詢具有對由用戶指定的查詢的例外的例外列表與其相關(guān)聯(lián)。
35.如權(quán)利要求34所述的用戶界面,其特征在于,所述用戶界面還包括對具有適應(yīng)所述例外列表中的例外的、塊表達式語言格式的修訂數(shù)據(jù)庫查詢的自動生成。
36.在計算機可讀介質(zhì)中,一種持久保存的數(shù)據(jù)庫查詢對象數(shù)據(jù)結(jié)構(gòu),包括數(shù)據(jù)庫查詢;以及對由用戶指定的數(shù)據(jù)庫查詢的例外的例外列表。
37.如權(quán)利要求36所述的數(shù)據(jù)結(jié)構(gòu),其特征在于,對所述數(shù)據(jù)庫查詢的例外是由用戶參考由所述數(shù)據(jù)庫查詢返回的結(jié)果來指定的。
38.如權(quán)利要求36所述的數(shù)據(jù)結(jié)構(gòu),其特征在于,所述數(shù)據(jù)庫查詢包括對應(yīng)于塊表達式語言格式的數(shù)據(jù)庫查詢的查詢規(guī)范語言語句。
39.如權(quán)利要求36所述的數(shù)據(jù)結(jié)構(gòu),其特征在于,還包括產(chǎn)生所述數(shù)據(jù)庫查詢的用戶動作的查詢構(gòu)造記錄。
40.如權(quán)利要求36所述的數(shù)據(jù)結(jié)構(gòu),其特征在于,還包括關(guān)于通過所述查詢操作返回了多少結(jié)果的查詢結(jié)果計數(shù)。
41.如權(quán)利要求36所述的數(shù)據(jù)結(jié)構(gòu),其特征在于,還包括指示查詢的使用歷史的查詢使用記錄。
42.如權(quán)利要求36所述的數(shù)據(jù)結(jié)構(gòu),其特征在于,所述數(shù)據(jù)庫查詢可從所述持久保存的數(shù)據(jù)庫查詢對象數(shù)據(jù)結(jié)構(gòu)中檢索,用于對照數(shù)據(jù)庫的更新的執(zhí)行。
43.在計算機可讀介質(zhì)中,一種用于形成對數(shù)據(jù)庫的數(shù)據(jù)庫查詢的數(shù)據(jù)庫查詢軟件,包括用于形成塊表達式語言格式的數(shù)據(jù)庫查詢并將所述數(shù)據(jù)庫查詢的一個版本儲存在持久保存的數(shù)據(jù)庫查詢對象中的軟件;用于在所述持久保存的數(shù)據(jù)庫查詢對象中儲存對由用戶指定的數(shù)據(jù)庫查詢的例外的例外列表的軟件。
44.如權(quán)利要求43所述的軟件,其特征在于,還包括用于參考由所述數(shù)據(jù)庫查詢返回的結(jié)果獲取用戶指定的例外的軟件。
45.如權(quán)利要求43所述的軟件,其特征在于,還包括用于自動生成具有適應(yīng)所述例外列表中的例外的、塊表達式語言格式的修訂數(shù)據(jù)庫查詢的軟件。
46.如權(quán)利要求43所述的軟件。其特征在于,所述數(shù)據(jù)庫查詢的該版本包括對應(yīng)于塊表達式語言格式的數(shù)據(jù)庫查詢的查詢規(guī)范語言語句。
47.如權(quán)利要求43所述的軟件,其特征在于,所述持久保存的數(shù)據(jù)庫查詢對象還包括產(chǎn)生所述查詢的用戶動作的查詢構(gòu)造記錄。
48.如權(quán)利要求43所述的軟件,其特征在于,所述持久保存的數(shù)據(jù)庫查詢對象還包括關(guān)于通過所述查詢操作返回了多少結(jié)果的查詢結(jié)果計數(shù)。
49.如權(quán)利要求43所述的軟件,其特征在于,所述持久保存的數(shù)據(jù)庫查詢對象還包括指示查詢的使用歷史的查詢使用記錄。
50.如權(quán)利要求43所述的軟件,其特征在于,還包括用于從所述持久保存的數(shù)據(jù)庫查詢對象對照所述數(shù)據(jù)庫更新所述數(shù)據(jù)庫查詢的執(zhí)行的軟件。
51.如權(quán)利要求43所述的軟件,其特征在于,所述用于形成塊表達式語言格式的數(shù)據(jù)庫查詢的軟件包括用于獲取具有塊表達式語言格式的一個或多個項的初始查詢文本串的軟件,以及用于提供用于構(gòu)造在句法上正確且完整并包括所述初始查詢文本串的多元素塊表達式語言數(shù)據(jù)庫查詢的句法提示的軟件。
52.如權(quán)利要求51所述的軟件,其特征在于,所述句法提示是基于對涉及包括在所述初始查詢文本串中的數(shù)據(jù)庫元素的數(shù)據(jù)庫信息的加權(quán)分析從所述數(shù)據(jù)庫中選出的。
53.如權(quán)利要求52所述的軟件,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括完成關(guān)聯(lián),其中,共同在用戶選擇的句法提示中的第一和第二信息項被關(guān)聯(lián)在一起,由此增加了所述第一和第二信息項之間的關(guān)系相對于其它信息項的權(quán)重。
54.如權(quán)利要求52所述的軟件,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括一結(jié)果計數(shù)因子,它對于增加的結(jié)果計數(shù)直到最大計數(shù),對信息提供增加的權(quán)重,然后對于大于最大計數(shù)的結(jié)果計數(shù),對信息提供減少的權(quán)重。
55.如權(quán)利要求51所述的軟件,其特征在于,所述句法提示包括對應(yīng)于包括所述初始查詢文本串的所選擇數(shù)據(jù)庫信息字段的信息字段標識符。
56.如權(quán)利要求51所述的軟件,其特征在于,所述句法提示包括多個多元素塊表達式語言數(shù)據(jù)庫查詢的顯示的列表,用戶選擇所述多個多元素塊表達式數(shù)據(jù)庫查詢之一。
57.如權(quán)利要求56所述的軟件,其特征在于,多元素塊表達式語言數(shù)據(jù)庫查詢中的各個元素可由用戶修改,其每一個都來自可替換各個元素且維護所述數(shù)據(jù)庫查詢的句法上正確的表達式的元素的顯示的列表。
58.一種用于形成對數(shù)據(jù)庫的數(shù)據(jù)庫查詢的方法,包括形成塊表達式語言格式的數(shù)據(jù)庫查詢并將所述數(shù)據(jù)庫查詢的一個版本儲存在持久保存的數(shù)據(jù)庫查詢對象中;在所述持久保存的數(shù)據(jù)庫查詢對象中儲存對由用戶指定的數(shù)據(jù)庫查詢的例外的例外列表。
59.如權(quán)利要求58所述的方法,其特征在于,還包括參考由所述數(shù)據(jù)庫查詢返回的結(jié)果獲取用戶指定的例外。
60.如權(quán)利要求58所述的方法,其特征在于,還包括自動生成具有適應(yīng)所述例外列表中的例外的、塊表達式語言格式的修訂數(shù)據(jù)庫查詢。
61.如權(quán)利要求58所述的方法,其特征在于,所述數(shù)據(jù)庫查詢的該版本包括對應(yīng)于塊表達式語言格式的數(shù)據(jù)庫查詢的查詢規(guī)范語言語句。
62.如權(quán)利要求58所述的方法,其特征在于,所述持久保存的數(shù)據(jù)庫查詢對象還包括形成所述數(shù)據(jù)庫查詢的用戶動作的查詢構(gòu)造記錄。
63.如權(quán)利要求58所述的軟件,其特征在于,所述持久保存的數(shù)據(jù)庫查詢對象還包括關(guān)于通過所述數(shù)據(jù)庫查詢操作返回了多少結(jié)果的查詢結(jié)果計數(shù)。
64.如權(quán)利要求58所述的方法,其特征在于,所述持久保存的數(shù)據(jù)庫查詢對象還包括指示查詢的使用歷史的查詢使用記錄。
65.如權(quán)利要求58所述的方法,其特征在于,還包括從所述持久保存的數(shù)據(jù)庫查詢對象對照所述數(shù)據(jù)庫更新所述數(shù)據(jù)庫查詢的執(zhí)行。
66.如權(quán)利要求58所述的方法,其特征在于,形成塊表達式語言格式的數(shù)據(jù)庫查詢包括獲取具有塊表達式語言格式的一個或多個項的初始查詢文本串,以及提供用于構(gòu)造在句法上正確且完整并包括所述初始查詢文本串的多元素塊表達式語言數(shù)據(jù)庫查詢的句法提示。
67.如權(quán)利要求66所述的方法,其特征在于,所述句法提示是基于對涉及包括在所述初始查詢文本串中的數(shù)據(jù)庫元素的數(shù)據(jù)庫信息的加權(quán)分析從所述數(shù)據(jù)庫中選出的。
68.如權(quán)利要求67所述的方法,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括完成關(guān)聯(lián),其中,共同在用戶選擇的句法提示中的第一和第二信息項被關(guān)聯(lián)在一起,由此增加了所述第一和第二信息項之間的關(guān)系相對于其它信息項的權(quán)重。
69.如權(quán)利要求67所述的方法,其特征在于,對所述數(shù)據(jù)庫信息的加權(quán)分析包括一結(jié)果計數(shù)因子,它對于增加的結(jié)果計數(shù)直到最大計數(shù),對信息提供增加的權(quán)重,然后對于大于最大計數(shù)的結(jié)果計數(shù),對信息提供減少的權(quán)重。
70.如權(quán)利要求66所述的軟件,其特征在于,所述句法提示包括對應(yīng)于包括所述初始查詢文本串的所選擇數(shù)據(jù)庫信息字段的信息字段標識符。
71.如權(quán)利要求66所述的方法,其特征在于,所述句法提示包括多個多元素塊表達式語言數(shù)據(jù)庫查詢的顯示的列表,用戶選擇所述多個多元素塊表達式數(shù)據(jù)庫查詢之一。
72.如權(quán)利要求71所述的方法,其特征在于,多元素塊表達式語言數(shù)據(jù)庫查詢中的各個元素可由用戶修改,其每一個都來自可替換各個元素且維護所述數(shù)據(jù)庫查詢的句法上正確的表達式的元素的顯示的列表。
73.如權(quán)利要求28所述的用戶界面,其特征在于,對由用戶指定的查詢的例外的例外列表可用對于對象的直接用戶操縱來修改。
全文摘要
一種數(shù)據(jù)庫查詢用戶界面將簡單文本搜索的用戶便利與強大的查詢語言的表達精化相組合。該數(shù)據(jù)庫查詢用戶界面包括來自用戶的查詢文本串輸入,該查詢文本串輸入包括塊表達式語言格式的一個或多個項。該數(shù)據(jù)庫查詢用戶界面還包括用于構(gòu)造句法上正確且完整并包括來自用戶的文本串輸入的多元素塊表達式語言數(shù)據(jù)庫查詢的句法提示。例如,該句法提示是基于對涉及包括在來自用戶的文本串輸入中的數(shù)據(jù)庫元素的數(shù)據(jù)庫信息的加權(quán)分析從數(shù)據(jù)庫中選出的。依照本發(fā)明的用戶界面形成的數(shù)據(jù)庫查詢?nèi)缓罂勺鳛閿?shù)據(jù)庫查詢對象被持久保存或存儲。
文檔編號G06FGK1806241SQ200480016462
公開日2006年7月19日 申請日期2004年6月10日 優(yōu)先權(quán)日2003年6月13日
發(fā)明者D·P·弗洛內(nèi), C·馬克建, A·托斯基, R·科特 申請人:微軟公司