& link_type,
77vector<TUid>& neighbor_uids)
80uids.push_back(query_uid);
88 const string& link_type,
89vector<TUid>& neighbor_uids)
97= link_set->GetIds().GetConstUidIterator();
98 if(link_set->GetIds().IsSetNum()) {
99neighbor_uids.reserve(link_set->GetIds().GetNum());
101 for( ; !it.
AtEnd(); ++it) {
102neighbor_uids.push_back(*it);
111 const string& link_type)
114uids.push_back(query_uid);
124 const string& link_type)
154vector<TUid>& result_uids,
160bel->SetStr(
query);
163bexp.
SetDb().Set(db);
164bexp.
SetExp().push_back(bel);
168bexp.
SetLimits().SetOffset_UIDs(start);
181 if(!bool_reply->GetUids().CanGetUids()) {
186= bool_reply->GetUids().GetConstUidIterator();
188result_uids.push_back(*it);
201 const string& query_string,
202vector<TUid>& result_uids)
204 const unsigned intkMaxIdsInQueryString = 2500;
206 if(query_uids.empty()) {
210 if(query_uids.size() <= kMaxIdsInQueryString) {
214 ITERATE(vector<TUid>, uid, query_uids) {
215 if( !uids.empty() ) {
221 stringwhole_query =
"("+ query_string +
") AND ("+ uids +
")";
222 Query(whole_query, db, result_uids);
225vector<TUid> subset_query_uids;
226subset_query_uids.reserve(kMaxIdsInQueryString);
227 for(
size_tstart = 0; start < query_uids.size();
228start += kMaxIdsInQueryString) {
229subset_query_uids.clear();
232 min(start + kMaxIdsInQueryString, query_uids.size());
233 for(
size_t i= start;
i< end; ++
i) {
234subset_query_uids.push_back(query_uids[
i]);
237 FilterIds(subset_query_uids, db, query_string, result_uids);
249ids.
SetDb().Set(db);
270 switch(e2req.
Which()) {
299 if(db && !db->
Get().empty()) {
300 return "DB="+ db->
Get();
307 #ifdef NCBI_STRICT_GI 310 const string& db_from,
311 const string& db_to,
312vector<TGi>& neighbor_uids)
314vector<TUid> vi_neighbor_uids;
316 ITERATE(vector<TUid>, it, vi_neighbor_uids) {
323 const string& link_type,
324vector<TGi>& neighbor_uids)
326vector<TUid> vi_query_uids;
327 ITERATE(vector<TGi>, it, query_uids) {
328vi_query_uids.push_back(
GI_TO(
TUid, *it));
330vector<TUid> vi_neighbor_uids;
331 GetNeighbors(vi_query_uids, db, link_type, vi_neighbor_uids);
332 ITERATE(vector<TUid>, it, vi_neighbor_uids) {
338 const string& db_from,
339 const string& db_to)
345 const string& db_from,
346 const string& db_to)
348vector<TUid> vi_query_uids;
349 ITERATE(vector<TGi>, it, query_uids) {
350vi_query_uids.push_back(
GI_TO(
TUid, *it));
363vector<TGi>& result_uids,
368vector<TUid> vi_result_uids;
370 ITERATE(vector<TUid>, it, vi_result_uids) {
377 const string& query_string,
378vector<TGi>& result_uids)
380vector<TUid> vi_query_uids;
381 ITERATE(vector<TGi>, it, query_uids) {
382vi_query_uids.push_back(
GI_TO(
TUid, *it));
384vector<TUid> vi_result_uids;
385 FilterIds(vi_query_uids, db, query_string, vi_result_uids);
386 ITERATE(vector<TUid>, it, vi_result_uids) {
394vector<TUid> vi_uids;
395 ITERATE(vector<TGi>, it, uids) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CRef< CEntrez2_docsum_list > GetDocsums(const vector< TUid > &uids, const string &db)
Retrieve the docsums for a set of UIDs.
virtual string GetAffinity(const CEntrez2_request &request) const
Get DB affinity of the request.
CRef< CEntrez2_link_count_list > GetNeighborCounts(TUid query_uid, const string &db)
Retrieve counts of the various types of neighbors available.
void FilterIds(const vector< TUid > &query_uids, const string &db, const string &query_string, vector< TUid > &result_uids)
Given some uids, a database, and an entrez query string, determine which of these uids match the quer...
void Query(const string &query, const string &db, vector< TUid > &result_uids, size_t start_offs=0, size_t count=0, TReply *reply=0)
Some other simplified interfaces.
void GetNeighbors(TUid query_uid, const string &db_from, const string &db_to, vector< TUid > &neighbor_uids)
A simplified interface for getting neighbors (links)
CEntrez2_boolean_element â.
CEntrez2_boolean_exp â.
CEntrez2_eval_boolean â.
void AssignUids(const vector< TUid > &uids)
#define GI_FROM(T, value)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ENTREZ_ID_FROM(T, value)
const TPrim & Get(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
virtual CRef< CEntrez2_link_set > AskGet_links(const CEntrez2_get_links &req, TReply *reply=0)
void SetDb(const TDb &value)
Assign a value to Db data member.
const TGet_docsum & GetGet_docsum(void) const
Get the variant data.
const TDb & GetDb(void) const
Get the Db member data.
const TEval_boolean & GetEval_boolean(void) const
Get the variant data.
const TGet_term_list & GetGet_term_list(void) const
Get the variant data.
virtual CRef< CEntrez2_link_count_list > AskGet_link_counts(const CEntrez2_id &req, TReply *reply=0)
const TUids & GetUids(void) const
Get the Uids member data.
const TGet_term_pos & GetGet_term_pos(void) const
Get the variant data.
const TGet_linked & GetGet_linked(void) const
Get the variant data.
void SetUids(TUids &value)
Assign a value to Uids data member.
void SetLimits(TLimits &value)
Assign a value to Limits data member.
void SetUid(TUid value)
Assign a value to Uid data member.
const TGet_links & GetGet_links(void) const
Get the variant data.
const TDb & GetDb(void) const
Get the Db member data.
void SetReturn_UIDs(TReturn_UIDs value)
Assign a value to Return_UIDs data member.
const TGet_link_counts & GetGet_link_counts(void) const
Get the variant data.
TExp & SetExp(void)
Assign a value to Exp data member.
const TDb & GetDb(void) const
Get the Db member data.
const TRequest & GetRequest(void) const
Get the Request member data.
const TDb & GetDb(void) const
Get the Db member data.
virtual CRef< CEntrez2_boolean_reply > AskEval_boolean(const CEntrez2_eval_boolean &req, TReply *reply=0)
void SetLinktype(const TLinktype &value)
Assign a value to Linktype data member.
void SetDb(const TDb &value)
Assign a value to Db data member.
const TQuery & GetQuery(void) const
Get the Query member data.
E_Choice Which(void) const
Which variant is currently selected.
void SetQuery(TQuery &value)
Assign a value to Query data member.
const TDb & GetDb(void) const
Get the Db member data.
virtual CRef< CEntrez2_docsum_list > AskGet_docsum(const CEntrez2_id_list &req, TReply *reply=0)
const TGet_term_hierarchy & GetGet_term_hierarchy(void) const
Get the variant data.
void SetDb(const TDb &value)
Assign a value to Db data member.
const TDb & GetDb(void) const
Get the Db member data.
@ e_Get_term_pos
get position in term list
@ e_Get_link_counts
get all links from one UID
@ e_Get_docsum
get the DocSums
@ e_Get_linked
get subset of UID list which has links
@ e_Get_links
get specific links from a UID list
@ e_Get_term_list
get Term list by position
@ e_Get_term_hierarchy
get a hierarchy from a term
@ e_Eval_boolean
Boolean lookup.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4