Named Graph IRI loaded by rdf bulk loade, loosed when stop virtuoso docker



hi, im new in virtuoso , i install a virtuoso docker image, i load a ttl (ld_di argument specify a Named Graph IRI), ai see that by conductor and i can query it by sparql present in conductro
all is good (i will)

i stop docker, i restart it and:
ttl is present in virtuoso docker image
but Named Graph IRI is missing

whats my mistakes!



How exactly did you start the docker container ie what commands where used ? Did you create a persistent volume for hosting the Virtuoso database files such that when the docker instance is stopped the database file are persisted, as detailed in the documentation, such that when restarted again using the same volume the previous data still exists ? As it sounds as if the data is not being persisted ie no volume was used this once the container is stopped the database and associated files are lost …

Note assuming you used the Virtuoso RDF Bulk Loader for loading these datasets you MUST also ensure the “checkpoint;” command has been run to commit pending transaction to the database file before shutting it down, as bulk load operations are performed with transaction logging disabled by default to speed load times. And if a checkpoint has not been run before restarting the database then the data loaded would be lost …


I run docker with this command :
docker run -d --name my_virtuoso -p 8890:8890 vos

and so my db is inside the container , i dont use anythink like :
sudo docker run --name vos -d -v /opt/virtuoso-opensource/database:/opt/virtuoso-opensource/database -t -p 1111:1111 -p 8890:8890 -i openlink/virtuoso_opensource:latest

but i try to pre create my graph in conductor with anythink like
create GRAPH;

and so , my data persists if i dont remove container from machine (just only stop and restart it)

i try to counts rows in my graph and the rows number its right, so i think that transaction log is enabled, but i’ll verify

thanks a lot


@mauroruf68: If you are not using the -v volume param to persist storage for the database files to your host OS, then when the container is removed/delete all the database files will be removed also and hence not available if you restart a new container. So you must use -v to persist the database files should the container be removed/deleted.


thanks @hwilliams, i try it but i have any problem with dba password… dont recognize it
s possible that dba default password is not “dba” ?


Have you read the Virtuoso Enterprise Edition Docker – Quick Start Guide documentation which details the use of the --env DBA_PASSWORD=mypwd docker environment variable option to set the password on Virtuoso docker container creation or if not set to check the container /system/dba_password file to see what random pwd has been set for the created Virtuoso container as the default pwd of “dba” is considered a security risk …