Named Graph IRI loaded by rdf bulk load, lost 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), i see that by conductor and i can query it by sparql present in conductor
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

what’s my mistake?


How exactly did you start the docker container, i.e., what commands were used? Did you create a persistent volume for hosting the Virtuoso database files, as detailed in the documentation, such that when the docker instance is stopped the database file are persisted, and when restarted again using the same volume the previous data still exists? As it sounds as if the data is not being persisted, i.e., no volume was used, so once this 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 don’t use anything 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 anything like
create GRAPH <>;

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

i try to count rows in my graph and the rows number is 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/deleted, 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.

1 Like

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

Have you read the Virtuoso Enterprise Edition Docker – Quick Start Guide documentation? This details the use of the --env DBA_PASSWORD=mypwd docker environment variable option to set the password upon 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 …