nodes: 0, module; 1, function_definition; 2, function_name:prefixes; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, default_parameter; 13, default_parameter; 14, default_parameter; 15, default_parameter; 16, default_parameter; 17, default_parameter; 18, dictionary_splat_pattern; 19, expression_statement; 20, expression_statement; 21, return_statement; 22, identifier:ids; 23, None; 24, identifier:filter; 25, None; 26, identifier:offset; 27, None; 28, identifier:limit; 29, None; 30, identifier:sample; 31, None; 32, identifier:sort; 33, None; 34, identifier:order; 35, None; 36, identifier:facet; 37, None; 38, identifier:works; 39, False; 40, identifier:select; 41, None; 42, identifier:cursor; 43, None; 44, identifier:cursor_max; 45, integer:5000; 46, identifier:kwargs; 47, string:'''
          Search Crossref prefixes
  
          :param ids: [Array] DOIs (digital object identifier) or other identifiers
          :param filter: [Hash] Filter options. See examples for usage.
              Accepts a dict, with filter names and their values. For repeating filter names
              pass in a list of the values to that filter name, e.g.,
              `{'award_funder': ['10.13039/100004440', '10.13039/100000861']}`.
              See https://github.com/CrossRef/rest-api-doc#filter-names
              for filter names and their descriptions and :func:`~habanero.Crossref.filter_names`
              and :func:`~habanero.Crossref.filter_details`
          :param offset: [Fixnum] Number of record to start at, from 1 to 10000
          :param limit: [Fixnum] Number of results to return. Not relevant when searching with specific dois. Default: 20. Max: 1000
          :param sample: [Fixnum] Number of random results to return. when you use the sample parameter,
              the limit and offset parameters are ignored. This parameter only used when works requested. Max: 100
          :param sort: [String] Field to sort on. Note: If the API call includes a query, then the sort
              order will be by the relevance score. If no query is included, then the sort order
              will be by DOI update date. See sorting_ for possible values.
          :param order: [String] Sort order, one of 'asc' or 'desc'
          :param facet: [Boolean/String] Set to `true` to include facet results (default: false).
              Optionally, pass a query string, e.g., `facet=type-name:*` or `facet=license=*`
              See Facets_ for options.
          :param select: [String/list(Strings)] Crossref metadata records can be
              quite large. Sometimes you just want a few elements from the schema. You can "select"
              a subset of elements to return. This can make your API calls much more efficient. Not
              clear yet which fields are allowed here.
          :param works: [Boolean] If true, works returned as well. Default: false
          :param kwargs: additional named arguments passed on to `requests.get`, e.g., field
              queries (see examples and FieldQueries_)
  
          :return: A dict
  
          Usage::
  
              from habanero import Crossref
              cr = Crossref()
              cr.prefixes(ids = "10.1016")
              cr.prefixes(ids = ['10.1016','10.1371','10.1023','10.4176','10.1093'])
  
              # get works
              cr.prefixes(ids = "10.1016", works = True)
  
              # Limit number of results
              cr.prefixes(ids = "10.1016", works = True, limit = 3)
  
              # Sort and order
              cr.prefixes(ids = "10.1016", works = True, sort = "relevance", order = "asc")
  
              # cursor - deep paging
              res = cr.prefixes(ids = "10.1016", works = True, cursor = "*", limit = 200)
              sum([ len(z['message']['items']) for z in res ])
              items = [ z['message']['items'] for z in res ]
              items = [ item for sublist in items for item in sublist ]
              [ z['DOI'] for z in items ][0:50]
  
              # field queries
              res = cr.prefixes(ids = "10.1371", works = True, query_editor = 'cooper', filter = {'type': 'journal-article'})
              eds = [ x.get('editor') for x in res['message']['items'] ]
              [ z for z in eds if z is not None ]
          '''; 48, call; 49, call; 50, identifier:check_kwargs; 51, argument_list; 52, identifier:request; 53, argument_list; 54, list; 55, identifier:kwargs; 56, attribute; 57, attribute; 58, string:"/prefixes/"; 59, identifier:ids; 60, keyword_argument; 61, keyword_argument; 62, keyword_argument; 63, keyword_argument; 64, keyword_argument; 65, keyword_argument; 66, keyword_argument; 67, keyword_argument; 68, keyword_argument; 69, keyword_argument; 70, keyword_argument; 71, keyword_argument; 72, dictionary_splat; 73, string:"query"; 74, identifier:self; 75, identifier:mailto; 76, identifier:self; 77, identifier:base_url; 78, identifier:query; 79, None; 80, identifier:filter; 81, identifier:filter; 82, identifier:offset; 83, identifier:offset; 84, identifier:limit; 85, identifier:limit; 86, identifier:sample; 87, identifier:sample; 88, identifier:sort; 89, identifier:sort; 90, identifier:order; 91, identifier:order; 92, identifier:facet; 93, identifier:facet; 94, identifier:select; 95, identifier:select; 96, identifier:works; 97, identifier:works; 98, identifier:cursor; 99, identifier:cursor; 100, identifier:cursor_max; 101, identifier:cursor_max; 102, identifier:kwargs
code: def prefixes(self, ids = None, filter = None, offset = None,
                limit = None, sample = None, sort = None,
                order = None, facet = None, works = False, select = None,
                cursor = None, cursor_max = 5000, **kwargs):
          '''
          Search Crossref prefixes
  
          :param ids: [Array] DOIs (digital object identifier) or other identifiers
          :param filter: [Hash] Filter options. See examples for usage.
              Accepts a dict, with filter names and their values. For repeating filter names
              pass in a list of the values to that filter name, e.g.,
              `{'award_funder': ['10.13039/100004440', '10.13039/100000861']}`.
              See https://github.com/CrossRef/rest-api-doc#filter-names
              for filter names and their descriptions and :func:`~habanero.Crossref.filter_names`
              and :func:`~habanero.Crossref.filter_details`
          :param offset: [Fixnum] Number of record to start at, from 1 to 10000
          :param limit: [Fixnum] Number of results to return. Not relevant when searching with specific dois. Default: 20. Max: 1000
          :param sample: [Fixnum] Number of random results to return. when you use the sample parameter,
              the limit and offset parameters are ignored. This parameter only used when works requested. Max: 100
          :param sort: [String] Field to sort on. Note: If the API call includes a query, then the sort
              order will be by the relevance score. If no query is included, then the sort order
              will be by DOI update date. See sorting_ for possible values.
          :param order: [String] Sort order, one of 'asc' or 'desc'
          :param facet: [Boolean/String] Set to `true` to include facet results (default: false).
              Optionally, pass a query string, e.g., `facet=type-name:*` or `facet=license=*`
              See Facets_ for options.
          :param select: [String/list(Strings)] Crossref metadata records can be
              quite large. Sometimes you just want a few elements from the schema. You can "select"
              a subset of elements to return. This can make your API calls much more efficient. Not
              clear yet which fields are allowed here.
          :param works: [Boolean] If true, works returned as well. Default: false
          :param kwargs: additional named arguments passed on to `requests.get`, e.g., field
              queries (see examples and FieldQueries_)
  
          :return: A dict
  
          Usage::
  
              from habanero import Crossref
              cr = Crossref()
              cr.prefixes(ids = "10.1016")
              cr.prefixes(ids = ['10.1016','10.1371','10.1023','10.4176','10.1093'])
  
              # get works
              cr.prefixes(ids = "10.1016", works = True)
  
              # Limit number of results
              cr.prefixes(ids = "10.1016", works = True, limit = 3)
  
              # Sort and order
              cr.prefixes(ids = "10.1016", works = True, sort = "relevance", order = "asc")
  
              # cursor - deep paging
              res = cr.prefixes(ids = "10.1016", works = True, cursor = "*", limit = 200)
              sum([ len(z['message']['items']) for z in res ])
              items = [ z['message']['items'] for z in res ]
              items = [ item for sublist in items for item in sublist ]
              [ z['DOI'] for z in items ][0:50]
  
              # field queries
              res = cr.prefixes(ids = "10.1371", works = True, query_editor = 'cooper', filter = {'type': 'journal-article'})
              eds = [ x.get('editor') for x in res['message']['items'] ]
              [ z for z in eds if z is not None ]
          '''
          check_kwargs(["query"], kwargs)
          return request(self.mailto, self.base_url, "/prefixes/", ids,
            query = None, filter = filter, offset = offset, limit = limit,
            sample = sample, sort = sort, order = order, facet = facet,
            select = select, works = works, cursor = cursor, cursor_max = cursor_max,
            **kwargs)