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