新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   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)/描述逻辑/本体 』 → [求助]利用SPAQL对本体进行查询总是报错 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 10928 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]利用SPAQL对本体进行查询总是报错 举报  打印  推荐  IE收藏夹 
       本主题类别: Ontology Language | RDF/RDFS    
     dorothyle 美女呀,离线,快来找我吧!
      
      
      等级:大二(研究汇编)
      文章:44
      积分:285
      门派:XML.ORG.CN
      注册:2009/9/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给dorothyle发送一个短消息 把dorothyle加入好友 查看dorothyle的个人资料 搜索dorothyle在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看dorothyle的博客楼主
    发贴心情 [求助]利用SPAQL对本体进行查询总是报错

    大家好,遇到了一点问题,请有经验的朋友帮忙给指点一二:
        我用Protege构建了一个关于服装的本体,定义了两个类,一个是服装,一个是文档,文档类有两个子类,一个是图片,一个是其他文档。对于服装这个类定义了一些数据类型属性,包括color, texture,kind, name, pattern, style等。同时我创建了一个服装类的实例H,我想通过以下语句,实现控制台输出实例H的颜色。语句如下:
    import com.hp.hpl.jena.ontology.OntDocumentManager;
    import com.hp.hpl.jena.ontology.OntModel;
    import com.hp.hpl.jena.query.*;
    import com.hp.hpl.jena.rdf.model.InfModel;
    import com.hp.hpl.jena.rdf.model.ModelFactory;
    import com.hp.hpl.jena.reasoner.*;

    public class Costume2{
     public static void main(String args[]) {
     OntModel model = ModelFactory.createOntologyModel();
     OntDocumentManager dm = model.getDocumentManager();
     dm.addAltEntry("http://Costume.owl#", "file:" + "Costume.owl");
     model.read("file:e:/ontologies/BeijingOpera/Costume.owl");
      
     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://Costume.owl#> ";  
     
                        String k = "?base:H ";
         String select = "SELECT ?color ";
         String where = "WHERE {" + k + "base:color ?color }" ;
         Reasoner reasoner = ReasonerRegistry.getOWLReasoner(); 
     Query query = QueryFactory.create(prefix + select + where);
     InfModel inf = ModelFactory.createInfModel(reasoner, model);
     QueryExecution qe = QueryExecutionFactory.create(query,inf);
     ResultSet results = qe.execSelect();
     ResultSetFormatter.out(System.out,results,query);
     }
    }
        语句没有提示报错,但是控制台没有输出。控制台的出错提示如下:
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/D:/pellet-2.2.0/lib/jena/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/D:/ARQ-2.8.5/lib/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    Exception in thread "main" com.hp.hpl.jena.query.QueryParseException: Line 1, column 216: Unresolved prefixed[color=#FF0000] name: :H at [/color]com.hp.hpl.jena.sparql.lang.ParserBase.throwParseException(ParserBase.java:543)
     at com.hp.hpl.jena.sparql.lang.ParserBase.resolvePName(ParserBase.java:232)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.PrefixedName(SPARQLParser10.java:2077)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.IRIref(SPARQLParser10.java:2061)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.VarOrIRIref(SPARQLParser10.java:1279)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.Verb(SPARQLParser10.java:1081)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.PropertyListNotEmpty(SPARQLParser10.java:1002)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.TriplesSameSubject(SPARQLParser10.java:985)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.TriplesBlock(SPARQLParser10.java:645)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.GroupGraphPatternSub(SPARQLParser10.java:555)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.GroupGraphPattern(SPARQLParser10.java:518)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.WhereClause(SPARQLParser10.java:330)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.SelectQuery(SPARQLParser10.java:108)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.Query(SPARQLParser10.java:36)
     at com.hp.hpl.jena.sparql.lang.sparql_10.SPARQLParser10.QueryUnit(SPARQLParser10.java:28)
     at com.hp.hpl.jena.sparql.lang.ParserSPARQL10$1.exec(ParserSPARQL10.java:35)
     at com.hp.hpl.jena.sparql.lang.ParserSPARQL10.perform(ParserSPARQL10.java:82)
     at com.hp.hpl.jena.sparql.lang.ParserSPARQL10.parse(ParserSPARQL10.java:39)
     at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:129)
     at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:72)
     at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:43)
     at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:31)
     at Costume2.main(Costume2.java:23)
        其中红字显示的地方应该是我想显示的实例,这里我改了几个实例的名称,但总是这个地方报错,大家帮我看看吧。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/10/13 17:22:00
     
     dorothyle 美女呀,离线,快来找我吧!
      
      
      等级:大二(研究汇编)
      文章:44
      积分:285
      门派:XML.ORG.CN
      注册:2009/9/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给dorothyle发送一个短消息 把dorothyle加入好友 查看dorothyle的个人资料 搜索dorothyle在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看dorothyle的博客2
    发贴心情 [原创]
    哈哈,刚发完帖子,我一发狠说再试试,小宇宙爆发了,问题解决了。是查询语句的格式问题,就少写了那么一个“.”,结果输出结果就不对!谢谢大家了!这个问题过了,我觉得今天就值,今天一天就干了这一件事
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/10/13 17:38:00
     
     laotao 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大四(GRE考了1400分!)
      文章:117
      积分:1030
      门派:XML.ORG.CN
      注册:2007/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给laotao发送一个短消息 把laotao加入好友 查看laotao的个人资料 搜索laotao在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给laotao 引用回复这个贴子 回复这个贴子 查看laotao的博客3
    发贴心情 
    我也遇到过, 原因是项目里导入了两个不同版本的SLF4J包, 而那个低版本的SLF4J包跟所用的jena版本不兼容
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/10/13 18:37:00
     
     dorothyle 美女呀,离线,快来找我吧!
      
      
      等级:大二(研究汇编)
      文章:44
      积分:285
      门派:XML.ORG.CN
      注册:2009/9/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给dorothyle发送一个短消息 把dorothyle加入好友 查看dorothyle的个人资料 搜索dorothyle在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看dorothyle的博客4
    发贴心情 
    按照laotao提示,我新建了一个项目,只添加了Pellet/lib目录中的SLFJ文件,ARQ/lib/目录里的SLFJ4的文件没加,运行结果正确!
    万分感谢laotao的帮助,你的帮助总是能让我解决问题。太感谢了
    [此贴子已经被作者于2010-10-14 9:29:50编辑过]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/10/14 8:15:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/20 5:06:01

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

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