2
Apache Jena中有沒有一種方法可以從當前模型中刪除所有資源,而這些資源沒有任何屬性?刪除Apache Jena中沒有屬性的所有資源?
我只找到如何刪除某些三倍,但不是像迭代的資源,檢查他們多麼屬性有等
Apache Jena中有沒有一種方法可以從當前模型中刪除所有資源,而這些資源沒有任何屬性?刪除Apache Jena中沒有屬性的所有資源?
我只找到如何刪除某些三倍,但不是像迭代的資源,檢查他們多麼屬性有等
它不存在,因爲沒有必要爲它存在。 RDF數據模型描述了基於三元組的圖形,其中主題和對象映射到Jena術語中的資源,謂詞映射到屬性。
不可能擁有沒有任何屬性的資源,因此不需要一種方法來移除這些資源來存在。
對於迭代的資源嘗試listSubjects()
和listObjects()
方法
要獲得與特定資源相關聯的屬性的數量,您可以使用listStatements()
方法獲取StmtIterator
再算上通過例如返回的語句
//Assuming you have a Model in variable model
//Assuming you already have some Resource in variable res
StmtIterator stmts = model.listStatements(res, null, null);
int count = 0;
while (stmts.hasNext())
{
count++;
stmts.next();
}
如果你想算一筆品種全的東西(例如,對於每個資源數量的屬性),同時您可能需要使用SPARQL查詢,而不是如
SELECT ?s (COUNT(?p) AS ?NumProperties)
WHERE { ?s ?p ?o } GROUP BY ?s
有關如何運行SPARQL查詢,請參閱the documentation。