package at.ac.univie.mminf.qskos4j.issues.count;
import at.ac.univie.mminf.qskos4j.issues.Issue;
import at.ac.univie.mminf.qskos4j.result.NumberResult;
import at.ac.univie.mminf.qskos4j.util.vocab.SkosOntology;
import org.openrdf.OpenRDFException;
import org.openrdf.model.Statement;
import org.openrdf.model.vocabulary.RDF;
import org.openrdf.repository.RepositoryResult;
/**
* Created by christian
* Date: 26.01.13
* Time: 14:23
*
* Finds the number of SKOS <a href="http://www.w3.org/TR/skos-reference/#collections">Collections</a>.
*/
public class Collections extends Issue<NumberResult<Long>> {
public Collections() {
super("cc",
"Collection Count",
"Counts the involved Collections",
IssueType.STATISTICAL
);
}
@Override
protected NumberResult<Long> invoke() throws OpenRDFException {
RepositoryResult<Statement> result = repCon.getStatements(null, RDF.TYPE, SkosOntology.getInstance().getUri("Collection"), true);
long collectionCount = 0;
while (result.hasNext()) {
result.next();
collectionCount++;
}
result.close();
return new NumberResult<Long>(collectionCount);
}
}