新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国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的区别 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 28984 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: jena和protege的区别 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     bzbc 帅哥哟,离线,有人找我吗?
      
      
      等级:大三暑假(TOFEL考了660分!)
      文章:151
      积分:921
      门派:XML.ORG.CN
      注册:2006/4/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给bzbc发送一个短消息 把bzbc加入好友 查看bzbc的个人资料 搜索bzbc在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看bzbc的博客楼主
    发贴心情 jena和protege的区别

    一般来说,我们在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是一个特殊的属性,表示前者是后者的实例)


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/29 11:11:00
     
     meazza 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:9
      积分:95
      门派:XML.ORG.CN
      注册:2007/9/29

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给meazza发送一个短消息 把meazza加入好友 查看meazza的个人资料 搜索meazza在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看meazza的博客2
    发贴心情 
    不错!学习ing!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/10/11 19:12:00
     
     ejun_2006 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:30
      积分:188
      门派:XML.ORG.CN
      注册:2007/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ejun_2006发送一个短消息 把ejun_2006加入好友 查看ejun_2006的个人资料 搜索ejun_2006在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ejun_2006的博客3
    发贴心情 
    恩 是呀 不错 多谢了!!!!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/10/11 21:41:00
     
     ronghua0130 美女呀,离线,快来找我吧!水瓶座1984-1-30
      
      
      等级:大一新生
      文章:2
      积分:59
      门派:XML.ORG.CN
      注册:2008/2/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ronghua0130发送一个短消息 把ronghua0130加入好友 查看ronghua0130的个人资料 搜索ronghua0130在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给ronghua0130 引用回复这个贴子 回复这个贴子 查看ronghua0130的博客4
    发贴心情 
    学习了,呵呵
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/2/10 14:25:00
     
     lchsi324 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:9
      积分:51
      门派:XHTML.ORG.CN
      注册:2008/3/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lchsi324发送一个短消息 把lchsi324加入好友 查看lchsi324的个人资料 搜索lchsi324在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lchsi324的博客5
    发贴心情 
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/3/20 12:09:00
     
     littlea 帅哥哟,离线,有人找我吗?魔羯座1979-1-1
      
      
      头衔:littlea
      等级:大四(GRE考了1400分!)
      文章:238
      积分:1187
      门派:W3CHINA.ORG
      注册:2008/2/23

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给littlea发送一个短消息 把littlea加入好友 查看littlea的个人资料 搜索littlea在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看littlea的博客6
    发贴心情 
    谢谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/3/20 17:04:00
     
     林亦 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:16
      积分:116
      门派:XML.ORG.CN
      注册:2008/3/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给林亦发送一个短消息 把林亦加入好友 查看林亦的个人资料 搜索林亦在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看林亦的博客7
    发贴心情 
    谢谢!
    学习学习
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/3/25 12:19:00
     
     mxj5210 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:23
      积分:154
      门派:XML.ORG.CN
      注册:2007/12/10

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mxj5210发送一个短消息 把mxj5210加入好友 查看mxj5210的个人资料 搜索mxj5210在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mxj5210的博客8
    发贴心情 
    楼主,新手想学OWL有什么好的东东推荐吗?谢谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/3/25 17:01:00
     
     mxj5210 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:23
      积分:154
      门派:XML.ORG.CN
      注册:2007/12/10

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mxj5210发送一个短消息 把mxj5210加入好友 查看mxj5210的个人资料 搜索mxj5210在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mxj5210的博客9
    发贴心情 
    楼主,新手想学OWL有什么好的东东推荐吗?谢谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/3/25 17:01:00
     
     seventeen_wy 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:21
      积分:137
      门派:XML.ORG.CN
      注册:2008/3/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给seventeen_wy发送一个短消息 把seventeen_wy加入好友 查看seventeen_wy的个人资料 搜索seventeen_wy在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看seventeen_wy的博客10
    发贴心情 
    学习拉,谢谢楼主
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/4/7 20:12: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 18:34:06

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

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