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. Named Individuals
  6. Annotation Properties
  7. 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
error2251c
parameterop exactly 1
is in domain of
bindingValue
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
error2247c
RLOGTestCaseResultc
constraint violationc
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
error2253c
constraintPatterndp max 1
parameterConstraintop exactly 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
has members
Classni, Noneni, Operatorni, Propertyni, Resourceni

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
error2252c
parameterop min 1
sparqlPrevalencePatterndp exactly 1
sparqlWherePatterndp exactly 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
bindingop min 1
basedOnPatternop exactly 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, annotationValue
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
has members
ResultStatusErrorni, ResultStatusFailni, ResultStatusSuccessni, ResultStatusTimeoutni

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
error2254c
error2255c
error2256c
entryc
TestCaseResultc
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
error2250c
TestCaseResultc
testCaseLogLevelop exactly 1
resultStatusop 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
has members
Applicationni, Datasetni, EnrichedSchemani, Schemani

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
error2248c
referencesop min 1
generatedop exactly 1
sourceop exactly 1
appliesToop exactly 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
error2246c
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
error2257c
error2258c
activityc
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
has members
AutoGeneratedni, ManuallyGeneratedni

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
error2249c
collectionc
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
propertyc

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
subjectop
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
propertyc

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
subjectop
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
subjectop
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
levelc

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
ontologyc
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 range
integer
is also defined as
annotation property

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

Named Individuals

Applicationni back to ToC or Named Individual ToC

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

Application: When the tests are specific to an application only
belongs to
TestAppliesToc

AutoGeneratedni back to ToC or Named Individual ToC

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

AutoGenerated: This test was created automatically
belongs to
TestGenerationTypec

Classni back to ToC or Named Individual ToC

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

The parameter is restricted to a Class.
belongs to
ParameterConstraintc

Datasetni back to ToC or Named Individual ToC

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

Dataset: When the tests apply to a dataset only (i.e. a SPARQL Endpoint)
belongs to
TestAppliesToc

EnrichedSchemani back to ToC or Named Individual ToC

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

EnrichedSchema: When the tests apply to an ontology / vocabulary enriched with external (semi-)automatic approaches
belongs to
TestAppliesToc

http://creativecommons.org/licenses/by/3.0/ni back to ToC or Named Individual ToC

IRI: http://creativecommons.org/licenses/by/3.0/

belongs to
license documentc

l i c e n s e 2.0ni back to ToC or Named Individual ToC

IRI: http://www.apache.org/licenses/LICENSE-2.0

belongs to
license documentc

ManuallyGeneratedni back to ToC or Named Individual ToC

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

ManuallyGenerated: This test was created manually
belongs to
TestGenerationTypec

Noneni back to ToC or Named Individual ToC

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

The parameter can be anything, even a free variable (?var)
belongs to
ParameterConstraintc

Operatorni back to ToC or Named Individual ToC

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

The parameter can be an operator.
belongs to
ParameterConstraintc

Propertyni back to ToC or Named Individual ToC

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

The parameter is restricted to a property.
belongs to
ParameterConstraintc

Resourceni back to ToC or Named Individual ToC

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

The pattern can be a resource.
belongs to
ParameterConstraintc

ResultStatusErrorni back to ToC or Named Individual ToC

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

ResultStatusError: the test raised an error (eg HTTP error code)
belongs to
ResultStatusc

ResultStatusFailni back to ToC or Named Individual ToC

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

ResultStatusFail: the test failed. rut:testCaseLogLevel further specifies the rlog:Level
belongs to
ResultStatusc

ResultStatusSuccessni back to ToC or Named Individual ToC

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

ResultStatusSuccess: the test succeeded
belongs to
ResultStatusc

ResultStatusTimeoutni back to ToC or Named Individual ToC

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

ResultStatusTimeout: the test timed out
belongs to
ResultStatusc

Schemani back to ToC or Named Individual ToC

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

Schema: When the tests apply to an ontology / vocabulary
belongs to
TestAppliesToc

Annotation Properties

annotationValueap back to ToC or Annotation Property ToC

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

Value to add to ExtendedTestCaseResult. Either constant (eg rlog:WARN) or a string designating the query '?variable' or pattern '%%parameter%%' to use
has domain
ResultAnnotationc

bindingValueap back to ToC or Annotation Property ToC

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

the value provided for the bound Parameter
has domain
Bindingc

resultCountap back to ToC or Annotation 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
is also defined as
data property

Namespace Declarations back to ToC

default namespace
http://rdfunit.aksw.org/ns/core#
2014
http://jens-lehmann.org/files/2014/
core
http://rdfunit.aksw.org/ns/core#
dc
http://purl.org/dc/elements/1.1/
error
http://org.semanticweb.owlapi/error#
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#
spin
http://spinrdf.org/spin#
terms
http://purl.org/dc/terms/
vann
http://purl.org/vocab/vann/
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.