【发布时间】:2011-10-10 08:50:36
【问题描述】:
下面是我的 .rdfs 文件。如果我的输入是 XXXX,我需要得到 YYYY。我该怎么做。
<rdfs:Class rdf:about="&kb;XXXX"
rdfs:label="XXXX">
<rdfs:subClassOf rdf:resource="&kb;YYYY"/>
</rdfs:Class>
我的代码:
StmtIterator iter = model.listStatements(
new
SimpleSelector(null, RDFS.label, (RDFNode) null) {
@Override
public boolean selects(Statement s) {
return s.getString().endsWith("XXXX");
}
});
if (iter.hasNext()) {
System.out.println("The database contains:");
while (iter.hasNext()) {
System.out.println(" " + iter.nextStatement()
.getString());
}
【问题讨论】:
-
这似乎是您的普通 XML 文件,所以不要重新发明轮子而只需使用 XML 解析器?
-
Voo:RDF 和 RDFS 有一些不可预测的 XML 序列化,因此常规的 XML 工具并不总是很适合。但是,OP 实际上是在谈论在 Jena 解析数据结构之后遍历数据结构(这是
StmtIterator等的来源)。