Skip to content

Latest commit

 

History

History
34 lines (17 loc) · 1.96 KB

PLAN.md

File metadata and controls

34 lines (17 loc) · 1.96 KB

Improve The Core

  • optimize the join operation of node candidates. multiple methods should be achieved, and design a score module to select a best one

  • add numeric value query function. need to answer numeric range query efficiently and space consume cannot be too large

  • add a control module to heuristically select an kind of index for a SPARQL query to filter(not always vstree)

  • typedef all frequently used types, to avoid inconsistence and high modify cost


Better The Interface

  • build a console named gconsole, which provides all operations supported by gStore.(parser and auto-complete is required)

  • write web interface for gStore, and a web page to operate on it, just like virtuoso


Idea Collection Box

  • to support soft links in console: realpath not work...(redefined in ANTLR?)

  • store command history for consoles

  • warnings remain in using Parser/(antlr)!(modify sparql.g 1.1 and regenerate). change name to avoid redefine problem, or go to use executable to parse

  • build compress module(such as key-value module and stream module), but the latter just needs one-pass read/write, which may causes the compress method to be used both in disk and memory. all operations of string in memory can be changed to operations after compress: provide compress/archive interface, compare function. there are many compress algorithms to be chosen, then how to choose? what about utf-8 encoding problem? this method can lower the consume of memory and disk, but consumes more CPU. However, the time is decided by isomorphism. Simple compress is not good, but too complicated method will consume too much time, how to balance? (merge the continuous same characters, Huffman tree)

  • mmap to speedup KVstore?

  • the strategy for Stream:is 85% valid? consider sampling, analyse the size of result set and decide strategy? how to support order by: sort in memory if not put in file; otherwise, partial sort in memory, then put into file, then proceed external sorting