以文本方式查看主题 - W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- 关于jena解析owl文件的问题 (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=89926) |
-- 作者:ehuangjiazi -- 发布时间:3/28/2011 8:12:00 PM -- 关于jena解析owl文件的问题 根据论坛上的代码,我把本体保存到了数据库,也用jena查询成功了,可是jena好像是直接查询的owl文件,而不是从数据库里面查询的,那不要数据库也可以吗? jena查询代码: import java.util.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.ontology.*; public class MyOntology { public static void main(String[] args) { // 创建本体模型 OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); ontModel.read("file:E:\\Program Files\\Protege_3.4.4\\Animal.owl"); // 读取文件,加载模型 //迭代显示模型中的类 for (Iterator i = ontModel.listClasses(); i.hasNext();) { OntClass c = (OntClass) i.next(); if (!c.isAnon()) { // 如果不是匿名类 System.out.print("Class"); // 获取类的URI并输出,在输出时对URI做了简化(将命名空间前缀省略) System.out.println(c.getModel().getGraph().getPrefixMapping().shortForm(c.getURI())); // 处理Animal类 if (c.getLocalName().equals("Animal")) { // 如果当前类是Animal System.out.println(" URI@" + c.getURI()); // 输出它的完整URI // 取得特定类的等价类 } // 迭代显示当前类的父类 for (Iterator it = c.listSuperClasses(); it.hasNext();) { OntClass sp = (OntClass) it.next(); String str = c.getModel().getGraph() .getPrefixMapping().shortForm(c.getURI()) // 获取URI + "'s superClass is " ; String strSP = sp.getURI(); try{ // 另一种简化处理URI的方法 str = str + ":" + strSP.substring(strSP.indexOf('#')+1); System.out.println(" Class" +str); } catch( Exception e ){ } } // 迭代显示当前类的子类 for (Iterator it = c.listSubClasses(); it.hasNext();) { System.out.print(" Class"); OntClass sb = (OntClass) it.next(); System.out.println(c.getModel().getGraph().getPrefixMapping() .shortForm(c.getURI()) + "'s suberClass is " + sb.getModel().getGraph().getPrefixMapping() .shortForm(sb.getURI())); } // 迭代显示与当前类相关的所有属性 for(Iterator ipp = c.listDeclaredProperties(); ipp.hasNext();) { OntProperty p = (OntProperty)ipp.next(); System.out.println(" associated property: " + p.getLocalName()); } } } } } |
-- 作者:zghydx02wl -- 发布时间:3/31/2011 9:02:00 AM -- 你这个本来就是直接读OWL文件,和数据库没啥关系啊 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
54.688ms |