Although search engine technology has improved in recent years, there are still many types of searches that return unsatisfactory results. This situation can be greatly improved if web pages use a semantic markup language to describe their content. We have developed SHOE, a language for this purpose, and in this paper describe a scenario for how the language could be used by search engines of the future. A major challenge to this system is designing a query tool that can exploit the power of a knowledge base while still being simple enough for the casual user. We present the SHOE Search tool, which allows the user to specify a context for his or her query, and then uses the context to help the user build a query by example.