In AprilQ, a process can query and update its own sets of records. It can also query those of any other process with which it is acquainted. The other processes can be located anywhere on the Internet. The queries are expressed in a high level query language which is a hybrid of Prolog and SQL syntax. A reply can be the set of answers, or a handle that can be used to retrieve the answers one at a time, as required. A process can also import relations from another process, or a data base server. To a querier there is no difference between a local and an imported relation. Such an importing process can therefore act as a transparent interface to a distributed and persistent information system spread over the internet.
There remains the question of how information sources become acquainted. For this purpose KQML style advertise, subscribe and recommend messages can be used in conjunction with intermediary brokering agents. We show how such a KQML cooperation layer can be constructed using AprilQ.
In: Cooperative Information Systems, (ed M. Papazoglou & Schlageter), Academic Press, 1997.
Click here for a compressed PostScript version of the paper (aprilq.ps.gz, 72892 bytes).