Query == Implication of Response in a (Blackboard) Server Agent

An interesting way to handle queries, which shows a relationship
between queries and logical implication, and why it's nice to encode
(describe) RDF queries in RDF:

   loop
      receive more RDF data
      add its reification (with any source information) to KB
      (let it be de-reified by security axioms)
      query KB for any unattempted action-requests
      for each such action-request:
         attempt it
         mark it as attempted
      end
   end

With this approach you don't query "What's the temperature in
Dallas?", you say "For all X, if X is the temperature in Dallas, then
there exists a request for someone to send me concat('reply 12=',X)."  It
may seem more complicated, but I think the overall system of
client+server is simpler, because there's less contortion on both
sides to match an arbitrary query protocol.

There are details around security and the request model, but I think
they can be worked out and you end up with a rather elegant system.

This probably counts as a blackboard approach, and I've talked about
it before, but not specifically for query handling.  Another nice
thing about it is that queries can be naturally distributed, with
agents who have knowledge of some field querying for queries about
that field.

      -- sandro

Received on Sunday, 18 November 2001 07:52:38 UTC