新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Semantic Web(语义Web,语义网或语义万维网, Web 3.0)及相关理论,如:Ontology(本体,本体论), OWL(Web Ontology Langauge,Web本体语言), Description Logic(DL, 描述逻辑),RDFa,Ontology Engineering等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区W3CHINA.ORG讨论区 - Web新技术讨论『 Semantic Web(语义Web)/描述逻辑/本体 』 → 刚要入门,请问Jena和Protege是什么? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 27679 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 刚要入门,请问Jena和Protege是什么? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     77932994 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:8
      积分:81
      门派:XML.ORG.CN
      注册:2007/4/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给77932994发送一个短消息 把77932994加入好友 查看77932994的个人资料 搜索77932994在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看77932994的博客楼主
    发贴心情 刚要入门,请问Jena和Protege是什么?

    大家好,我的方向也是语义网方面的,最近看了些论文,又发现了这个好网站,希望各位多多协助!
    问个问题,Jena和Protege是什么,干什么用的?二者之间有联系吗?
    望不吝赐教,谢谢!

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/5 21:06:00
     
     ztszhang 帅哥哟,离线,有人找我吗?魔羯座1981-1-16
      
      
      威望:1
      等级:大三(研究MFC有点眉目了!)
      文章:136
      积分:606
      门派:W3CHINA.ORG
      注册:2005/11/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ztszhang发送一个短消息 把ztszhang加入好友 查看ztszhang的个人资料 搜索ztszhang在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ztszhang的博客2
    发贴心情 
    这些基本的知识,通过搜索自己完全可以解决,还可以锻炼自学能力
    提问题,最好有选择性

    ----------------------------------------------
    偶在论坛空间游荡
    A 说B 讲C 下D 上
    键盘敲响声音回荡
    与牛人交流无限爽
     

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/5 23:47:00
     
     chenli97 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:15
      积分:128
      门派:XML.ORG.CN
      注册:2007/3/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给chenli97发送一个短消息 把chenli97加入好友 查看chenli97的个人资料 搜索chenli97在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看chenli97的博客3
    发贴心情 
    jena是一个java开发工具包,用于开发语义网的应用系统,protege可以用来构建本体
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/6 16:00:00
     
     wskfn 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:12
      积分:97
      门派:XML.ORG.CN
      注册:2006/9/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wskfn发送一个短消息 把wskfn加入好友 查看wskfn的个人资料 搜索wskfn在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wskfn的博客4
    发贴心情 
    在这个站点上找点入门的东西看
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/6 19:29:00
     
     mindview 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:12
      积分:103
      门派:XML.ORG.CN
      注册:2007/3/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mindview发送一个短消息 把mindview加入好友 查看mindview的个人资料 搜索mindview在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mindview的博客5
    发贴心情 
    我要毕设啊
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/28 22:15:00
     
     mindview 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:12
      积分:103
      门派:XML.ORG.CN
      注册:2007/3/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mindview发送一个短消息 把mindview加入好友 查看mindview的个人资料 搜索mindview在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mindview的博客6
    发贴心情 
    好难学啊,
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/28 22:15:00
     
     bzbc 帅哥哟,离线,有人找我吗?
      
      
      等级:大三暑假(TOFEL考了660分!)
      文章:151
      积分:921
      门派:XML.ORG.CN
      注册:2006/4/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给bzbc发送一个短消息 把bzbc加入好友 查看bzbc的个人资料 搜索bzbc在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看bzbc的博客7
    发贴心情 
    一般来说,我们在Protege这样的编辑器里构建了本体,就会想在应用程序里使用它,这就需要一些开发接口。用程序操作本体是很必要的,因为在很多情况下,我们要自动生成本体,靠人手通过Protege创建所有本体是不现实的。Jena是HP公司开发的这样一套API,似乎HP公司在本体这方面走得很靠前,其他大公司还在观望吗?

    可以这样说,Jena对应用程序就像Protege对我们,我们使用Protege操作本体,应用程序则是使用Jena来做同样的工作,当然这些应用程序还是得由我们来编写。其实Protege本身也是在Jena的基础上开发的,你看如果Protege的console里报异常的话,多半会和Jena有关。最近出了一个Protege OWL API,相当于对Jena的包装,据说使用起来更方便,这个API就是Protege的OWL Plugin所使用的,相信作者经过OWL Plugin的开发以后,说这些话是有一定依据的。

    题目是说用Jena处理OWL,其实Jena当然不只能处理OWL,就像Protege除了能处理OWL外还能处理RDF(S)一样。Jena最基本的使用是处理RDF(S),但毕竟OWL已经成为W3C的推荐标准,所以对它的支持也是大势所趋。

    好了,现在来点实际的,怎样用Jena读我们用Protege创建的OWL本体呢,假设你有一个OWL本体文件(.owl),里面定义了动物类(http://www.zoo.com/ont/Animal,注意这并不是一个实际存在的URL,不要试图去访问它),并且它有一些实例,现在看如下代码:

    OntModel m = ModelFactory.createOntologyModel();
    File myFile = ...;
    m.read(new FileInputStream(myFile), "");
    ResIterator iter = m.listSubjectsWithProperty(RDF.type, m.getResource("http://www.zoo.com/ont/Animal"));
    while (iter.hasNext()) {
        Resource animal = (Resource) iter.next();
        System.out.println(animal.getLocalName());
    }
    和操作RDF(S)不同,com.hp.hpl.jena.ontology.OntModel是专门处理本体(Ontology)的,它是com.hp.hpl.jena.rdf.model.Model的子接口,具有Model的全部功能,同时还有一些Model没有的功能,例如listClasses()、listObjectProperties(),因为只有在本体里才有“类”和“属性”的概念。

    上面的代码很简单,从ModelFactory创建一个OntModel,从指定文件把模型读到内存里。再下面的代码是一个例子,作用是取出模型中所有Animal的实例(Individual,也叫个体),并打印它们的名称。要从OntModel里取实例,也可以用listIndividuals()方法,只不过你得在得到的实例中判断它们是不是Animal的实例,我觉得不如用上面这种简易查询的方式来得方便。

    Jena里扩展了很多Iterator,比如ResIterator、StmtIterator和NodeIterator等等,刚开始用会觉得很别扭,好象还不如都用java标准的Iterator,不知道Jena的设计者是怎么考虑的。要熟练掌握还是得对整个Jena的API有全局掌握才好。

    在循环里,我们得到的每个元素都是一个Resource,因为本体里的任何东西都是资源,不论你想得到Subject、Property还是Object,在Jena里实际得到的都是资源(Resource),在Jena里,Property是Resource的子接口,而Jena并没有Subject或Object接口。(注:在OWL本体中,Subject->Property->Object组成一个三元组,例如:张小刚->父亲->张大刚;或者:绵羊多利->rdf:type->动物,rdf:type是一个特殊的属性,表示前者是后者的实例)

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/28 21:59:00
     
     sunrisee 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(数据结构考了98分!)
      文章:84
      积分:396
      门派:XML.ORG.CN
      注册:2007/7/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给sunrisee发送一个短消息 把sunrisee加入好友 查看sunrisee的个人资料 搜索sunrisee在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看sunrisee的博客8
    发贴心情 
    呵呵,protege知道一点
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/10/5 11:15:00
     
     meazza 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:9
      积分:95
      门派:XML.ORG.CN
      注册:2007/9/29

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给meazza发送一个短消息 把meazza加入好友 查看meazza的个人资料 搜索meazza在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看meazza的博客9
    发贴心情 
    现在的任务是通过jena把protege构建的本体进行处理,例如读取,推理之类的.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/10/11 19:24:00
     
     李宁 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:23
      积分:149
      门派:XML.ORG.CN
      注册:2008/4/7

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给李宁发送一个短消息 把李宁加入好友 查看李宁的个人资料 搜索李宁在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看李宁的博客10
    发贴心情 
    有点收获!谢谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/7/16 1:28:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/12/18 15:35:10

    本主题贴数14,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    125.000ms