Ah, okay, cool. But was my other interpretation correct? A DatasetGraphInMemory 
using simple (non-transaction-supporting) TupleTables would be good for 
DatasetGraphFactory::create?

---
A. Soroka
The University of Virginia Library

> On Dec 10, 2015, at 12:38 PM, Andy Seaborne <[email protected]> wrote:
> 
> On 10/12/15 17:18, A. Soroka wrote:
>> Okay, so we are saying that a Dataset around a DatasetGraphInMemory using 
>> simple (non-transaction-supporting) TupleTables would be good for 
>> DatasetFactory::create or ::createGeneral? (Or both— I’m not totally clear 
>> about the difference between them.)
> 
> General holds graphs from other storages as a ptr to that graph.  It is a 
> collection of graphs, no quads.  "GRAPH ?g" is a loop.
> 
>       Andy
> 
>> 
>> ---
>> A. Soroka
>> The University of Virginia Library
>> 
>>> On Dec 10, 2015, at 10:25 AM, Andy Seaborne <[email protected]> wrote:
>>> 
>>> On 10/12/15 13:31, A. Soroka wrote:
>>>> To the first question, I think the answer is yes. It was very much my 
>>>> intention that TupleTable and its subtypes would provide opportunity to 
>>>> explore different useful structures (e.g. Claude Warren’s ideas about 
>>>> Bloom filters). A [Triple|Quad]Table that uses ordinary maps/structures in 
>>>> the same way as the current impl uses persistent structures should be very 
>>>> easy. Would you like me to cut such classes to have them available for 
>>>> non-transactional cases?
>>>> 
>>>> I’m not quite sure what your last sentence means; is it about the 
>>>> semantics of the factory methods?
>>> 
>>> There are 4 factory methods in each factory
>>> 
>>> * DatasetFactory.create()
>>> The new place for in-memory, non-transactional dataset with graph-copy 
>>> semantics.  Currently, it is a general dataset with "add graph" overridden 
>>> to do a copy-in.
>>> 
>>> * DatasetFactory.createTxnMem()
>>> The new place for in-memory, transactional dataset (with graph-copy 
>>> semantics).
>>> 
>>> * DatasetFactory.createMem()
>>> The old place for in-memory datasets - goes to createGeneral()
>>> Deprecated because if replaced by create() then details have changed.
>>> 
>>> * DatasetFactory.createGeneral()
>>> The new place for general datasets.
>>> 
>>>   Andy
>>> 
>>>> 
>>>> ---
>>>> A. Soroka
>>>> The University of Virginia Library
>>>> 
>>>>> On Dec 10, 2015, at 8:15 AM, Andy Seaborne <[email protected]> wrote:
>>>>> 
>>>>> On 09/12/15 21:00, A. Soroka wrote:
>>>>>> Cool. The extension points are basically TripleTable and QuadTable, 
>>>>>> because of the constructor DatasetGraphInMemory(QuadTable, TripleTable). 
>>>>>> Someone could offer their own impls and use that (public) constructor.
>>>>> 
>>>>> Does that mean it would be easy to do a non-transactional version, that 
>>>>> used hash maps (or used hash maps at the top level at least)?
>>>>> 
>>>>> That would make an excellent performance comparison.
>>>>> 
>>>>> If it makes a difference, it can the implementation for 
>>>>> Dataset(Graph)Factory.create() and have the copy-in semantics for "add 
>>>>> graph".
>>>>> 
>>>>>   Andy
>>>> 
>>> 
>> 
> 

Reply via email to