1. A method for performing a database query by a data processing system, comprising: receiving a closure rule and at least one input object in the data processing system, the closure rule having at least one closure rule clause; identifying a first closure rule clause by the data processing system, from the at least one closure rule clause, to be evaluated for the at least one input object; constructing a recursive database query corresponding to the first closure rule clause by the data processing system; querying a database using the recursive database query by the data processing system; and receiving and storing results from the recursive database query in the data processing system.