Virtuoso ISQL数据导入不能是stat文件

Ran*_*all 4 file-access virtuoso

isql-vt(Virtuoso的Ubuntu名称isql)中,我试图导入测试.ttl文件,但得到错误"无法统计文件":

SQL> DB.DBA.TTLP(file_to_string_output('./scratch/ttl/granule.ttl'),'','http://origin.mytest.org/');

*** Error 42000: [Virtuoso Driver][Virtuoso Server]FA112: Can't stat file './scratch/ttl/granule.ttl', error (2) : No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是,文件肯定存在; 我甚至cat可以:

SQL> !cat ./scratch/ttl/granule.ttl;
@prefix datacite: <http://purl.org/spar/datacite/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
<http://0.0.0.0:3000/granule/MOD09.A2016278.0110.006.2016279074214.hdf>
   datacite:identifier "MOD09.A2016278.0110.006.2016279074214.hdf";
   prov:wasGeneratedBy <http://0.0.0.0:3000/run/MODAPS_456056327>;
   a prov:entity .

SQL> 
Run Code Online (Sandbox Code Playgroud)

为什么DB.DBA.TTLP命令说不能统计它?

Ran*_*all 5

尝试使用的全路径做了很多更好的错误信息:

SQL> DB.DBA.TTLP(file_to_string_output('/home/ubuntu/Origin/scratch/ttl/granule.ttl'),'','http://origin.nasa.gov/');

*** Error 42000: [Virtuoso Driver][Virtuoso Server]FA003: Access to 
'/home/ubuntu/Origin/scratch/ttl/granule.ttl' is denied due to access control in ini file
Run Code Online (Sandbox Code Playgroud)

所以,解决方案是添加路径/etc/virtuoso-opensource-6.1/virtuoso.ini,例如:

...
DirsAllowed  = ., /usr/share/virtuoso-opensource-6.1/vad, /home/ubuntu/Origin
...
Run Code Online (Sandbox Code Playgroud)

并重新启动virtuoso以使更改生效.