{"id":23370084,"url":"https://github.com/maastrichtu-ids/rdfupload","last_synced_at":"2026-03-09T13:38:19.714Z","repository":{"id":92533362,"uuid":"119739171","full_name":"MaastrichtU-IDS/RdfUpload","owner":"MaastrichtU-IDS","description":"📤 Simply upload RDF to a SPARQL endpoint with RDF4J","archived":false,"fork":false,"pushed_at":"2020-06-09T23:11:01.000Z","size":8739,"stargazers_count":5,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T16:34:51.989Z","etag":null,"topics":["graphdb","rdf4j","sparql"],"latest_commit_sha":null,"homepage":"http://d2s.semanticscience.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaastrichtU-IDS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-31T20:25:36.000Z","updated_at":"2025-02-18T14:51:45.000Z","dependencies_parsed_at":"2023-07-03T11:01:29.175Z","dependency_job_id":null,"html_url":"https://github.com/MaastrichtU-IDS/RdfUpload","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MaastrichtU-IDS/RdfUpload","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaastrichtU-IDS%2FRdfUpload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaastrichtU-IDS%2FRdfUpload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaastrichtU-IDS%2FRdfUpload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaastrichtU-IDS%2FRdfUpload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaastrichtU-IDS","download_url":"https://codeload.github.com/MaastrichtU-IDS/RdfUpload/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaastrichtU-IDS%2FRdfUpload/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30297232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T11:12:22.024Z","status":"ssl_error","status_checked_at":"2026-03-09T11:10:54.577Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphdb","rdf4j","sparql"],"created_at":"2024-12-21T15:33:29.381Z","updated_at":"2026-03-09T13:38:19.699Z","avatar_url":"https://github.com/MaastrichtU-IDS.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\nSee the [Data2Services documentation](http://d2s.semanticscience.org/) to run RdfUpload as part of workflows to generate RDF knowledge graph from structured data.\n\nThis project uploads a RDF file into a specified SPARQL endpoint. It is possible to optionally define username and password. \n\n* Faster on [RDF4J servers](https://rdf4j.eclipse.org/documentation/server-workbench-console/), as we use RDF4J. Mainly tested on [GraphDB](https://www.ontotext.com/products/graphdb/graphdb-free/).  \n\n* This Docker container is part of the [LODQuA pipeline](https://github.com/MaastrichtU-IDS/dqa-pipeline/).\n\n# Docker\n## Build\n```shell\ndocker build -t rdf-upload .\n```\n## Usage\n```shell\ndocker run -it --rm rdf-upload -?\n\nUsage: rdfupload [-?] [-ep=\u003cendpoint\u003e] -if=\u003cinputFile\u003e [-pw=\u003cpassWord\u003e]\n                 -rep=\u003crepository\u003e [-uep=\u003cupdateEndpoint\u003e] [-un=\u003cuserName\u003e]\n                 -url=\u003curl\u003e\n  -?, --help   display a help message\n      -if, --inputFile=\u003cinputFile\u003e\n               RDF file path\n      -pw, --password=\u003cpassWord\u003e\n               Password used for authentication\n      -rep, --repositoryId=\u003crepository\u003e\n               Repository ID\n      -un, --username=\u003cuserName\u003e\n               Username userd for authentication\n      -url, --database-url=\u003curi\u003e\n               URL to access GraphDB (e.g.: http://localhost:7200)\n\n```\n## Run\n- Linux / OSX\n\n```shell\n# RDF4J server URL + repository ID\ndocker run -it --rm -v /data/rdfu:/data rdf-upload -if \"/data/rdf_output.ttl\" -url \"http://localhost:7200\" -rep \"test\" -un USERNAME -pw PASSWORD\n\n# Upload multiple files with full SPARQL endpoint URL \ndocker run -it --rm -v /data/rdfu:/data rdf-upload -if \"/data/*.ttl\" -url \"http://localhost:7200/repositories/test\" -un USERNAME -pw PASSWORD\n```\n\n- Windows\n\n```powershell\ndocker run -it --rm -v c:/data/rdfu:/data rdf-upload -if \"/data/rdf_output.ttl\" -url \"http://localhost:7200\" -rep \"test\" -un USERNAME -pw PASSWORD\n```\n\n\n\n# Preload\n\n```shell\ndocker run -d --rm --name graphdb -p 7200:7200 \\\n  -v /data/graphdb:/opt/graphdb/home \\\n  -v /data/graphdb-import:/root/graphdb-import \\\n  graphdb\n```\n\n\n\nIssue: GraphDB needs to be stopped when running the load tool. Killing the java process stop the container\n\nTry without the `--rm` flag\n\n```shell\n/opt/graphdb/dist/bin/preload -f -i \u003crepo-name\u003e \u003cRDF data file(s)\u003e\n\npreload -f -i test /data/graphdb-preload/biogrid_dataset.ttl\n\n\ndocker run -it -v /data/graphdb:/opt/graphdb/home -v /data/graphdb-import:/root/graphdb-import --entrypoint \"/opt/graphdb/dist/bin/preload -f -i test /opt/graphdb/home/data/rdf_output.nq\" graphdb\n\n# Not failing, but nothing load when docker start graphdb\ndocker run -it -v /data/graphdb:/opt/graphdb/home -v /data/graphdb-import:/root/graphdb-import --entrypoint /opt/graphdb/dist/bin/preload graphdb -c /root/graphdb-import/repo-config.ttl /opt/graphdb/home/data/rdf_output.nq\n\n# Create repo test using config file. Works but GraphDB should not run\ndocker exec -it graphdb /opt/graphdb/dist/bin/preload -c \"/root/graphdb-import/repo-config.ttl\" \"/opt/graphdb/home/data/rdf_output.nq\"\n# Use existing test repo\ndocker exec -it graphdb /opt/graphdb/dist/bin/preload -f -i test \"/opt/graphdb/home/data/rdf_output.nq\"\n```\n\nrepo-config.ttl:\n\n```SPARQL\n# Configuration template for an GraphDB-Free repository\n@prefix rdfs: \u003chttp://www.w3.org/2000/01/rdf-schema#\u003e.\n@prefix rep: \u003chttp://www.openrdf.org/config/repository#\u003e.\n@prefix sr: \u003chttp://www.openrdf.org/config/repository/sail#\u003e.\n@prefix sail: \u003chttp://www.openrdf.org/config/sail#\u003e.\n@prefix owlim: \u003chttp://www.ontotext.com/trree/owlim#\u003e.\n[] a rep:Repository ;\n    rep:repositoryID \"test\" ;\n    rdfs:label \"Test repo\" ;\n    rep:repositoryImpl [\n        rep:repositoryType \"graphdb:FreeSailRepository\" ;\n        sr:sailImpl [\n            sail:sailType \"graphdb:FreeSail\" ;\n            # ruleset to use\n            owlim:ruleset \"empty\" ;\n            # disable context index(because my data do not uses contexts)\n            owlim:enable-context-index \"true\" ;\n            # indexes to speed up the read queries\n            owlim:enablePredicateList \"true\" ;\n            owlim:enable-literal-index \"true\" ;\n            owlim:in-memory-literal-properties \"true\" ;\n        ]\n    ].\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaastrichtu-ids%2Frdfupload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaastrichtu-ids%2Frdfupload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaastrichtu-ids%2Frdfupload/lists"}