Monday, February 27, 2006

inverted tables

Had an easy day today and feeling much better.

Made some progress on the ARK API. Filled in a few gaps, like order. Added descriptor entries. Added a log of transactions for each cabinet. Stopped inverting name--its now just a classifier entry like usage and restrict.

I also made a small change to TKS, using inverted properties instead of inverted tables. The problem is that the inversion of a table could be quite large. And that causes problems. This should scale much better.

What are tables again? Think of them as table instances of table classes. Roles are built from multiple table instances, each table entry having a key and optional value. Because these tables are generally of reasonable size they cache nicely, so we should get great performance.

But when I had inverted tables [instances], each instance was tied to a key, and the entries were the role id and the optional value. And since many roles could potentially use the same key for the same type of value, the inverted table could be large. Now its not a proplem, cause I'm no longer grouping the inverted items into tables.

Work remains on the Ark API. Need some methods to rearrange structure (add/remove/replace a parent). And I need to rework tags, add matches, imatches and itags. And then there's export (used to be called name) and includes. As well as wikiword recognition, references, citations and resolutions. Hmm. A week or two? That's not long for roughing out the API, but its a long time to go without testing.

Maybe I need to take a different approach. This is not test-centric. Though it was good to take some time to review the API.

Bill

0 Comments:

Post a Comment

<< Home