In classical revealed preference analysis we are given a sequence of linear prices (i.e., additive over goods) and an agent's demand at each of the prices. The problem is to determine whether the observed demands are consistent with utility-maximizing behavior, and if so, recover a representation of the agent's utility function. In this work, we consider a setting where an agent responds to nonlinear prices and also allow for incomplete price information over the consumption set. We develop two different kernel methods to fit linear and concave utilities to such observations. The methods allow one to incorporate prior information about the utility function into the estimation procedure, and represent semi-parametric alternatives to the classical non-parametric approach. An empirical evaluation exhibits the relative merits of the two methods in terms of generalization ability, solution sparsity, and runtime performance.