Test-Driven Data Validation Ontology

IRI:
http://rdfunit.aksw.org/ns/core#
Date:
01/10/2013
Current version:
0.4.1
Authors:
Dimitris Kontokostas
Jens Lehmann
Patrick Westphal
Roland Cornelissen
Sebastian Hellmann
Sören Auer
Other visualisation:
Ontology source

Abstract

The RDFUnit ontology describes concepts used in RDFUnit, a test driven RDF Validation framework that can run automatically generated (based on a schema) and manually generated test cases against an endpoint. It's best described in "NLP data cleansing based on Linguistic Ontology constraints" (ESWC 2014) p5-7, http://jens-lehmann.org/files/2014/eswc_rdfunit_nlp.pdf, includes the ontology diagram.

Table of Content

  1. Introduction
  2. Classes
  3. Object Properties
  4. Data Properties
  5. Namespace Declarations

Introduction

The RDFUnit ontology describes concepts used in RDFUnit, a test driven RDF Validation framework that can run automatically generated (based on a schema) and manually generated test cases against an endpoint. It's best described in "NLP data cleansing based on Linguistic Ontology constraints" (ESWC 2014) p5-7, http://jens-lehmann.org/files/2014/eswc_rdfunit_nlp.pdf, includes the ontology diagram.

Classes

AggregatedTestCaseResultc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#AggregatedTestCaseResult

Aggregated results of a single TestCase execution
has super-classes
StatusTestCaseResultc
resultCountdp exactly 1
resultPrevalencedp exactly 1
is in domain of
resultPrevalencedp

Bindingc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#Binding

Binding of a pattern Parameter to a value
has super-classes
parameterop exactly 1
bindingValue exactly 1
is in range of
bindingop

ExtendedTestCaseResultc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#ExtendedTestCaseResult

An extended TestCaseResult that includes additional information: spin:violationRoot (offending resource), spin:violationPath (offending property), spin:violationValue (offending value), rut:errorPropertyContext (property also involved in the offense), and error classification, source and type. These are provided through rut:ResultAnotation
has super-classes
RLOGTestCaseResultc
constraint violation
violation root exactly 1
is in domain of
errorClassificationop, errorPropertyContextop, errorSourceop, errorTypeop

ManualTestCasec back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#ManualTestCase

A test case where the SPARQL is defined manually
has super-classes
TestCasec
sparqlWheredp exactly 1
sparqlPrevalencedp exactly 1
is in domain of
sparqlPrevalencedp, sparqlWheredp

Parameterc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#Parameter

A pattern parameter. Has dct:identifier equal to the %%parameter%% placeholder. rut:parameterConstraint and rut:constraintPattern determine the possible values
has super-classes
identifier exactly 1
parameterConstraintop exactly 1
constraintPatterndp max 1
is in domain of
constraintPatterndp, parameterConstraintop
is in range of
parameterop

ParameterConstraintc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#ParameterConstraint

What can be substituted for a parameter, one of None (means anything), Operator, Resource, Property, Class
is in range of
parameterConstraintop

Patternc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#Pattern

Data Quality Test Pattern (DQTP): a query with embedded %%parameter's%% and a corresponding list of rut:parameter's
has super-classes
identifier exactly 1
sparqlWherePatterndp exactly 1
sparqlPrevalencePatterndp exactly 1
parameterop min 1
is in domain of
sparqlPrevalencePatterndp, sparqlWherePatterndp
is in range of
basedOnPatternop

PatternBasedTestCasec back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#PatternBasedTestCase

A test case that is based on a Pattern instantiated with Bindings for each Parameter
has super-classes
TestCasec
basedOnPatternop exactly 1
bindingop min 1
is in domain of
bindingop

ResultAnnotationc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#ResultAnnotation

Used by a TestCase, TestAutoGenerator or Pattern to add properties to an ExtendedTestCaseResult.
is in domain of
annotationPropertyop
is in range of
resultAnnotationop

ResultStatusc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#ResultStatus

Result Status. One of Success, Fail, Timeout, Error
is in range of
dependencyConditionop, resultStatusop

RLOGTestCaseResultc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#RLOGTestCaseResult

A TestCaseResult at the level of an individual rlog:resource (the resource that was tested), with rlog:message and rlog:level
has super-classes
entry
TestCaseResultc
resource exactly 1
message exactly 1
level exactly 1
has sub-classes
ExtendedTestCaseResultc

StatusTestCaseResultc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#StatusTestCaseResult

The status and log level of a single TestCaseResult. TODO: Why is rut:testCaseLogLevel mandatory, doesn't it apply only when resultStatus=Fail? It's optional in rut:TestCase
has super-classes
TestCaseResultc
resultStatusop exactly 1
description exactly 1
testCaseLogLevelop exactly 1
has sub-classes
AggregatedTestCaseResultc

TestAppliesToc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestAppliesTo

What does a test case apply to: Schema, EnrichedSchema, Dataset or Application
is in range of
appliesToop

TestCasec back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestCase

Superclass of all test cases. Defines properties that all cases should have, but concrete implementation occurs on subclasses.
has super-classes
description exactly 1
appliesToop exactly 1
generatedop exactly 1
sourceop exactly 1
referencesop min 1
has sub-classes
ManualTestCasec, PatternBasedTestCasec
is in domain of
appliesToop, generatedop, referencesop
is in range of
dependencyFromop, dependencyToop, testCaseop

TestCaseDependencyc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestCaseDependency

A dependency between two test cases
is in domain of
dependencyConditionop, dependencyExecutedp, dependencyFromop, dependencyToop

TestCaseResultc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestCaseResult

The result of a TestExecution. Each result links to the TestCase (rut:testCase) it originated from, and to the TestExecution (prov:wasGeneratedBy) it is part of
has super-classes
was generated by exactly 1
testCaseop exactly 1
has sub-classes
RLOGTestCaseResultc, StatusTestCaseResultc

TestExecutionc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestExecution

Holds the TestCaseResults of a TestSuite execution against a dataset. The results are linked to TestExecution by prov:wasGeneratedBy
has super-classes
activity
started at time exactly 1
ended at time exactly 1
sourceop exactly 1
is in domain of
testsErrordp, testsFaileddp, testsRundp, testsSucceededdp, testsTimeoutdp

TestGenerationTypec back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestGenerationType

How a test case was created: Automatically generated or Manually made
is in range of
generatedop

TestGeneratorc back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestGenerator

Generates TestCases based on a Pattern and a SPARQL query that instantiates the pattern Parameters
has super-classes
sparqlGeneratordp exactly 1
basedOnPatternop exactly 1
is in domain of
sparqlGeneratordp

TestSuitec back to ToC or Class ToC

IRI: http://rdfunit.aksw.org/ns/core#TestSuite

A suite of TestCases, linked to it using prov:hadMember
has super-classes
collection
had member min 1
is in range of
testSuiteop

Object Properties

annotationPropertyop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#annotationProperty

Property to add to ExtendedTestCaseResult, eg spin:violationPath, spin:violationValue, rut:errorPropertyContext
has domain
ResultAnnotationc
has range
property

appliesToop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#appliesTo

What does a test case apply to: Schema, EnrichedSchema, Dataset or Application
has domain
TestCasec
has range
TestAppliesToc

basedOnPatternop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#basedOnPattern

The Pattern instantiated by a PatternBasedTestCase or a TestGenerator
has range
Patternc

bindingop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#binding

Binding of a pattern Parameter to a value
has domain
PatternBasedTestCasec
has range
Bindingc

dependencyConditionop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#dependencyCondition

The rut:ResultStatus of the dependencyFrom case that triggers this dependency
has domain
TestCaseDependencyc
has range
ResultStatusc

dependencyFromop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#dependencyFrom

Test case that preconditions the execution of another test case
has domain
TestCaseDependencyc
has range
TestCasec

dependencyToop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#dependencyTo

Test case whose execution depends on another test case
has domain
TestCaseDependencyc
has range
TestCasec

errorClassificationop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#errorClassification

High-level classification of the error. Usually a skos:Concept
has super-properties
subject
has domain
ExtendedTestCaseResultc

errorPropertyContextop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#errorPropertyContext

Property(ies) that also contributed to the offense (e.g. dbo:deathDate when spin:violationPath is dbo:birthDate).
has domain
ExtendedTestCaseResultc
has range
property

errorSourceop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#errorSource

Source of the error, eg data parsing, data publishing, mapping, pre processing, post processing (if known beforehand). Usually a skos:Concept
has super-properties
subject
has domain
ExtendedTestCaseResultc

errorTypeop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#errorType

More specific error type, eg missing property, redundant property, inaccurate property. Usually a skos:Concept
has super-properties
subject
has domain
ExtendedTestCaseResultc

generatedop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#generated

How the test was created: Automatically generated or Manually made.
has domain
TestCasec
has range
TestGenerationTypec

parameterop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#parameter

List of Parameters for the Pattern
has range
Parameterc

parameterConstraintop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#parameterConstraint

What can be substituted for the parameter, one of None (means anything), Operator, Resource, Property, Class
has domain
Parameterc
has range
ParameterConstraintc

referencesop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#references

The Classes and Properties involved in the described test case.
has domain
TestCasec

resultAnnotationop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#resultAnnotation

ResultAnnotation to apply to all results produced by a TestCase, TestAutoGenerator, or Pattern

resultStatusop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#resultStatus

result status. One of Success, Fail, Timeout, Error
has range
ResultStatusc

sourceop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#source

A schema (ontology), dataset or application that this test case was created for

testCaseop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testCase

The TestCase that this TestCaseResult originated from
has range
TestCasec

testCaseLogLevelop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testCaseLogLevel

rlog:Level that this TestCase will return in case of failure, or StatusTestCaseResult has recorded. Analogous to rlog:level, which applies to rlog:Entry and rut:RLOGTestCaseResult
has range
level

testSuiteop back to ToC or Object Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testSuite

Links an ontology to a TestSuite for validating data adhering to that ontology. Usually each TestCase in the suite will have rut:appliesTo rut:Schema (or rut:EnrichedSchema), and link back to the ontology using rut:source
has domain
ontology
has range
TestSuitec

Data Properties

constraintPatterndp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#constraintPattern

Regexp that further qualifies a rut:parameterConstraint, e.g. '<|<=|>|>=|=|!=' for a rut:Operator
has domain
Parameterc
has range
string

dependencyExecutedp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#dependencyExecute

Whether to execute the dependencyTo case. If a case has multiple dependencies, it is executed only if all dependencyCondition's are satisfied, and all dependencyExecute's are true. TODO: IS THIS TRUE? Else: Only useful while debugging test suites
has domain
TestCaseDependencyc
has range
boolean

resultCountdp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#resultCount

The number of results having the given rut:resultStatus in StatusTestCaseResult execution. -1 means there was a timeout and -2 an error.
has domain
result
has range
integer

resultPrevalencedp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#resultPrevalence

The total COUNT of instances tested by a TestCase execution. -1 means there was a timeout and -2 an error.
has domain
AggregatedTestCaseResultc
has range
integer

sparqlGeneratordp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#sparqlGenerator

SPARQL SELECT query that instantiates test cases based on a Pattern. Must return variables named the same as the Pattern's parameters, plus a ?DESCRIPTION
has domain
TestGeneratorc
has range
string

sparqlPrevalencedp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#sparqlPrevalence

A SPARQL query to COUNT the number of instances being tested
has domain
ManualTestCasec
has range
string

sparqlPrevalencePatterndp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#sparqlPrevalencePattern

A sparql query to COUNT the number of instances being tested. May reuse %%parameter's%% from rut:sparqlWherePattern. May be empty but should be present (TODO: why?)
has domain
Patternc
has range
string

sparqlWheredp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#sparqlWhere

The WHERE part of a SPARQL query. Must be enclosed in brackets {} and bind the following variables: ?resource: the instance (URI) where the constraint violation occurs; ?message: a logging message.
has domain
ManualTestCasec
has range
string

sparqlWherePatterndp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#sparqlWherePattern

The WHERE part of a sparql query with %%parameter%% placeholders. Must bind variables ?resource and ?message (see rut:sparqlWhere)
has domain
Patternc
has range
string

testsErrordp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testsError

Total tests that raised an error in a TestExecution
has domain
TestExecutionc
has range
non negative integer

testsFaileddp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testsFailed

Total tests that failed in a TestExecution
has domain
TestExecutionc
has range
non negative integer

testsRundp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testsRun

Total tests run in a TestExecution
has domain
TestExecutionc
has range
non negative integer

testsSucceededdp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testsSucceeded

Total tests that succedded in a TestExecution
has domain
TestExecutionc
has range
non negative integer

testsTimeoutdp back to ToC or Data Property ToC

IRI: http://rdfunit.aksw.org/ns/core#testsTimeout

Total tests that timed out in a TestExecution
has domain
TestExecutionc
has range
non negative integer

Namespace Declarations back to ToC

2014
http://jens-lehmann.org/files/2014/
dc
http://purl.org/dc/elements/1.1/
dcterms
http://purl.org/dc/terms/
licenses
http://www.apache.org/licenses/
master
https://github.com/AKSW/RDFUnit/commits/master/
ns
http://rdfunit.aksw.org/ns/
owl
http://www.w3.org/2002/07/owl#
prov
http://www.w3.org/ns/prov#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
rlog
http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#
rut
http://rdfunit.aksw.org/ns/core#
spin
http://spinrdf.org/spin#
xsd
http://www.w3.org/2001/XMLSchema#

This HTML document was obtained by processing the OWL ontology source code through LODE, Live OWL Documentation Environment, developed by Silvio Peroni.