nodeGroupService/src/main/java/com/ge/research/semtk/services/nodeGroupService/NodeGroupServiceRestController.java
private PredicateStats retrievePredicateStats(SparqlConnection conn, String parentJobId, int startPercent, int endPercent) throws Exception {

		OntologyInfoClient oClient = new OntologyInfoClient(new OntologyInfoClientConfig(oinfo_props.getProtocol(), oinfo_props.getServer(), oinfo_props.getPort()));
		String jobId = oClient.execGetPredicateStats(conn);
		JobTracker tracker = new JobTracker(servicesgraph_props.buildSei());
		
		if (parentJobId != null) {
			tracker.waitTilCompleteUpdatingParent(jobId, parentJobId, "Getting stats on predicate usage", 1000, startPercent, endPercent);
		}
		
		if (tracker.jobSucceeded(jobId)) {
			ResultsClient rclient = new ResultsClient(new ResultsClientConfig(results_props.getProtocol(), results_props.getServer(), results_props.getPort()));
			JSONObject statsJson = rclient.execGetBlobResult(jobId);
			return new PredicateStats(statsJson);
		} else {
			throw new Exception(tracker.getJobStatusMessage(jobId));
		}
	}
/**
	 * Retrieve predicate stats
	 * @param conn
	 * @param parentJobId - to update.  Null to skip this feature.
	 * @param startPercent - for parentJobId percent complete updates
	 * @param endPercent - for parentJobId percent complete updates
	 * @return
	 * @throws Exception
	 */
Retrieve predicate stats
@param conn
@param parentJobId - to update.  Null to skip this feature.
@param startPercent - for parentJobId percent complete updates
@param endPercent - for parentJobId percent complete updates
@return
@throws Exception
Retrieve predicate stats @param conn @param parentJobId - to update . Null to skip this feature . @param startPercent - for parentJobId percent complete updates @param endPercent - for parentJobId percent complete updates @return @throws Exception
private PredicateStats retrievePredicateStats(SparqlConnection conn, String parentJobId, int startPercent, int endPercent) throws Exception {
		OntologyInfoClient oClient = new OntologyInfoClient(new OntologyInfoClientConfig(oinfo_props.getProtocol(), oinfo_props.getServer(), oinfo_props.getPort()));
		String jobId = oClient.execGetPredicateStats(conn);
		JobTracker tracker = new JobTracker(servicesgraph_props.buildSei());
		if (parentJobId != null) {
			tracker.waitTilCompleteUpdatingParent(jobId, parentJobId, "Getting stats on predicate usage", 1000, startPercent, endPercent);
		}
		if (tracker.jobSucceeded(jobId)) {
			ResultsClient rclient = new ResultsClient(new ResultsClientConfig(results_props.getProtocol(), results_props.getServer(), results_props.getPort()));
			JSONObject statsJson = rclient.execGetBlobResult(jobId);
			return new PredicateStats(statsJson);
		} else {
			throw new Exception(tracker.getJobStatusMessage(jobId));
		}
	}
private PredicateStats retrievePredicateStats ( SparqlConnection conn , String parentJobId , int startPercent , int endPercent ) throws Exception { OntologyInfoClient oClient = new OntologyInfoClient ( new OntologyInfoClientConfig ( oinfo_props . getProtocol ( ) , oinfo_props . getServer ( ) , oinfo_props . getPort ( ) ) ) ; String jobId = oClient . execGetPredicateStats ( conn ) ; JobTracker tracker = new JobTracker ( servicesgraph_props . buildSei ( ) ) ; if ( parentJobId != null ) { tracker . waitTilCompleteUpdatingParent ( jobId , parentJobId , "Getting stats on predicate usage" , 1000 , startPercent , endPercent ) ; } if ( tracker . jobSucceeded ( jobId ) ) { ResultsClient rclient = new ResultsClient ( new ResultsClientConfig ( results_props . getProtocol ( ) , results_props . getServer ( ) , results_props . getPort ( ) ) ) ; JSONObject statsJson = rclient . execGetBlobResult ( jobId ) ; return new PredicateStats ( statsJson ) ; } else { throw new Exception ( tracker . getJobStatusMessage ( jobId ) ) ; } }
Retrieve predicate stats
 @param conn
 @param parentJobId - to update.
Retrieve predicate stats @param conn @param parentJobId - to update .