1

如何返回模型中涉及指定资源(作为主题或对象)的所有属性......?

返回与该资源相关的属性的字符串 [] 的方法。

4

1 回答 1

2

AFAIK 没有等效于listSubjectsWithProperty返回模型中的所有谓词或给定主题的所有谓词。虽然它很容易实现:

使用 Jena SimpleSelector,您可以遍历模型并将遍历限制在某些条件下。在这种情况下,我只过滤具有主题的语句someRelevantSubject

SimpleSelector selector = new SimpleSelector(null, null, (RDFNode)null) {
    public boolean selects(Statement st)
        { return st.getSubject().equals(someRelevantSubject);}
}

使用选择器,迭代模型并添加谓词并将谓词添加到标准 Java 集中:

StmtIterator iter = model.listStatements(selector);
while(it.hasNext()) {
   Statement stmt = iter.nextStatement();
   some_set.add(stmt.getPredicate().toString());
}

如果您想要所有不同的谓词而不管主题,只需true始终在选择器中返回。

于 2013-03-06T17:58:32.637 回答