corese
corese copied to clipboard
Read lock while in inference?
Greetings!
I notice that inference seems to start when someone sends the first SPARQL query. Until all inferences are produced (AFAIK), no read queries (SELECT, DESCRIBE, CONSTRUCT, ASK) can be performed or they will be put on a waiting queue. Is this the best approach? Wouldn't it be better to allow read queries while the inference process is going on?
On 02/08/2016 01:56 PM, echo66 wrote:
I notice that inference seems to start when someone sends the first SPARQL query. Until all inferences are produced (AFAIK), no read queries (SELECT, DESCRIBE, CONSTRUCT, ASK) can be performed or they will be put on a waiting queue. Is this the best approach? Wouldn't it be better to allow read queries while the inference process is going on? The problem is that the structure of the graph (and it's index) are modified during inference. It could be possible if we would copy the graph and query the copy.
Olivier Corby
Hi @ocorby ! How are you doing?
Would you mind pointing out what are the java files specific to the index implementation and management? That way I could take a look more closely and, possibly, share some ideas of my own with you.
Have a nice weekend :)
Hello,
Mainly EdgeIndexer in package kgtool...kgraph.core Best regards Olivier
Hey, @ocorby !
I took a look at the EdgeIndexer. Are you using any kind of compression? I'm asking this because, AFAIK, there is none but I'm still fairly newbie regarding database internals (besides the basic notions of trees as indexes) so I might be missing something. Considering Corese works entirely in memory, did you consider using something like HDT-Java?
By the way, is it a good idea to chat about this stuff in the issue section? Maybe I'm "poluting" this space with offtopic stuff (that is, they are not issues).
Hello,
There is no compression per se in the edge index, except that we use quads for named graphs. Thanx for the pointer to HDT-Java https://github.com/rdfhdt/hdt-java/ it looks interesting !
Regards,
Olivier