def get_biothings(api, id, fields=None, fields_uri=None): if fields: doc = ClientRedirect().annotate(id, api, fields=fields) return doc elif fields_uri: field_name_list = uri_to_field_name(fields_uri, api) field_name = ",".join(field_name_list) doc = ClientRedirect().annotate(id, api, fields=field_name) return doc else: doc = ClientRedirect().annotate(id, api) return doc
def query_ids_from_output_type(api, _type, _value, input_relation=None): uri = AVAILABLE_IDS[_type]["uri"] query_info = compose_query_parameter_from_uri(uri, _value, api, input_relation) print(query_info) id_list = ClientRedirect().get_id_list(api, query_info, fetch_all=True) return id_list
def find_query_id_list(api, type, value): _uri = AVAILABLE_IDS[type]["uri"] query_parameters = compose_query_parameter_from_uri(_uri, value, api) ids = ClientRedirect().get_id_list(api, query_parameters) _url = AVAILABLE_API_SOURCES[api]["query_syntax"].replace( "*", query_parameters) results = { 'type': AVAILABLE_API_SOURCES[api]['annotate_ids'][0], 'ids': ids, 'url': _url } return results
def query_biothings(api, fields=None, fields_uri=None, fields_value=None, return_fields=None, return_fields_uri=None, fetch_all=True): if return_fields_uri: field_name_list = uri_to_field_name(return_fields_uri, api) return_fields = ",".join(field_name_list) if fields: query_info = fields + ': ' + fields_value elif fields_uri: query_field_name_list = uri_to_field_name(fields_uri, api) query_info = compose_query_parameter_from_uri(fields_uri, fields_value, api) return ClientRedirect().query(api, query_info, fields=return_fields, fetch_all=fetch_all)