以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  SPARQL查询问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=83828)


--  作者:jnuzzr123
--  发布时间:3/14/2010 8:20:00 PM

--  SPARQL查询问题
请问有谁对jena中的SPARQL语言了解的。
下面的内容是我的RDF中的一部分
    <owl:Class rdf:about="#Animal">
        <rdfs:label>Animal</rdfs:label>
        <rdfs:subClassOf rdf:resource="#Creature"/>
        <owl:disjointWith rdf:resource="#plant"/>
    </owl:Class>
我现在想得到rdfs:label中有Animal,并且得到 rdfs:subClassOf中的数据。上面的例子来说就是Creature
请问如何表达?

下面是我的具体语句
  
  String queryString =
   "PREFIX  rdfs:<http://www.w3.org/2000/01/rdf-schema#>" +
   "SELECT ?x ?label ?url" +
   "WHERE {" +
   
   "?x rdfs:label ?label. FILTER regex(?label,\"Animal\")"+
   "?x rdfs:subClassOf ?url." +
   
   "}";
得到的结果是:


| x                                                                          | label         | urlWHERE |
=========================================================================================================
| <http://www.semanticweb.org/ontologies/2010/0/7/Creature2.owl#GrassAnimal> | "GrassAnimal" |          |
| <http://www.semanticweb.org/ontologies/2010/0/7/Creature2.owl#MeatAnimal>  | "MeatAnimal"  |          |
| <http://www.semanticweb.org/ontologies/2010/0/7/Creature2.owl#MixeaAnimal> | "MixeaAnimal" |          |
| <http://www.semanticweb.org/ontologies/2010/0/7/Creature2.owl#Animal>      | "Animal"      |          |

但是没有得到?url,即父类的值

也就是说如何获取<rdfs:subClassOf rdf:resource="#Creature"/>这类的信息,这和<rdfs:label>Animal</rdfs:label>不一样
因为前者有里面有两个rdfs:标签且结束束时用/>,而后者只有一个且是前后都一样,中间是内容。请问如何获取这样的信息?



--  作者:laotao
--  发布时间:3/16/2010 6:39:00 PM

--  
试了下好像没问题啊,把完整数据和代码发上来看看

还有那个urlWHERE是咋回事, query里面不是url吗?


--  作者:Lexxuan
--  发布时间:3/24/2010 10:27:00 AM

--  
一个很容易被忽略的致命错误:"SELECT ?x ?label ?url" 的 url 后面一定要加上空格!, 否则不认,就会出现LZ结果的表的右边的情况
--  作者:Lexxuan
--  发布时间:3/24/2010 10:32:00 AM

--  
其实<rdfs:subClassOf rdf:resource="#Creature"/>和<rdfs:label>Animal</rdfs:label>也可以说是一样的, 但前者因为是rdf:resource,所以结果会是URL,而不是单”Creature“
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms