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

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 9318 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 【求助】jena中有关statment的修改问题 举报  打印  推荐  IE收藏夹 
       本主题类别: Ontology Engineering | RDF/RDFS    
     yyc0424 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:9
      积分:93
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yyc0424发送一个短消息 把yyc0424加入好友 查看yyc0424的个人资料 搜索yyc0424在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yyc0424的博客楼主
    发贴心情 【求助】jena中有关statment的修改问题

    如题。
    我现在将一个本体用jena来处理成一组statment的形式,比如把Animal.owl处理成以下格式:
    http://www.owl-ontologies.com/Ontology1244799080.owl#BeiLion http://www.w3.org/1999/02/22-rdf-syntax-ns#type  http://www.owl-ontologies.com/Ontology1244799080.owl#Lion  .
    http://www.owl-ontologies.com/Ontology1244799080.owl#BeiLion http://www.owl-ontologies.com/Ontology1244799080.owl#belonging  http://www.owl-ontologies.com/Ontology1244799080.owl#Beijing_Zoo  .
    http://www.owl-ontologies.com/Ontology1244799080.owl#Address http://www.w3.org/2000/01/rdf-schema#comment  地址^^http://www.w3.org/2001/XMLSchema#string  .
    http://www.owl-ontologies.com/Ontology1244799080.owl#Address http://www.w3.org/1999/02/22-rdf-syntax-ns#type  http://www.w3.org/2002/07/owl#DatatypeProperty  .
    http://www.owl-ontologies.com/Ontology1244799080.owl#Address http://www.w3.org/2000/01/rdf-schema#range  http://www.w3.org/2001/XMLSchema#string  .
    http://www.owl-ontologies.com/Ontology1244799080.owl#Address http://www.w3.org/2000/01/rdf-schema#domain  http://www.owl-ontologies.com/Ontology1244799080.owl#Zoo  .
    http://www.owl-ontologies.com/Ontology1244799080.owl#Tel http://www.w3.org/2000/01/rdf-schema#comment  电话号码^^http://www.w3.org/2001/XMLSchema#string  .

    现在我想把里面所有的http://www.w3.org/2002/07/owl#DatatypeProperty改成http://www.w3.org/2002/07/owl#DatatypeProperty111111
    程序如下:
    package example;

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import com.hp.hpl.jena.rdf.model.Model;
    import com.hp.hpl.jena.rdf.model.ModelFactory;
    import com.hp.hpl.jena.rdf.model.Property;
    import com.hp.hpl.jena.rdf.model.RDFNode;
    import com.hp.hpl.jena.rdf.model.Resource;
    import com.hp.hpl.jena.rdf.model.Statement;
    import com.hp.hpl.jena.rdf.model.StmtIterator;

    public class Ev {
     public static void main(String[] args) {
      
      Model model=ModelFactory.createDefaultModel();
      StmtIterator iter;
      
      String no="http://www.w3.org/2002/07/owl#DatatypeProperty111111";
      Resource type=model.getResource(no);
         try

         {   model.read(new FileInputStream("D:\\Animal.owl"),""); }

         catch(IOException ioe)

         {

                System.err.println(ioe.toString());

         }
     iter = model.listStatements();
    while (iter.hasNext()) {
        Statement stmt      = iter.nextStatement();  // get next statement
        Resource  subject   = stmt.getSubject();     // get the subject
        Property  predicate = stmt.getPredicate();   // get the predicate
        RDFNode   object    = stmt.getObject();      // get the object
        if(object.toString().equals("http://www.w3.org/2002/07/owl#DatatypeProperty"))
            object=type;
        System.out.print(subject.toString());
        System.out.print(" " + predicate.toString() + " ");
        System.out.print(" " + object.toString() + " ");

        System.out.println(" .");
    }
    try

    {
      model.write(new FileOutputStream("D:\\Animals.owl")) ;
          

    }

    catch(IOException ioe)

    { System.err.println(ioe.toString()); }

     }}
    显示Statement的时候没有问题,但是写到D:\\Animals.owl时,却没有完成修改。不知道为什么?还请各位帮忙,多谢!


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/29 10:46:00
     
     yyc0424 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:9
      积分:93
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yyc0424发送一个短消息 把yyc0424加入好友 查看yyc0424的个人资料 搜索yyc0424在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yyc0424的博客2
    发贴心情 
    找到解决方法了呵呵,自己不会使用有关iterator 的同步之类的解决方法,使用的是比较笨的方法。
    可以另外建立一个模型newmodel,将最后生成的subject,predicate和object等直接使用add()的方法写入就行了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/30 15:52:00
     
     Humphrey 帅哥哟,离线,有人找我吗?狮子座1981-7-23
      
      
      威望:1
      等级:研二(搞定了DL,再搞定F-Logic!)
      文章:937
      积分:5743
      门派:W3CHINA.ORG
      注册:2008/3/12

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

    ----------------------------------------------
    鸿丰

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/11/3 14:51:00
     
     GoogleAdSense狮子座1981-7-23
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/29 14:22:14

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

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