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
>>>> 
>> 

Reply via email to