Hi Hugh,
 
I got it working using symlinks I am also now using the DBPedia load
script which looks better than the script I was hacking together.
 
Thanks for the pointer to the configuration documentation. I should have
looked there sooner ;-)
 
Thanks again
Jem

________________________________

From: Hugh Williams [mailto:hwilli...@openlinksw.com] 
Sent: 15 April 2009 13:50
To: Jem Rayfield
Cc: Ivan Mikhailov; Hugh Williams; virtuoso-users@lists.sourceforge.net
Subject: Re: [Virtuoso-users] ttlp_mt problem


Hi Jem,

How did you configure the instance to get it to work ?

Points of note:

1. The directory hosting the Virtuoso database files, "database" for the
default instance must have write privileges as the user Virtuoso is
running as to enable the temp files trying to be written to it by the
file_to_string() function to be possible, which seemed to be root cause
of your original problem. This could also have additional side effects
on the Virtuoso instance as other services like checkpoint'ing etc also
need to create files to function and thus would also fail if write
access to the directory is not allowed.

2. You can move the database files to a file system with sufficient disk
space and symlink it back to the "database" directory such that it can
be started and stopped as the default database. Note in this scenario
their is a subtle problem with the startup script which creates a
symlink  of the form "virtuoso -> ../bin/virtuoso-iodbc-t" in the
database directory and does not work as the virtuoso-iodbc-t does not
exist in that relative location. Thus this would need to be amended to
point to the absolute PATH to the virtuoso-iodbc-t for it to work and
will be fixed in the next release.

3. You can also create separate databases for your Virtuoso instance
with a command of the form:

<install_dir>/install/command-create-db.sh -dir <directory_name> -port
<sql_port>  -http-port <http_port> -dbname <database_name>

The individual databases can then be started or stopped with the
command:

virtuoso-[start | stop].sh <database_name>

4. The virtuoso server does have a "TempSesDir" configuration file
option in the "Parameters" section of the ini file which controls where
temporary data  are written as detailed at:

http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#ini_HTTPServer


Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support



On 15 Apr 2009, at 12:27, Jem Rayfield wrote:


        So I have things working now. Thanks for the pointers.
        I still think that config for setting the path for temp files
would
        help.



        -----Original Message-----
        From: Jem Rayfield 
        Sent: 15 April 2009 10:24
        To: 'Ivan Mikhailov'; Hugh Williams
        Cc: virtuoso-users@lists.sourceforge.net
        Subject: RE: [Virtuoso-users] ttlp_mt problem

        Ivan et al,

        OK, so changing the context of the process invoking
        file_to_string_output() did not fix the problem.
        The temp session files are still written to:

        09:28:30 Can't write to file /home/virtuoso/database//sesbPyLvU

        I invoked the command from:

        /data/virtuoso/dbpediaLoad

        The session files always appear to be written to
        ${VIRTUOSO_HOME}/database

        I think it might be nice to make the location of tempory files
        configurable. 
        The process context isn't always a desirable location.
        The default could still be the process context using an ini
override if
        required. 


        I have also used ttlp_mt_local_file which also fails with the
same
        errors.


        Hugh,
        I have downloaded the dbpedia script. Thanks.
        However this script fails in the same manner as it again uses 

        file_to_string_output 
        ttlp_mt


        The main problem I have is that the virtuoso installation is
located on
        dir/mount with limited space.
        All the data should be on a different mount which has lots of
space.
        I think I will need to move the installation to /data (lots of
space) to
        fix this. 
        Not ideal as our sysadmins won't like this very much.
        I will let you know if this fixes the problem.

        Thanks for your help
        Jem


        -----Original Message-----
        From: Ivan Mikhailov [mailto:imikhai...@openlinksw.com]
        Sent: 14 April 2009 21:45
        To: Jem Rayfield
        Cc: virtuoso-users@lists.sourceforge.net
        Subject: Re: [Virtuoso-users] ttlp_mt problem

        Hello Jem,

        file_to_string_output() can flush part of string session to a
temporary
        file if the session is too long to keep it in memory. On almost
all OSes
        it makes the file in the working directory of the process, say,
in the
        current directory of the shell that launched the executable.
It's
        advisable to start from writable directory.

        In this particular case, it is better to use
DB.DBA.TTLP_MT_LOCAL_FILE (
        '/data/virtuoso/dbpediaLoad/longabstract_en.nt', '',
        'http://*****.newsonline.tc.nca.bbc.co.uk/test', 17) that will
parse the
        file directly, without wasting time and disk for temporary copy.

        Best Regards,

        Ivan Mikhailov
        OpenLink Software
        http://virtuoso.openlinksw.com



Reply via email to