新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   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)/描述逻辑/本体 』 → protege 3.1运行时内存的问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5969 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: protege 3.1运行时内存的问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     xirufeng 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(Java考了96分!)
      文章:77
      积分:322
      门派:XML.ORG.CN
      注册:2005/12/12

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

    这两段程序的效率有天壤之别:
    程序一:
    for (Iterator i=seller.listSubClasses();i.hasNext();)
        {
          OntClass c = (OntClass) i.next();
          for(int j=coll.size()-1;j>=0;j--)
          {
           nodeParentName=c.getSuperClass().getLocalName();
           String iNodeInfo=((TreeInfo)coll.get(j)).getNodeName();
           int iNodeId=((TreeInfo)coll.get(j)).getNodeId();
           if(!nodeParentName.equals(iNodeInfo))
             continue;
           if(nodeParentName.equals(iNodeInfo))
           info.setParentId(iNodeId);
           if(info.getParentId()!=-1)
             break;
          }
          coll.add(info);
          childId++;
    }

    程序二:
    for (Iterator i=seller.listSubClasses();i.hasNext();)
        {
          OntClass c = (OntClass) i.next();
          for(Iterator inner=c.listSubClasses(true);inner.hasNext();)
          {
            OntClass cinner=(OntClass)inner.next();
            nodeName=cinner.getLocalName();
            nodeinfo.put(nodeName,nodeParentName);
            info=new TreeInfo();
            info.setNodeId(childId);
            info.setParentId(parentId);
            info.setNodeName(nodeName);
            info.setUrl(nodeName);
            childId++;
            coll.add(info);
         }
          parentId++;
        }
    我搞不清楚这是为什么。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/17 10:09:00
     
     iamwym 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      等级:计算机硕士学位(版主)
      文章:2454
      积分:17456
      门派:XML.ORG.CN
      注册:2004/11/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给iamwym发送一个短消息 把iamwym加入好友 查看iamwym的个人资料 搜索iamwym在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问iamwym的主页 引用回复这个贴子 回复这个贴子 查看iamwym的博客12
    发贴心情 
    如果我没有猜错,第二个程序比较慢吧
    因为你每个循环都要定义一个ontclass的instance,这样是很贵的。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/17 20:56:00
     
     jpz6311whu 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      等级:研三(收到微软亚洲研究院的Offer了)(版主)
      文章:1718
      积分:10610
      门派:W3CHINA.ORG
      注册:2005/4/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jpz6311whu发送一个短消息 把jpz6311whu加入好友 查看jpz6311whu的个人资料 搜索jpz6311whu在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jpz6311whu的博客13
    发贴心情 
    以下是引用xirufeng在2006-1-17 10:09:00的发言:
    这两段程序的效率有天壤之别:
    程序一:
    for (Iterator i=seller.listSubClasses();i.hasNext();)
         {
           OntClass c = (OntClass) i.next();
           for(int j=coll.size()-1;j>=0;j--)
           {
            nodeParentName=c.getSuperClass().getLocalName();
            String iNodeInfo=((TreeInfo)coll.get(j)).getNodeName();
            int iNodeId=((TreeInfo)coll.get(j)).getNodeId();
            if(!nodeParentName.equals(iNodeInfo))
              continue;
            if(nodeParentName.equals(iNodeInfo))
            info.setParentId(iNodeId);
            if(info.getParentId()!=-1)
              break;
           }
           coll.add(info);
           childId++;
    }

    程序二:
    for (Iterator i=seller.listSubClasses();i.hasNext();)
         {
           OntClass c = (OntClass) i.next();
           for(Iterator inner=c.listSubClasses(true);inner.hasNext();)
           {
             OntClass cinner=(OntClass)inner.next();
             nodeName=cinner.getLocalName();
             nodeinfo.put(nodeName,nodeParentName);
             info=new TreeInfo();
             info.setNodeId(childId);
             info.setParentId(parentId);
             info.setNodeName(nodeName);
             info.setUrl(nodeName);
             childId++;
             coll.add(info);
          }
           parentId++;
         }
    我搞不清楚这是为什么。



    完整的程序贴出来看看,光看这个很难判断
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/18 19:26:00
     
     xirufeng 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(Java考了96分!)
      文章:77
      积分:322
      门派:XML.ORG.CN
      注册:2005/12/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xirufeng发送一个短消息 把xirufeng加入好友 查看xirufeng的个人资料 搜索xirufeng在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xirufeng的博客14
    发贴心情 
    谢谢大家了,问题已经解决。
    祝大家过个好年。
    以下是引用jpz6311whu在2006-1-18 19:26:00的发言:
    [quote]以下是引用xirufeng在2006-1-17 10:09:00的发言:
    这两段程序的效率有天壤之别:
      程序一:
      for (Iterator i=seller.listSubClasses();i.hasNext();)
          {
            OntClass c = (OntClass) i.next();
            for(int j=coll.size()-1;j>=0;j--)
            {
             nodeParentName=c.getSuperClass().getLocalName();
             String iNodeInfo=((TreeInfo)coll.get(j)).getNodeName();
             int iNodeId=((TreeInfo)coll.get(j)).getNodeId();
             if(!nodeParentName.equals(iNodeInfo))
               continue;
             if(nodeParentName.equals(iNodeInfo))
             info.setParentId(iNodeId);
             if(info.getParentId()!=-1)
               break;
            }
            coll.add(info);
            childId++;
      }

      程序二:
      for (Iterator i=seller.listSubClasses();i.hasNext();)
          {
            OntClass c = (OntClass) i.next();
            for(Iterator inner=c.listSubClasses(true);inner.hasNext();)
            {
              OntClass cinner=(OntClass)inner.next();
              nodeName=cinner.getLocalName();
              nodeinfo.put(nodeName,nodeParentName);
              info=new TreeInfo();
              info.setNodeId(childId);
              info.setParentId(parentId);
              info.setNodeName(nodeName);
              info.setUrl(nodeName);
              childId++;
              coll.add(info);
           }
            parentId++;
          }
      我搞不清楚这是为什么。
    [/quote]
    完整的程序贴出来看看,光看这个很难判断


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

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

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