This paper1 describes the use of mobile agent technologies in building a framework for supporting distributed logic programming and remote conditional querying. A mobile agent moves from server to server carrying its own knowledge. When it arrives at a server it is given read access to the some part of the server's knowledge base. It then answers its queries using the server's knowledge and its own, adding the results to its own knowledge. We can view the mobile agent's queries as conditional remote queries - what answers would the server give if the knowledge carried by the agent were added to the server. To implement a prototype framework of mobile agents and knowledge servers we have used a new multi-paradigm and multi-threaded programming language Go !. This supports mobile agent's as knowledge objects and has powerful knowledge structuring features. The paper assumes some familiarity with Prolog.