{"id":13565217,"url":"https://github.com/AKSW/RDFUnit","last_synced_at":"2025-04-03T22:30:57.134Z","repository":{"id":7794888,"uuid":"9165045","full_name":"AKSW/RDFUnit","owner":"AKSW","description":"An RDF Unit Testing Suite","archived":false,"fork":false,"pushed_at":"2023-09-26T07:40:30.000Z","size":8953,"stargazers_count":153,"open_issues_count":35,"forks_count":40,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-11-04T18:46:40.305Z","etag":null,"topics":["data-quality","data-quality-checks","data-validation","rdf","schema","schema-validation","shacl","unit-testing","validation","web-ontology-language"],"latest_commit_sha":null,"homepage":"http://RDFUnit.aksw.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AKSW.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2013-04-02T07:45:41.000Z","updated_at":"2024-11-04T09:25:32.000Z","dependencies_parsed_at":"2023-10-20T16:29:54.325Z","dependency_job_id":null,"html_url":"https://github.com/AKSW/RDFUnit","commit_stats":{"total_commits":1962,"total_committers":37,"mean_commits":"53.027027027027025","dds":0.2426095820591233,"last_synced_commit":"1942dfefd232289c1784d6f9240bb12cc924b381"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AKSW%2FRDFUnit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AKSW%2FRDFUnit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AKSW%2FRDFUnit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AKSW%2FRDFUnit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AKSW","download_url":"https://codeload.github.com/AKSW/RDFUnit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247089919,"owners_count":20881882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["data-quality","data-quality-checks","data-validation","rdf","schema","schema-validation","shacl","unit-testing","validation","web-ontology-language"],"created_at":"2024-08-01T13:01:42.708Z","updated_at":"2025-04-03T22:30:52.124Z","avatar_url":"https://github.com/AKSW.png","language":"Java","funding_links":[],"categories":["DevOps","Java"],"sub_categories":["BBedit"],"readme":"RDFUnit - RDF Unit Testing Suite\n==========\n\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.aksw.rdfunit/rdfunit-parent/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.aksw.rdfunit/rdfunit-parent)\n[![Build Status](https://travis-ci.org/AKSW/RDFUnit.svg?branch=master)](https://travis-ci.org/AKSW/RDFUnit)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/2650/badge.svg?flat=1)](https://scan.coverity.com/projects/2650)\n[![Coverage Status](https://coveralls.io/repos/AKSW/RDFUnit/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/AKSW/RDFUnit?branch=master)\n[![Codacy Badge](https://api.codacy.com/project/badge/grade/02907c27b76141709e5a6e9682fc836c)](https://www.codacy.com/app/jimkont/RDFUnit)\n[![codebeat badge](https://codebeat.co/badges/fc781acc-0a9f-4796-9d33-28d1ffb3b019)](https://codebeat.co/projects/github-com-aksw-rdfunit)\n[![Project Stats](https://www.openhub.net/p/RDFUnit/widgets/project_thin_badge.gif)](https://www.ohloh.net/p/RDFUnit)\n\n\n\n**Homepage**: http://rdfunit.aksw.org \u003cbr/\u003e\n**Documentation**: https://github.com/AKSW/RDFUnit/wiki  \u003cbr/\u003e\n**Slack #rdfunit**: https://dbpedia-slack.herokuapp.com/ \u003cbr/\u003e\n**Mailing list**: https://groups.google.com/d/forum/rdfunit (rdfunit [at] googlegroups.com)  \u003cbr/\u003e\n**Presentations**: http://www.slideshare.net/jimkont  \u003cbr/\u003e\n**Brief Overview**: https://github.com/AKSW/RDFUnit/wiki/Overview\n\n\nRDFUnit is implemented on top of the [Test-Driven Data Validation Ontology](http://rdfunit.aksw.org/ns/core#) and designed to read and produce RDF that complies to that ontology only.\nThe main components that RDFUnit reads are\n[TestCases (manual \u0026 automatic), TestSuites](https://github.com/AKSW/RDFUnit/wiki/TestCases),\n[Patterns \u0026 TestAutoGenerators](https://github.com/AKSW/RDFUnit/wiki/Patterns-Generators).\nRDFUnit also strictly defines the results of a TestSuite execution along with [different levels of result granularity](https://github.com/AKSW/RDFUnit/wiki/Results).\n\n### Contents\n * [Basic Usage](#basic-usage)\n * [Using Docker](#using-docker)\n * [Supported Schemas](#supported-schemas)\n * [Acknowledgements](#acknowledgements)\n\n\n### Basic usage\n\nSee [RDFUnit from Command Line](https://github.com/AKSW/RDFUnit/wiki/CLI) or `bin/rdfunit -h` for (a lot) more options but the simplest setting is as follows:\n\n```console\n$ bin/rdfunit -d \u003clocal-or-remote-location-URI\u003e\n```\n\nWhat RDFUnit will do is:\n\n1. Get statistics about all properties \u0026 classes in the dataset\n1. Get the namespaces out of them and try to dereference all that exist in [LOV](http://lov.okfn.org)\n1. Run our [Test Generators](https://github.com/AKSW/RDFUnit/wiki/Patterns-Generators) on the schemas and generate RDFUnit Test cases\n1. Run the RDFUnit test cases on the dataset\n1. You get a results report in html (by default) but you can request it in [RDF](http://rdfunit.aksw.org/ns/core#) or even multiple serializations with e.g.  `-o html,turtle,jsonld`\n  * The results are by default aggregated with counts, you can request different levels of result details using `-r {status|aggregate|shacl|shacllite}`. See [here](https://github.com/AKSW/RDFUnit/wiki/Results) for more details.\n\nYou can also run:\n```console\n$ bin/rdfunit -d \u003cdataset-uri\u003e -s \u003cschema1,schema2,schema3,...\u003e\n```\n\nWhere you define your own schemas and we pick up from step 3. You can also use prefixes directly (e.g. `-s foaf,skos`) we can get everything that is defined in [LOV](http://lov.okfn.org).\n\n### Using Docker\n\nA Dockerfile is provided to create a Docker image of the CLI of RDFUnit.\n\nTo create the Docker image:\n\n```console\n$ docker build -t rdfunit .\n```\n\nIt is meant to execute a rdfunit command and then shutdown the container. If the output of rdfunit on stdout is not enough or you want to include files in the container, a directory could be mounted via Docker in order to create the output/result there or include files.\n\nHere an example of usage:\n\n```console\n$ docker run --rm -it rdfunit -d https://awesome.url/file -r aggregate\n```\n\nThis creates a temporary Docker container which runs the command, prints the results on stdout and stops plus removes itself. For further usage of CLI visit https://github.com/AKSW/RDFUnit/wiki/CLI.\n\n### Supported Schemas\n\nRDFUnit supports the following types of schemas\n\n1. **OWL** (using CWA): We pick the most commons OWL axioms as well as schema.org. (see [[1]](https://github.com/AKSW/RDFUnit/labels/OWL),[[2]](https://github.com/AKSW/RDFUnit/issues/20) for details)\n1. **SHACL**: Full SHACL is almost available except for [a few SHACL constructs](https://github.com/AKSW/RDFUnit/issues/62). Whatever constructs we support can also run directly on SPARQL Endpoints\n1. IBM **Resource Shapes**: The progress is tracked [here](https://github.com/AKSW/RDFUnit/issues/23) but as soon as SHACL becomes stable we will drop support for RS\n1. **DSP** (Dublin Core Set Profiles): The progress is tracked [here](https://github.com/AKSW/RDFUnit/issues/22) but as soon as SHACL becomes stable we will drop support for DSP\n\nNote that you can mix all of these constraints together and RDFUnit will validate the dataset against all of them.\n\n### Acknowledgements\n\nThe first version  of RDFUnit (formely known as Databugger) was developed by AKSW as part of the PhD thesis of Dimitris Kontokostas. \nA lot of additional work for improvement, requirements \u0026 refactoring was performed through the [EU funded project ALIGNED](http://aligned-project.eu). Through the project, a lot of project partners provided feedback and contributed code like e.g.  Wolters Kluwers Germany and Semantic Web Company that are also users of RDFUnit.\n\nThere are also many [code contributors](https://github.com/AKSW/RDFUnit/graphs/contributors) as well as people submitted bug reports or provided constructive feedback.\n\nIn addition, RDFUnit used [Java profiler (JProfiler)](http://www.ej-technologies.com/products/jprofiler/overview.html) for optimizations\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAKSW%2FRDFUnit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAKSW%2FRDFUnit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAKSW%2FRDFUnit/lists"}