Monday, January 2, 2012

Named graphs in graphland

The open sourve subject/predicate/object framework accepts the concept of named graph as the fundamental indexing system, named graphs are exposed to the grammar, maybe looking like this:
GraphName:{Some nested graph} // declare

Then the thing is somehow invoked. But the indexing implies a tree of pages containing name/page pointer pairs, getting the local engine from name to disk record pointer. The ultimate pages that hold indexix pairs inherit from nested store, they are composed of atomic triplet sequences.

So, in the version one open source graph convolution system, we have two, or three page types? Regular BSON, named graph indices, and user blobs? User blobs are out of grammar, needed to manage, well large blobs. The other two are natural nested stores. This limited set makes for simple page pointer arithmetic.

That leaves URL jumps.
The thing here is to remember, graphs come from only one place, the local database database file for the current machine. In nest store, a URL jump means, convolve with the descent identified by the URL overload. Either send one graph over there, or that graph over here, but the results go into the output graph as if the foreign subgraph were in the input nested sequences. This is easy, just map the whole URL thing to bson variable, make rdf work the way its planned. Just obey the central rule. Foreign graphs can be slightly annoying to the client.

So, the atomic unit is the triplet which we call:
keyvalue, predicate, nested object pointer
keyvalue is either immediate BSON or pointer to user blob. So a double triplet format uses two triplets in sequence to define a named graph. URLs are RDF overloads on the BSON. The bson folks get a byte of predicate. The graph layer uses matched on two fundamental operators and key value to navigate. Nested graphs convolve so the tree paging system has convolution support, the ability to run a quick match operation between two triplets.

JSON text more is the search language, and it is best described as search by example with controlled navigation using ontology.

Almost there!

No comments: