HI Dimitris,


Sorry, it was easy after all :)

now, something extra,
we have about 3-4M triples that we update occasionally by clearing
the gragh and inserting the new triples.

1) does the index affect the clear/update procedure?
and if it does, are there any commands to call before / after to
speed it up

Virtuoso maintains its free-text indexes either in real-time, or in
batch mode. See paragraph 16.3.1.2. Time of Indexing from:

http://docs.openlinksw.com/virtuoso/sparqlextensions.html


In this case what you could do is set the index to manual mode:

   DB.DBA.VT_BATCH_UPDATE ('DB.DBA.RDF_OBJ', 'ON', 10);

Oops, this should be:

    DB.DBA.VT_BATCH_UPDATE ('DB.DBA.RDF_OBJ', 'ON', NULL);


before doing the delete/load sequence and then afterwards run the:
    DB.DBA.VT_INC_INDEX_DB_DBA_RDF_OBJ ();
to force another synchronization.


2) (a little out of topic), but i read somewhere that by disabling
the http host the update is much faster. Is there a function to call
from a script?

e.g.
disable http
(maybe disable index)
clear / update
(re-enable index)
enable http



Of course loading is quickest when it does not have to wait for any
locks left by long running sparql queries, however in most cases they
can co-exist.

If you really want to stop/start the http server, there are two new
functions in the upcoming VOS release:

        http_lock();
        http_unlock();

which can be used to accomplish this.

I would recommend you also set in your virtuoso.ini:

    [HTTP Server]
    MaintenancePage             = atomic.html


This static page that should go into the vsp directory in your
virtuoso installation, will be send to any client for as long as the
http server is locked using a 503 Service temporary unavailable
status, to let them know to try again later.



Reply via email to