新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   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等。
    [返回] W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWLW3CHINA.ORG讨论区 - Web新技术讨论『 Semantic Web(语义Web)/描述逻辑/本体 』 → [加急]请教jena查询本体的问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 17216 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [加急]请教jena查询本体的问题 举报  打印  推荐  IE收藏夹 
       本主题类别: Ontology Language | RDF/RDFS    
     kingskim 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:13
      积分:96
      门派:XML.ORG.CN
      注册:2009/4/26

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

    下面我是我写的一个查询OWL文件的代码,sparqlpath是我在前面定义的文件路径。整个程序在MYECLIPSE下能正常运行,但是我把这代码移植到JSP中后,就出现问题了。整个情况是这样的:
    index.html我输入关键字,点击提交按钮,用Ajax调用我的TOMCAT上的一个JSP文件(该文件的功能是:连接一个WEB服务,获取返回结果,把结果中的有用部分提取出来,转移到另一个文件book.owl中[我定义了一个超级简单的本体,这里没有问题],然后调用JENA API+SPARQL查询查生成的这个book.owl文件),JSP文件返回的结果我放在index.html中的一个div里。

    整个流程就是这样的,而且也用运行。但是有个大问题:部署后,打开IE,第一次能正常运行,在不关闭IE的情况下,第二次,第三次都不出结果,除非关键字还是第一次的时候输入的关键字(这种情况下还是会出结果,但是结果和第一次一样)。关闭IE,重新打开后也是第一次能运行,往后就不能运行了。经检查发现,其实,[连接一个WEB服务,获取返回结果,把结果中的有用部分提取出来,转移到另一个文件book.owl中,]这都没问题,的确新生成了文件,但是查询结果不更新。是怎么回事呢?
    Ajax调用的时候,我加了随机函数,也不行。所以我怀疑是我在导入本体的后,文件没释放。但是自己没查出错误来,请高手指点一下,帮我看看是哪儿出问题了。
    OntModel model = ModelFactory.createOntologyModel();
     FileInputStream file = new FileInputStream(sparqlpath);
     InputStreamReader infile = new InputStreamReader(file, "gb2312");
     model.read(infile, null);
     String prefix = "PREFIX owl: <http://www.w3.org/2002/07/owl#>"
       + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
       + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"
       + "PREFIX  base:<http://www.owl-ontologies.com/book.owl#> ";
     String slect = "SELECT DISTINCT ?name ?author ?isbn ?book_price ?book_summary ";
     String where = "WHERE { " + " ?k" + " base:author ?g ." + "OPTIONAL { "
       + "?k" + " base:title ?name ." + "}" + "OPTIONAL { " + "?k"
       + " base:creators ?author ." + "}" + "OPTIONAL { " + "?k"
       + " base:isbn ?isbn ." + "}" + "OPTIONAL { " + "?k"
       + " base:price ?book_price ." + "}" + "OPTIONAL { " + "?k"
       + " base:summary ?book_summary ." + "}" + "FILTER regex(?g, '"
       + keywords + "', 'i') " + " }" + "ORDER BY ASC(?book_price)"// ORDER
                      // BY,排序,可以指定多个排序,比如例子可以改为,ORDER
                      // BY
                      // ASC(?name)
                      // DESC(?age)。默认排序是
                      // ASC。
       // +"LIMIT 2"//将返回结果限定在 2 条,类似于 SQL 中的 SELECT TOP 2
       // +"OFFSET 1"//掠过前边的 1 条,从 第 2 条开始返回。这个功能比 SQL 强大,SQL
       // 要自己写翻页。优先级比LIMIT高
     ;
     Query query = QueryFactory.create(prefix + slect + where);
     Reasoner reasoner = ReasonerRegistry.getOWLReasoner();
     InfModel inf = ModelFactory.createInfModel(reasoner, model);
     QueryExecution qe = QueryExecutionFactory.create(query, inf);
     ResultSet results = qe.execSelect();
     for(;results.hasNext();){ QuerySolution a=
       (QuerySolution)results.next();
       out.print("<hr>");
       out.println(a.get("?name")+"
    ");
       out.println(a.get("?author")+"
    ");
       //out.println(a.get("?isbn")+"
    ");
       out.println(a.get("?book_price")+"
    ");
       out.println(a.get("?book_summary")+"
    ");
       }
     qe.close();
     inf.close();
     infile.close();
     file.close();
     model.close();


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/6/14 9:44:00
     
     duxiong 帅哥哟,离线,有人找我吗?
      
      
      等级:大三(要不要学学XML呢?)
      文章:27
      积分:562
      门派:XML.ORG.CN
      注册:2004/9/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给duxiong发送一个短消息 把duxiong加入好友 查看duxiong的个人资料 搜索duxiong在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看duxiong的博客2
    发贴心情 
    如果程序在本机调试通过,部署后出现这种情况,很有可能是服务器缓存的问题。你注意一下。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/6/14 10:08:00
     
     achenal 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:93
      门派:XML.ORG.CN
      注册:2008/12/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给achenal发送一个短消息 把achenal加入好友 查看achenal的个人资料 搜索achenal在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看achenal的博客3
    发贴心情 
    用SPARQL查询,最好用FireFox浏览器。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/6/14 10:39:00
     
     jpz6311whu 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      等级:研三(收到微软亚洲研究院的Offer了)(版主)
      文章:1718
      积分:10610
      门派:W3CHINA.ORG
      注册:2005/4/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jpz6311whu发送一个短消息 把jpz6311whu加入好友 查看jpz6311whu的个人资料 搜索jpz6311whu在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jpz6311whu的博客4
    发贴心情 
    试试tomcat下的work文件夹中的内容删除掉
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/6/16 11:36:00
     
     Humphrey 帅哥哟,离线,有人找我吗?狮子座1981-7-23
      
      
      威望:1
      等级:研二(搞定了DL,再搞定F-Logic!)
      文章:937
      积分:5743
      门派:W3CHINA.ORG
      注册:2008/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Humphrey发送一个短消息 把Humphrey加入好友 查看Humphrey的个人资料 搜索Humphrey在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看Humphrey的博客5
    发贴心情 
    版主的处理方法,以前曾有幸接触过。印象中是Web服务的问题,不过不知道为什么一定要那样处理才行。
    如果清理之后还是出现类似的情况就不好办了。

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/7/10 8:52: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/4/19 13:27:20

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

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