簡單理解kde4的語義學桌面搜索

KDE 是一個強大的圖形桌面環境,各項關於 KDE 使用上的問題或討論歡迎在此提出。

版主: AceLan, Franklin

簡單理解kde4的語義學桌面搜索

文章訪客 » 週一 2月 01, 2010 7:35 pm

http://kderunner.blogspot.com/2009/01/kde4.html

語義學桌面搜索是kde4桌面環境所提供的新搜索技術,它依據的是知識庫的語義學研究成果。我一直很好奇這個技術,得益於kde 4.1 rc1的使用,說說我對這個技術的理解。

目前所能理解的搜索,大都是利用檔案名、副檔名以及一些檔案屬性等關鍵字進行搜索,較早的實現是以檔案名為關鍵字,採取目錄樹遍歷的方法,諸如kde3的kfind程式,目前的實現大都基於事先建立的關鍵字索引資料庫,來加快搜索速度,例如freebsd提供的locale程式。但這些搜索技術都是基於檔案屬性的,搜索的結果定位在檔位置上。

在桌面環境下更高的搜索需求 是存在的,例如特定的內容在哪些檔中出現過,搜索特定大小的圖片檔,搜索特定長度的音訊檔等等,這些搜索都要深入到檔內部,而這種搜索實現可以從 網路引擎獲得的直接經驗,但具體依據什麼樣的關鍵字,搜索範圍能擴大到什麼程度,目前還不得而知。

語義學搜索,是目前的一項研究,從目前 kde4的實現上看,它是基於檔案屬性以及檔內容搜索的。 這種搜索基於檔內容和屬性的描述語言——RDF,簡單的說是一種類似xml語言,可以對多種屬性進行定義和描述的框架。在這個框架上,可以根據不同類型的檔,建立不同的屬性,然後對它進行描述,每個屬性都是對外的一個介面,從搜索上看,就是提供多頭的關鍵字。利用這些關鍵字,可以和電腦內的其他檔 建立“蜘蛛網”般的各種聯繫。這種網是基於檔內部屬性的,這個網可以簡單的稱之為“語義網”。

實現這個“語義網”需要大致需要三個條件

1、 檔內容屬性的分析
2、加快搜索的屬性索引資料庫
3、組建“語義網”

對應於kde4的語義學桌面搜索實現,分別是 soprano,strigi和nepomukserver

strigi是一個基於clucene的後臺搜索服務,它可以動態跟蹤檔,利用clucene建立和維護索引資料庫,soprano提供不同檔案類型的基於rdf描述的分析和存儲方式。

nepomukserver 提供了一個框架,對不同類型檔的rdf進行定義,比較直觀的操作是它可以通過dolphin對檔添加“個人評分”“個性標記”以及“個性備註”,它也 可以通過一些圖片查看、製作軟體添加個性標記,可以通過音樂播放軟體添加附加的標記,這些都會被定義為rdf的描述。並最終利用strigi建立索引。當然這個索引資料庫會很大,在kde4貢獻者部落格上,我看到了一位用了1個半小時的時間為30G的磁片檔建立了200M的索引資料庫。

有 了這些技術上的支援,桌面搜索範圍得到了明顯的增強。

利用kde4的nepomuk框架,目前我可以查看那些檔裡面出現了 “FreeBSD”這個字,我也可以快速的匯總我所標記的檔。可以預想,隨著neomuk-kde框架的進一步成熟,支援的程式越來越多,除了檔管理 更方便之外,還可以通過rdf描述的屬性關鍵字,把個人電腦中的檔組成一個小型“google網路”。
訪客
 

回到 KDE 一般討論

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客