Nepomuk(語義桌面)

From KDE Wiki Sandbox
Revision as of 04:00, 9 June 2010 by Qiii2006 (talk | contribs) (Created page with '這裡有個例子講把語境認知(context awareness)帶到桌面上助你工作更有效率。')

Template:I18n/Language Navigation Bar


Nepomuk

這個頁面的目的不是詳細解釋Nepomuk技術及其每個細節,而是作簡短的概述,舉一些例子,分享其背後的設想和給予指向網上相關資訊的鏈接。

簡短說明

術語提到的,Nepomuk有關數據的分類,組織和表達。它並非是一個應用程序,而是可以被開發人員應用在程序中的組件。

試用

舉例來說,Dolphin採用了 Nepomuk。對於後面例舉的必須保證系統設置-> 桌面搜索 的 Nepomuk 和 Strigi 都已經開啟。 Dolphin的信息側面板允許你給文件打上標籤,評分和評論。這些信息隨後存儲在 Nepomuk 並且被 Strigi 編入索引。然後你可以在 Dolphin 裡用導航欄搜索元數據(metadata)。輸入"nepomuksearch:/",隨後是搜索詞。

功能

Nepomuk 提供數'層'功能給應用程序。第一個也是其中最簡單的是手動標記(manual tagging),評分(rating)和註釋(commenting),如使用在Dolphin中。這有助於你更快的找到你的文件,但這種做法太耗費精力。

為了使得搜索包含文本的文件更容易,Nepomuk 提供了第二個功能:索引(indexing)文件中的文本。它使用一種被稱作Strigi 的技術來實現。現在你也能通過輸入你所已知的其中某些詞語,或僅僅(部分)它們的標題來搜索到文件。

第三層非常複雜,是Nepomuk 被視為歐盟(European union)多個公司和大學研究項目的原因。這部分你會遇到很難理解的詞組像是'語義桌面(semantic desktop)'和'本體論(ontologies)'。基本上,它涉及到語境(context)和關係(relationships)。

例子

讓我試著用兩個例子解釋Nepomuk 提供了什麼。

關係(Relationship)

假設你2週前從你的某個好友手上收到一張照片。你隨後保存照片到電腦的某個地方。現在你如何找到那個文件哪?如果你不記得保存的位置,你就杯具了(人生是個茶几,你是個杯具)。

現在 Nepomuk 旨在幫助你。你知道這個文件是你朋友發給你的,但你電腦不知道。然而,Nepomuk 能夠記得這個關係。搜索你朋友的名字,隨後便會出現照片哦!

另一個潛在的關係是在你複製出來文本的網頁和你粘貼文本進去的文檔之間,抑或顯示同一輛車的兩幅圖片之間。這樣的關係有時能從文件本身上獲得(你能夠分辨照片,看出誰或什麼東西在那上面)或由關聯的程序(上面E-mail 的例子)提供。 Nepomuk 的這部分還是加緊開發中,需要整合進應用程序,所以你可以期望這功能花費更多年真正實現。切~~( ﹁ ﹁ )

總之,Nepomuk 的這部分是有關使得搜索智能。試想下Google 是如何智能化你的搜索:當你搜索旅店和城市名,它在網站搜索結果之上顯示google 地圖顯示你提到的那個城市中的各家旅店!它甚至可能推荐一個更適合的名稱以免你犯了拼寫錯誤。 Google 對網站之間的關係(鏈接)使用複雜計算,試著將最相關的信息放置在搜索結果的頂部。 Nepomuk 會能夠提供那樣智能的搜索結果,並用關聯信息根據相關性調整搜索結果。

語境(Context)

這些關係(relationships)不但能幫你搜索文件,也會影響到應用程序及它們提供的信息。注意這種使用Nepomuk 的方式說是設想更恰當而非現實!當中很多組件已經做好,但總體上看都還沒整合進應用程序和桌面。

這裡有個例子講把語境認知(context awareness)帶到桌面上助你工作更有效率。

Say you are working on finishing some notes you took in a meeting. The phone rings, and somebody asks you to find that spreadsheet with prices, adjust it for a customer. After a few more interruptions you find your desktop full of files and windows...

It'd be nice to be able to organize all that a bit better, right?

Enter 'activities'. These have been introduced in Plasma, and currently offer different 'desktops'. They are a bit like virtual desktops, except that the desktop itself changes, not the set of applications. Different widgets, background, things like that. Of course, since KDE 4.3, each virtual desktop can have it's own activity, bringing the two in sync.

If applications and desktop were aware of activities, you could create an activity for each of the tasks you regularly work on. So if you often have to change a spreadsheet with prices, you create an activity for that: put a Folder View (or several) widget on the desktop, add a calculator and a todo-widget to keep track of what you still have to change. Maybe even an email folder widget showing the mails with questions regarding these prices spreadsheets!

As soon as somebody asks a question about prices, you switch to this activity. Fire up your spreadsheet application. It is aware of your activity so it shows recent price spreadsheets, not the recent list of inventory you were working on in another activity! Kopete, the chat application shows your colleague who knows all about prices, as she is the person you always chat with when working on this activity.

When you are finished, you go back to another activity, and once again all applications adjust their behavior to fit what you are doing.

The benefits of such an activity-based work flow go further than you might at first expect. It not only helps you find files and contact persons, but also helps in switching tasks itself. The human brain isn't very good at multi-tasking - it takes most people several minutes to get up to speed after switching tasks. Changing the 'environment' helps a lot in speeding this up, even if it's just on the screen. Compare it with getting in the mood for your holiday by packing your bag!

Of course, the above is mostly relevant to people working behind their computer in the office or at home. A gamer or a casual user would probably not use these activities much.

Note that the scenario described above is still years away from reality. Much of the basic infrastructure for this in KDE is in place but much is still left.

Sharing and privacy

There is one thing I need to touch on before pointing to other sources of information: sharing Nepomuk data. It'd be great if your tags, ratings and comments would be shared with others when you send them files. However, if you tagged a contact with a slightly embarrassing tag ('boring in bed') and send that persons contact information to a mutual friend you probably don't want that tag to be send as well... This issue is of course being considered and an important subject of research by the Nepomuk researchers. For the time being, these privacy concerns, combined with technical challenges, are the reason Nepomuk context is private. Rest assured the Nepomuk team does all it can to make sure your privacy is respected.

More info:
Wikipedia - Semantic Desktop
Wikipedia - NEPOMUK Framework
NEPOMUK website
NEPOMUK KDE site
article explaining Nepomuk on the DOT