public OutputType processResearcher() throws Exception { Researcher researcher = createResearcher(); researcher.setAffiliation(affiliation); final List<String> preStatements = new ArrayList<String>(); preStatements.add(String.format(REMOVE_DERIVED_DATA, getResearcherURI())); String getCnts = String.format( GET_COAUTHOR_CNTS, getResearcherURI(), researcher.getAffiliation().getURI()); getSparqlClient() .select( getCnts, new ResultSetConsumer() { public void useResultSet(ResultSet rs) throws Exception { if (rs.hasNext()) { QuerySolution qs = rs.next(); if (qs.getLiteral("?erc").getInt() > 0 && qs.getLiteral("?cwc").getInt() > 0) { String update = String.format( ADD_COAUTHOR_CNTS, getResearcherURI(), qs.getLiteral("?erc").getInt(), qs.getLiteral("?cwc").getInt()); preStatements.add(update); } } } }); // new store.startTransaction(); store.execute(preStatements); store.execute( String.format(DELETE_PRIOR_PROCESS_LOG, getResearcherURI(), getCrawler().getURI())); store.update(researcher); store.endTransaction(); // new return OutputType.PROCESSED; }