Jena 解析本体 实体,属性,属性值

来源:互联网 发布:克拉默法则 知乎 编辑:程序博客网 时间:2024/06/05 00:55

在网上找了好多Api和方法,可以解析出实体,属性,但是都无法解析出本体中的属性值。后在网上看到本体本身保存的就是三元组,每个三元组可构成一个Statement,每个statement包括subject,predicate,Object,将其分别取出来就得到你想要的实体,属性,属性值了。方法如下:

StmtIterator iter;
Property predicate;
Resource subject;
Statement stmt;
RDFNode obj;
iter = ontModel.listStatements();

HashMap<String, String> stateMap = new HashMap<String, String>();
while (iter.hasNext()) {
stmt = iter.next();
subject = stmt.getSubject();
// 关键词
String key= subject.getURI().substring(
subject.getURI().indexOf("#") + 1);
predicate = stmt.getPredicate();
// 属性
String name = predicate.getLocalName();
obj = stmt.getObject();
// 属性值
String value= obj.toString();

}

0 0