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


Reply via email to