以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  用Sparql 读取owl文件中的某个类的属性  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=34344)


--  作者:homkee
--  发布时间:6/13/2006 6:30:00 PM

--  用Sparql 读取owl文件中的某个类的属性
想用Sparql来读取owl文件的某个类及其子类的属性问题,各位能否给点建议啊。谢谢!


[此贴子已经被作者于2006-6-13 18:59:01编辑过]

--  作者:iamwym
--  发布时间:6/13/2006 7:02:00 PM

--  
?x rdfs:subclassof ?y . ?y owl:Class XXX
--  作者:homkee
--  发布时间:6/15/2006 11:02:00 AM

--  
多谢!
有没有相关的例子,可供参考啊?!
--  作者:homkee
--  发布时间:6/15/2006 10:14:00 PM

--  
程序如下:我想找到protege构建的一个owl文件中的“virus”类的子类。请问各位大虾。这个是什么原因?!
多谢!


public class SrqlAgent {
/****************************
*用jena的sparl来查询元素属性等相关信息。
* @throws IOException
*****************************/
public static void main(String[] args) throws IOException {

String queryString="SELECT ?x WHERE{?x CMO: subClassOf ?subClassOf)  AND ?subClassOf=~/virus/i}" +"USING CMO FOR <http://www.gdut.edu.cn/homkee-computer-microorganism.owl#>";
  
  
 //执行查询,产生结果
  
 Query query=QueryFactory.create(queryString);
 QueryExecution qe=QueryExecutionFactory.create(query,model);
 ResultSet resultset=qe.execSelect();
 //输出查询结果
 ResultSetFormatter.out(System.out,resultset,query);
 qe.close();
   
  
 }
  

 }

******************
出现了以下错误:

---------------------------------------------------------------------------------------

Exception in thread "main" com.hp.hpl.jena.query.lang.QNameException: Line 1, column 20: Unresolved qname: CMO:
at com.hp.hpl.jena.query.lang.ParserBase.fixupQName(ParserBase.java:230)
at com.hp.hpl.jena.query.lang.ParserBase.createNodeFromQName(ParserBase.java:176)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.QName(SPARQLParser.java:1725)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.IRIref(SPARQLParser.java:1705)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.VarOrIRIref(SPARQLParser.java:1037)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.Verb(SPARQLParser.java:854)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.PropertyListNotEmpty(SPARQLParser.java:817)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.TriplesSameSubject(SPARQLParser.java:784)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.BlockOfTriples(SPARQLParser.java:519)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.FilteredBasicGraphPattern(SPARQLParser.java:489)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.GraphPattern(SPARQLParser.java:440)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.GroupGraphPattern(SPARQLParser.java:432)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.WhereClause(SPARQLParser.java:300)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.SelectQuery(SPARQLParser.java:139)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.Query(SPARQLParser.java:28)
at com.hp.hpl.jena.query.lang.sparql.SPARQLParser.CompilationUnit(SPARQLParser.java:20)
at com.hp.hpl.jena.query.lang.ParserSPARQL.parse(ParserSPARQL.java:35)
at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:84)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:51)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:38)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:26)
at homkee.search.SrqlAgent.main(SrqlAgent.java:37)

[此贴子已经被作者于2006-7-10 23:07:49编辑过]

--  作者:jpz6311whu
--  发布时间:6/15/2006 11:50:00 PM

--  
CMO无法识别,用
com.hp.hpl.jena.util
Class PrintUtil

registerPrefix
public static void registerPrefix(java.lang.String prefix,
                                  java.lang.String namespace)Register a new prefix/namespace mapping which will be used to shorten the print strings for resources in known namespaces.
注册一下
--  作者:iamwym
--  发布时间:6/16/2006 2:46:00 AM

--  
我不用jena
--  作者:homkee
--  发布时间:6/19/2006 5:11:00 PM

--  
以下是引用jpz6311whu在2006-6-15 23:50:00的发言:
CMO无法识别,用
com.hp.hpl.jena.util
Class PrintUtil

registerPrefix
public static void registerPrefix(java.lang.String prefix,
                                   java.lang.String namespace)Register a new prefix/namespace mapping which will be used to shorten the print strings for resources in known namespaces.
注册一下


多谢!COM无法识别的问题已经解决了,用“PREFIX”也可。现在能运行程序了,但是读不出数据来。


--  作者:homkee
--  发布时间:6/19/2006 5:28:00 PM

--  
以下是引用iamwym在2006-6-13 19:02:00的发言:
?x rdfs:subclassof ?y . ?y owl:Class XXX


我按照您的提示,从下面的owl文件中想用读取:rdfs:comment可是读出来的是空字符串,这个是什么原因啊?还望好心人能够指点迷津!

[此贴子已经被作者于2006-7-10 23:06:09编辑过]

--  作者:homkee
--  发布时间:7/10/2006 11:09:00 PM

--  
本问题已经解决了!多谢各位!
--  作者:hothhu
--  发布时间:7/16/2006 1:11:00 PM

--  
Sparql是针对RDF的查询语言,可以用于owl吗?
--  作者:jpz6311whu
--  发布时间:7/16/2006 4:41:00 PM

--  
以下是引用hothhu在2006-7-16 13:11:00的发言:
Sparql是针对RDF的查询语言,可以用于owl吗?


当然可以,owl就是一种rdf
--  作者:Janus
--  发布时间:7/19/2006 8:54:00 PM

--  
以下是引用jpz6311whu在2006-7-16 16:41:00的发言:
[quote]以下是引用hothhu在2006-7-16 13:11:00的发言:
Sparql是针对RDF的查询语言,可以用于owl吗?
[/quote]
当然可以,owl就是一种rdf

但是OWL有许多新的功能比如subclass,equivalentclass,这些关系也可以用来查询吗?


--  作者:jpz6311whu
--  发布时间:7/19/2006 9:21:00 PM

--  
以下是引用Janus在2006-7-19 20:54:00的发言:
[quote]以下是引用jpz6311whu在2006-7-16 16:41:00的发言:
[quote]以下是引用hothhu在2006-7-16 13:11:00的发言:
  Sparql是针对RDF的查询语言,可以用于owl吗?
  [/quote]
  当然可以,owl就是一种rdf
[/quote]

但是OWL有许多新的功能比如subclass,equivalentclass,这些关系也可以用来查询吗?



可以啊,SPARQL可以检索基于三元组的本体,关键要看你的WHERE 字句怎么写。
--  作者:Avansky
--  发布时间:3/30/2010 2:16:00 PM

--  
model没定义!!
--  作者:angleangleangle
--  发布时间:4/3/2010 12:12:00 PM

--  
楼主怎么解决的?为什么不说一下呢?
--  作者:ehuangjiazi
--  发布时间:4/14/2011 11:12:00 AM

--  
以下是引用homkee在2006-6-19 17:28:00的发言:
[quote]以下是引用iamwym在2006-6-13 19:02:00的发言:
?x rdfs:subclassof ?y . ?y owl:Class XXX
[/quote]
我按照您的提示,从下面的owl文件中想用读取:rdfs:comment可是读出来的是空字符串,这个是什么原因啊?还望好心人能够指点迷津!

[此贴子已经被作者于2006-7-10 23:06:09编辑过]


问题是怎么解决的呢?我也有这个问题啊。。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
101.563ms