Nepomuk(语义桌面)
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)。
Examples
Let me try to explain what Nepomuk offers using two examples.
Relationship
Say you received a photo from a friend of yours, 2 weeks ago. You saved it somewhere on your computer. Now how to you find that file? If you don't remember the location, you're out of luck.
Now Nepomuk aims to help you. You know this file came from that friend of yours, your computer does not. Nepomuk, however, can remember this relationship. Searching on the name of your friend will therefor pop up the photo!
Another potential relationship is between a web page you copied text from and the document you pasted it into, or two images showing the same car. Such relations can sometimes be extracted from the files themselves (you could analyze photos and see who or what is on there) or supplied by the applications involved (as in the above email example). This part of Nepomuk is still under heavy development, and needs integration in applications, so you can expect it to take a few more years to really shine.
All in all, this part of Nepomuk is about making search smart. Think about how Google tries to be smart with your searches: when you search for a hotel and a city name, it shows above the website results a google map showing hotels in the city you mentioned! It might even suggest a better name in case you made a spelling mistake. Google also tries to put the most relevant information on top of the list of results, using complex calculations on relationships (links) between websites. Nepomuk will be able to offer such smart results and order them on relevancy using relationship information.
Context
These relationships can not only help you while searching for files, but also have an influence on applications and what information they present. Note that this way of using Nepomuk is still more a vision than reality! Many of the components are in place, but it is not yet integrated in applications and the desktop as a whole.
So here an example of bringing context awareness to your desktop could help you work more efficiently.
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.