[kde-china] Techbase上关于Nepomuk的翻译
dbhrscom
dbhrscom在gmail.com
星期二 三月 2 09:34:46 CET 2010
这几天在看Nepomuk的一些资料,Techbase上的一些指南对我帮助很大,有感于 Nepomuk 中文资料较少,我准备结合对语义学桌面搜索的理解对
Techbase 上关于 Nepomuk
的一些英文信息进行翻译,由于本人英文水平实在一般,再加上对Wiki的提交过程很陌生,所以粗译的文档都提交到这里,大伙一起修改和完善,若能对nepomuk的理解有所帮助,还请熟悉techbase信息提交的同好劳烦。
附 Nepmuk Quickstart
网址:
http://techbase.kde.org/index.php?title=Development/Tutorials/Metadata/Nepomuk/Quickstart
==============================================================
Nepomuk快速起步
在你的程序中使用Nepomuk读取和设置元数据可以非常容易,但是请记住,如下所描述的过程在大量修改元数据时有性能缺陷。我们现在来看一个简单的访问资源元数据的方法。
初始化资源管理器
资源管理器是KMetaData 配置中心,在 KDE 4.2和其后的版本中,为了连接Nepomuk服务,我们必须显式对它进行初始化。
Nepomuk::ResourceManager::instance()->init();
这个方法的返回值是一个整型数,如果成功(返回0),表示与Nepomuk的服务连接已经建立,我们可以使用它。如果失败(返回负整数),表示Nepomuk服务没有应答。任何与Nepomuk相关代码不能正常工作。可能的原因是用户在当前会话中禁用了Nepomuk服务。
元数据检索
获取某个文件的元数据,假设URL或文件存储在 uri 里
Nepomuk::Resource res( uri );
QHash<QUrl, Variant> properties = res.properties();
这使我们能够获得分配给该文件的所有属性。
使用Nepomuk获得文件属性中的可读性标签,并用普通的方法显示它
for( QHash<QUrl, Variant>::const_iterator it = properties.constBegin();
it != properties.constEnd(); ++it ) {
QUrl propertyUri = it.key();
Variant value = it.value();
Nepomuk::Types::Class propertyType( propertyUri );
someList->appendItem( propertyType.label() + ": " + value.toString() );
}
设置元数据
同样,假设 uri 是某个文件的
URL,我们为这个文件设置一些元数据,例如设置一个tag(标签)和comment(注释),并会为此使用两种略有不同的方法:
先从tag(标签)开始,使用简单的 Nepomuk 成员函数
Nepomuk::Tag tag( "This is my nice tag name" );
Nepomuk::Resource res( uri );
res.addTag( tag );
简单吧!实际上,若tag(标签)已经存在,会被重用
现在为这个文件设置 comment(注释),不使用 Nepomuk 所提供的方法:
Nepomuk::Resource res( uri );
QString comment = getFancyFileComment();
res.setProperty( Soprano::Vocabulary::NAO::description(), comment );
就这些,我们为文件添加的 comment(注释)保存好了,通过Nepomuk 就可以搜到。
文件包含和库连接
在上述例子中,需要包含如下头文件
#include <Nepomuk/ResourceManager>
#include <Nepomuk/Variant>
#include <Nepomuk/Types/Class>
在 CMakeLists.txt 文件中,需要添加查找 Nepomuk 的宏和连接到Nepomuk的声明 :-)
find_package(Nepomuk REQUIRED)
target_link_libraries(myfile ${NEPOMUK_LIBRARIES} )
--
dbhrscom在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://mail.kde.org/pipermail/kde-china/attachments/20100302/b688dc50/attachment.htm
关于邮件列表 kde-china 的更多信息