Ah, okay, cool, so both the dictionary and the table are using Thrift, that's nice to see because it should make it a little easier to "tinker" with the innards. Thanks for the pointer, Andy!
Yeah, I'm not complaining about not having to deal with any of the complexities of representation in TIM! --- A. Soroka The University of Virginia Library > On Jan 17, 2017, at 3:42 PM, Andy Seaborne <[email protected]> wrote: > > NodeTable holds the RDF terms. It is indexed by position. it is the > dictionary interface. > > The one used is: > > https://github.com/afs/mantis/blob/master/tdb2/src/main/java/org/seaborne/tdb2/store/nodetable/NodeTableTRDF.java > > and there is a stack of them above this to cache and inline. > > NodeTupleTableConcrete associates a set of tuple indexes with a NodeTable to > go a table of tuples of nodes. > > TIM of course has pointers. > > Andy > > On 17/01/17 17:41, A. Soroka wrote: >> Hang on, I think I mis-wrote-- I meant the dictionary in which IDs are >> looked up, not the tables that hold rows of IDs. In TDB it's NodeTable vs >> NodeTupleTable, I mean NodeTable. It looks like NodeTable in TDB2 is pretty >> much the same? But NodeTupleTable is what is now using Thrift underneath? >> >> I hope I'm not getting even more confused! >> >> --- >> A. Soroka >> The University of Virginia Library >> >>> On Jan 17, 2017, at 12:17 PM, Andy Seaborne <[email protected]> wrote: >>> >>> The node table is same design but uses binary encoding of the nodes (RDF >>> Thrift). >>> >>> Andy >>> >>> On 17/01/17 16:48, A. Soroka wrote: >>>> This is cool, Andy. Hey, if you got the bits, use 'em! :grin: Is the node >>>> table itself basically similar to TDB (obviously modulo the change to node >>>> IDs)? >>>> >>>> --- >>>> A. Soroka >>>> The University of Virginia Library >>>> >>>>> On Jan 17, 2017, at 11:44 AM, Andy Seaborne <[email protected]> wrote: >>>>> >>>>> Additional feature: >>>>> >>>>> TDB2 now supports xsd:doubles as inline values. >>>>> >>>>> Like over inline values, it does this if and only if the value fits, >>>>> otherwise it uses the node table. >>>>> >>>>> In the case of xsd:doubles, there 62 bits to store them. xsd:doubles (as >>>>> of XSD 1.1) are very similar to IEEE-754-2008 binary64 and have a range >>>>> upto 10^308. >>>>> >>>>> TDB2 inline double are limited to 10^76. >>>>> >>>>> NaN, Inf, -Inf, 0 an -0 are inlined. >>>>> >>>>> TDB2 inlines: >>>>> >>>>> xsd:decimal >>>>> xsd:integer >>>>> and all types derived from xsd:integer >>>>> keeping the datatype (TDB1 does not). >>>>> xsd:double >>>>> xsd:float >>>>> xsd:dateTime >>>>> xsd:dateTimeStamp >>>>> xsd:date >>>>> xsd:boolean >>>>> >>>>> Andy >>>> >>
