主权项 |
1. A computer-implemented method of providing a materialisation of a set of logical rules on a logical database comprising a set of logical facts, wherein each of a plurality of parallel processing threads performs the following steps:
1) receiving a logical fact from the set of logical facts, wherein the received logical fact has not previously been received by any thread; 2) determining if a new logical fact is implied, by applying any of the logical rules to the received logical fact and/or any of the logical facts received by any thread prior to the received logical fact; 3) in the case that a new logical fact is implied, adding the new logical fact to the set of logical facts; 4) determining if there are further logical facts in the set of logical facts that have not previously been received by any thread; and
4a) in the case that there are further logical facts, repeating steps 1 to 4 of the method;4b) in the case that there are no further logical facts, waiting until a new logical fact is added to the set of logical facts, and when a new logical fact is added, repeating steps 1 to 4 of the method;wherein when all threads are waiting for a new logical fact to be added, the set of logical facts is provided as the materialisation of the set of logical rules on the logical database. |