Hi Jeff, TopBraid has its own event/change mechanism that uses Graph listeners under the hood, but wraps them into its own data structure. The policy to re-run incremental inferences is simply that it checks for all subjects, predicates and objects of the change triples and re-run the rules on those instances only. The tricky part is to undo the previous inferences first, e.g. to remove the old "area" triple of a rectangle. As you anticipated, I must leave the rest as an exercise to the reader :)
Regards, Holger On May 7, 2009, at 11:30 AM, Schmitz, Jeffrey A wrote: > > Thanks for the info, it's an area that we definitly need to look at > for > re-work at some point. On a related "design" question if you don't > mind, I was wondering if you use the Jena event handling (e.g. > ModelChangedListener interface) to determine when to re-run the SPIN > inferences on changes, or do you have some other method? Also, are > you > able to filter which rules/constructors, etc. to run based on the > resources that are added/deleted, or do you just re-run them all on > any > change to the model just to make sure? Not sure how much of this > you're > at liberty to reveal, but I figure it never hurts to ask :-) > > Jeff > > -----Original Message----- > From: Holger Knublauch [mailto:[email protected]] > Sent: Thursday, May 07, 2009 10:45 AM > To: [email protected] > Subject: [tbc-users] Re: ARQ2SPIN performance > > > Jeff, > > in our implementations we hardly ever use the default Jena > configurations out of the box. Instead we arrange base Graphs in a > delegation chain, so that higher-level graphs can implement services > such as caching and buffering. In this approach, all previous SPO > queries can be cached on the client without ever having to ask the > same > queries to the database. We do have implementations of these modules, > but they are not open source. > > Holger > > > On May 6, 2009, at 9:01 AM, Schmitz, Jeffrey A wrote: > >> >> Yes, using just a mem model makes a HUGE difference. I've never >> really gotten a good handle on how and when to use all the different >> types of Jean Models/OntModels/graphs etc. Is there any other >> writeups or tutorials that you know of on this besides what is here >> (and that I plan on re-reading now)... >> >> http://jena.sourceforge.net/how-to/model-factory.html >> >> Thanks! >> Jeff >> >> -----Original Message----- >> From: Holger Knublauch [mailto:[email protected]] >> Sent: Wednesday, May 06, 2009 10:37 AM >> To: [email protected] >> Subject: [tbc-users] Re: ARQ2SPIN performance >> >> >>> Note though that the >>> baseModel is setup as a database backed model >> >> Here we go. You may want to set up a cache graph in between the >> database and your application. SPIN will do various look-ups during >> query construction, e.g. to reuse variable names, check for functions >> etc. >> >> Holger >> >> >> >> >>> > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TopBraid Composer Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/topbraid-composer-users?hl=en -~----------~----~----~----~------~----~------~--~---
