karouri wrote: > Interesting, but I wonder if you are aware of pylinda > (http://www-users.cs.york.ac.uk/~aw/pylinda/) and if so, what's the > difference?
Tripoli trades off some of the generality of PyLinda in order to support some performance tweaks and some additional graph-related operations. Tripoli restricts the tuple space model implemented by PyLinda to 3-tuples, and extends it by adding copy_graph and copy_collect_graph operations to copy and move graphs of triples from one triple space to another. PyLinda allows you to pattern match on types, which is really neat but makes index-based tuple lookups impractical. Tripoli matches literals or wildcards only, but it indexes every triple on all three components so in theory it should be quicker at finding triples, matching blocked requests to incoming triples and so on. Performance is fairly good even with large-ish (10000+). triple sets. Some other respects in which I think Tripoli is different, but aren't familiar enough with PyLinda to say for certain: Tripoli uses callbacks to notify waiting requestors that a matching triple has arrived. Requestors can block waiting for a callback, or continue about their business and handle the callback only when it occurs. Communication between the Tripoli client and server is asynchronous: the client sends a triple request, and at some point in the future the server may contact the client to send a response back. The REST-ful version will also support client polling of a temporary resource representing a pending request. Tripoli will eventually support RDF/XML as a format for importing and exporting triples. Dominic -- http://mail.python.org/mailman/listinfo/python-list