Databus Gitbook
Databus Client
Databus Client
  • Overview
    • Features
  • Usage
    • JAR
    • CLI
    • Docker
      • Docker Compose
    • Scala/Java API
  • Examples
    • Loading data into Virtuoso (Docker)
    • Download data using Collection Uri
Powered by GitBook
On this page
  • Requirements
  • Execution
  • Get docker-compose.yml
  • Select your desired data
  • Start Containers
  1. Examples

Loading data into Virtuoso (Docker)

PreviousExamplesNextDownload data using Collection Uri

Last updated 1 year ago

Deploy a dataset into a Docker SPARQL endpoint (Virtuoso).

Requirements

  • Docker: ^3.5

Execution

Get docker-compose.yml

get the file of the Databus Client Repository, or create your own:

version: '3.5'

services:

  db:
    image: tenforce/virtuoso
    ports:
      - 8895:8890
    volumes:
      - toLoad:/data/toLoad
    entrypoint: >
      bash -c 'while [ ! -f /data/toLoad/complete ]; do sleep 1; done
      && rm -f /data/toLoad/complete && bash /virtuoso.sh'

  # To change the file query: Mount an external query
  # file under volumes between host and container
  # and apply internal path as environment variable.

  databus_client:
    image: dbpedia/databus-client:latest
    environment:
      - SOURCE=/databus-client/query.sparql
      - ENDPOINT=https://dev.databus.dbpedia.org/sparql
      - COMPRESSION=gz
    volumes:
      - ./myQuery.sparql:/databus-client/query.sparql
      - toLoad:/var/toLoad
    entrypoint: >
      bash -c 'bash /databus-client/entrypoint.sh
      && mv -t /var/toLoad $$(find /var/repo -name "*.gz");
      touch /var/toLoad/complete'

volumes:
  toLoad:

Select your desired data

Again you need to specify your desired data in a sparql query

echo "PREFIX dcat:   <http://www.w3.org/ns/dcat#>
PREFIX databus: <https://dataid.dbpedia.org/databus#>

SELECT ?file WHERE
{
        GRAPH ?g
        {
                ?dataset databus:artifact <https://dev.databus.dbpedia.org/tester/testgroup/testartifact> .
                { ?distribution <http://purl.org/dc/terms/hasVersion> '2023-06-23' . }
                ?dataset dcat:distribution ?distribution .
                ?distribution databus:file ?file .
        }
}" > myQuery.sparql

Start Containers

docker compose up
curl --data-urlencode query="SELECT * {?a <http://xmlns.com/foaf/0.1/account> ?o }" "http://localhost:8895/sparql"

Useful commands

Stopping and reseting the docker with name databus-client, e.g. to change the query

docker rm -f databus-client

Delete pulled image

docker rmi -f dbpedia/databus-client

Container needs some startup time and endpoint is not immediately reachable. If it is done you can query it with directly in your browser at or you can query directly in your terminal: e.g.

docker-compose.yml
http://localhost:8895/sparql/