Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Data Structure Approaches

 

 

colourRedtitleno               colourRedtitleno              colourRednocolourRedno
  In-memory Processing   
Triple Store Data StructureIn-memory Data StructureDirect
access
at
loaded
position
Direct
access
URI as ID
Iteration
foward

Iteration
backward

Append
after
last
loaded

Append
after
global
last
Insert
after
proxyloaded
item
Insert
before
loaded
proxyitem
Insert
after
loaded
position
Insert
before
loaded
position
Delete
loaded
proxyitem
Delete
from
loaded
position
Fetch
one by
global
position

Fetch
one by URI

Fetch
range
Fetch
next
range
Persist
one at
global
position
Persist
one by
URI
Persist
range
IssuesORE ComplianceComments
singly linked list                       
 singly linked liststatusNONOFASTNOSLOWSLOWFASTSLOWNONOSLOWNONOFASTSLOWSLOWNOFASTSLOW   
  convert to array on fetch               FASTNOFASTFASTFASTSLOWFASTFASTFASTFASTFASTFASTNOFASTSLOWSLOWNOFASTSLOW   
 convert to hash (key=proxy URI key) on fetchstatusNOFASTFASTNOFASTSLOWFASTFASTNONOFASTNONOFASTSLOWSLOWNOFAST SLOW   
 header info + singly linked list                      
 header info + convert to array on fetch                      
 header info + convert to hash (URI key) on fetch                      
singly linked list + order index                       
 singly linked liststatusNO  title                   
 convert to array on fetch                      
 convert to hash (URI key) on fetchstatus   title                   
 header info + singly linked list                      
 header info + convert to array on fetch                      
 header info + convert to hash (URI key) on fetch                      
doubly linked list                       
 doubly linked list                      
 convert to array on fetch                      
 convert to hash (URI key) on fetch                      
 header info + singly linked list                      
 header info + convert to array on fetch                      
 header info + convert to hash (URI key) on fetch                      
doubly linked list + order index                       
 doubly linked list                      
 convert to array on fetch                      
 convert to hash (URI key) on fetch                      
 header info + singly linked list                      
 header info + convert to array on fetch                      
 header info + convert to hash (URI key) on fetch                      

 

List Header Info

Lists with headers will hold the following information.

  example value typesComments
keydescription of valuesingly
linked
singly
linked
+ order
doubly
linked
doubly
linked
+ order
arrayhash 
firstpointer to first item in listURI of first proxyURI of first proxyURI of first proxyURI of first proxyURI of first proxyURI of first proxy 
lastpointer to last item in list XXURI of last proxyURI of last proxyURI of last proxyURI of last proxy 
countcount of all items in listXXXXXX 
first_loadedpointer to first item in loaded range of itemsitemitemitemitemarray[0]URI of proxy 
last_loadedpointer to last item in loaded range of itemsXXitemitemarray[size of array]URI of proxy 
count_loadedcount of items in currently loaded rangeXXX=position of last
- position of first
size of arraysize of hash 
resume_tokenpointer to item after last_loadedURI of proxyURI of proxyURI of proxyURI of proxyURI of proxyURI of proxy 
loaded_itemspointer to loaded itemsuse first_loadeduse first_loadeduse first_loadeduse first_loadedarrayhash 

...

  example value types 
keydescription of valuesingly
linked
singly
linked
+ order
doubly
linked
doubly
linked
+ order
arrayhashComments
uriURI of proxy for this itemURI of this proxyURI of this proxyURI of this proxyURI of this proxyURI of this proxyURI of this proxyThis is the hash key for loaded_items when the list is implemented as a hash.
prevpointer to previous item in listXXURI of prev proxyURI of prev proxy= p - 1URI of prev proxy 
nextpointer to next item in listURI of next proxyURI of next proxyURI of next proxyURI of next proxy= p + 1URI of next proxy 
prev_loadedpointer to previous item in loaded range of itemsXXprev itemprev item= pl - 1URI of prev proxy 
next_loadedpointer to next item in loaded range of itemsnext itemnext itemnext itemnext item= pl + 1URI of next proxy 
proxyForURI of list item being aggregatedURIURIURIURIURIURI 
proxyInURI of list aggregationURI of
aggregation
URI of
aggregation
URI of
aggregation
URI of
aggregation
URI of
aggregation
URI of
aggregation
 
proxyIn_loadedpointer to List Headerheaderheaderheaderheaderheaderheader 
position (p)position in full listXpXppX 
position_loaded (pl)position in loaded range of itemsXplXplplX 

...