Recall that in PROLOG, queries can be thought of as specifying patterns in predicates and their conjunctions. For example, "Find all the children of Mark", would translate into

father(mark,X).
As explained in class, you can think of father as the relation (predicate), and the two fields to be the attributes (arguments), like so:

--------------------------------------
|    person       |       child      |
--------------------------------------
|    Jones	  |	  King	     |
|    Jones	  |	  Smith      |
|    Smith        |	  Lew        |
|    Smith        |       Bandu      |
|    Smith        |       Davin      |
|    Mark         |       Higgins    |
|    Mark         | 	  Duke       |
|    Mark         |       Dan        |
|    Mark         |       Cherry     |
--------------------------------------
so the above query would get you the solution {Higgins, Duke, Dan, Cherry}. Alternatively, you can think of the above query as a single rule:

q(X) :- father(mark,X).
q(X) ?
wherein we compute the set of all children of Mark and form a new relation (q) with it (akin to a view in RDBMS terms), and then we submit a query for q. You might need to do this, if your queries get more complicated.