graph = graph==null || graph.trim().isEmpty()?null:graph;
QueryEndpoint queryEndpoint;
if(type.equals("jena-text")){
SparqlQueryFactory queryFactory = new JenaTextSparqlQueryFactory();
QueryExecutor queryExecutor = new RemoteQueryExecutor(url, graph);
queryEndpoint = new QueryEndpointImpl(queryFactory, queryExecutor);
}else if(type.equals("virtuoso")){
SparqlQueryFactory queryFactory = new VirtuosoSparqlQueryFactory();
QueryExecutor queryExecutor = new VirtuosoRemoteQueryExecutor(url, graph);;
queryEndpoint = new QueryEndpointImpl(queryFactory, queryExecutor);
}else if(type.equals("bigowlim")){
SparqlQueryFactory queryFactory = new BigOwlImSparqlQueryFactory();
QueryExecutor queryExecutor = new RemoteQueryExecutor(url, graph);
queryEndpoint = new QueryEndpointImpl(queryFactory, queryExecutor);
}else{
//plain
PlainSparqlQueryFactory queryFactory = new PlainSparqlQueryFactory();
QueryExecutor queryExecutor = new RemoteQueryExecutor(url, graph);
queryEndpoint = new PlainSparqlQueryEndpoint(queryFactory, queryExecutor);
}
ReconciliationService service = new RdfReconciliationService(id, name, propUris, queryEndpoint, DEFAULT_MATCH_THRESHOLD);
return service;
}