Как вернуть все свойства в модели с указанным ресурсом (в качестве объекта или объекта) ...?Как вернуть свойство ресурса с помощью jena API в Java?
Метод, который возвращает строку [] свойств, связанных с этим ресурсом.
Как вернуть все свойства в модели с указанным ресурсом (в качестве объекта или объекта) ...?Как вернуть свойство ресурса с помощью jena API в Java?
Метод, который возвращает строку [] свойств, связанных с этим ресурсом.
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
в селектор.
Спасибо ... .... – user2057437
Я бы посоветовал преждевременное сопоставление объектов RDF с строками, а коллекции Java гораздо полезнее, чем массивы. Я предлагаю вам подумать в терминах 'Collection', а не 'String []' для хранения предикатов, которые вы хотите. –