Wednesday, November 23, 2011

Using the schema operator for high speed nesting

One of the things we can make G do is track a schema pattern in setting the pointer variable on output.  I am not sure of the grammar, but I am looking at a pattern like: A:(B:C:,D:E:) a nested schema. From the point of view of G and the gfun, there are simple pointer arithmetic expressions. On write to result, gfun just skips along this version from 'other' graph, using the set, descent weightings to determine pointer values, the result being a nested G graph of the specified structure.  In scanning either self or other, these schema become skip ahead patterns for sql functions.But again, the grammar confuses me.  Does this mean, force result to look like that, or only when 'self' looks like that.  What wild card properties modify this schema.  How does the grammar express higher level precedence between wild cards that supersede this? From the point of G as long as weightings follow the nested requirement, then G is never more than a link away from backing up on anything.  So gfun can manage whatever operator confluence the industry dreams up, within reason.

Conisder: !A: this would seem to mean, skip entries matching that schema component.  Of course, this implies that A alone would exclude schema? In other words A implies A!: match A except when it is a schema. But from the point of view of gfun trying to manage matches, the not operator is heavier than the schema.  It will have to be that way all the time, to make gfun mechanical. Not matching all schema? :!* or :*! or *!: It is all typeface explosion to us, but it matters for the simple few lines of  match and pointer function we want in gfun. I matter in coordinating sql sequences with the state of the two current nodes in self or other.

By the way, I like the string$ attribute, it tells G we are in byte mode and the triple store is a linear array of  non executable bytes.  Hopefully, there will be a compatible regex, or G will become regex compatible, such that the same typeface explosion grammar holds. G just wants to call regex, and be done with it. I go a bit farther here, and assign a quote operator; in quote mode it is a regex traversal.  There is no other solution within G compatible nested stores, that is all G is about, mutual graph traversal.

No comments: