Test-Driven Data Debugging Ontology
type: Ontology
preferred namespace prefix: rut
changes: ns
version info: 0.3
license: http://creativecommons.org/licenses/by/3.0/
license: LICENSE-2.0
rights: This ontology is licensed under Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0) and CC-BY (http://creativecommons.org/licenses/by/3.0/)
date: 2013-10-01
issued: 2013-10-01
modified: 2014-01-10
creator: Dimitris Kontokostas
creator: Jens Lehmann
creator: Patrick Westphal
creator: Roland Cornelissen
creator: Sebastian Hellmann
creator: Sören Auer
comment: The RDFUnit ontology describes concepts used in RDFUnit, a test driven data-debugging framework that can run automatically generated (based on a schema) and manually generated test cases against an endpoint.

Pattern
type: Class
subclass of: Restriction
  on property: identifier
  cardinality: 1
subclass of: Restriction
  on property: sparqlWherePattern
  cardinality: 1
subclass of: Restriction
  on property: sparqlPrevalencePattern
  cardinality: 1
subclass of: Restriction
  on property: parameter
  min cardinality: 1

sparqlWherePattern
type: DatatypeProperty
comment: The WHERE part of sparql pattern query with placeholders (%%XYZ%%) for parameters
domain: Pattern
range: string

sparqlPrevalencePattern
type: DatatypeProperty
comment: A pattern sparql prevalence query, reuses the pattern parameters, maybe not all of them. The prevalence query may be empty
domain: Pattern
range: string

parameter
type: ObjectProperty
comment: links a Pattern with a list of pattern parameters
range: Parameter

Parameter
type: Class
subclass of: Restriction
  on property: identifier
  cardinality: 1
subclass of: Restriction
  on property: parameterConstraint
  cardinality: 1
subclass of: Restriction
  on property: constraintPattern
  max cardinality: 1

parameterConstraint
type: ObjectProperty
domain: Parameter
range: ParameterConstraint

constraintPattern
type: DatatypeProperty
domain: Parameter
range: string

ParameterConstraint
type: Class

TestGenerator
type: Class
subclass of: Restriction
  on property: sparqlGenerator
  cardinality: 1
subclass of: Restriction
  on property: basedOnPattern
  cardinality: 1

sparqlGenerator
type: DatatypeProperty
comment: A SPARQL query used to instantiate test cases based on patterns
domain: TestGenerator
range: string

basedOnPattern
type: ObjectProperty
comment: basedOnPattern contains the Data Quality Test Pattern that is instantiated in the described Test.
range: Pattern

TestCase
type: Class
comment: A superclass of TestCases. Defines properties all test cases can have but concrete implementation occurs on subclasses.
subclass of: Restriction
  on property: description
  cardinality: 1
subclass of: Restriction
  on property: appliesTo
  cardinality: 1
subclass of: Restriction
  on property: generated
  cardinality: 1
subclass of: Restriction
  on property: source
  cardinality: 1
subclass of: Restriction
  on property: references
  min cardinality: 1

appliesTo
type: ObjectProperty
comment: applies to describes the ontology used for terms in the Test.
domain: TestCase
range: TestAppliesTo

generated
type: ObjectProperty
comment: generated specifies the way the test was constructed.
domain: TestCase
range: TestGenerationType

references
type: ObjectProperty
comment: references specifies the Classes and Properties involved in the described test case.
domain: TestCase

source
type: ObjectProperty
comment: source is a URI that points to a general Source, which can be a schema, a dataset or an application

testCaseLogLevel
type: ObjectProperty
comment: the rlog:Level this case is associated with.
domain: TestCase
range: Level

PatternBasedTestCase
type: Class
subclass of: TestCase
comment: A test case that is based on a Pattern
subclass of: Restriction
  on property: basedOnPattern
  cardinality: 1
subclass of: Restriction
  on property: binding
  min cardinality: 1

binding
type: ObjectProperty
comment: defines a binding between a pattern parameter and a value
domain: PatternBasedTestCase
range: Binding

Binding
type: Class
comment: A binding between a pattern parameter and a value
subclass of: Restriction
  on property: parameter
  cardinality: 1
subclass of: Restriction
  on property: bindingValue
  cardinality: 1

bindingValue
type: Property
comment: the value of a Binding
domain: Binding

ManualTestCase
type: Class
subclass of: TestCase
comment: A test case where the SPARQL is defined manually
subclass of: Restriction
  on property: sparqlWhere
  cardinality: 1
subclass of: Restriction
  on property: sparqlPrevalence
  cardinality: 1

sparqlWhere
type: DatatypeProperty
comment: The WHERE part of a SPARQL query. Must be enclosed in brackets {} and use the following variables: ?resource, ?message. ?resource is URI the constraint violation occurs in and ?message is a logging message.
domain: ManualTestCase
range: string

sparqlPrevalence
type: DatatypeProperty
comment: A SPARQL query for prevalence
domain: ManualTestCase
range: string

TestGenerationType
type: Class

TestAppliesTo
type: Class

TestSuite
type: Class
comment: A list of test cases. Use prov:hadMember for test case listing
subclass of: Collection
subclass of: Restriction
  on property: hadMember
  min cardinality: 1

testSuite
type: ObjectProperty
comment: links an ontology to TestSuite for validating data adhering to that ontology
domain: Ontology
range: TestSuite

TestCaseDependency
type: Class
comment: defines a dependency between two test cases

dependencyFrom
type: ObjectProperty
comment: the test case we depends upon
domain: TestCaseDependency
range: TestCase

dependencyTo
type: ObjectProperty
comment: the test case that depends on another test case
domain: TestCaseDependency
range: TestCase

dependencyCondition
type: ObjectProperty
comment: the rut:ResultStatus of the dependencyFrom result condition that triggers this dependency
domain: TestCaseDependency
range: ResultStatus

dependencyExecute
type: DatatypeProperty
comment: 'true' executes the dependecnyTo TestCase while false does not
domain: TestCaseDependency
range: boolean

TestExecution
type: Class
comment: Holds the results of a TestSuite execution against a dataset
subclass of: Activity
subclass of: Restriction
  on property: startedAtTime
  cardinality: 1
subclass of: Restriction
  on property: endedAtTime
  cardinality: 1
subclass of: Restriction
  on property: source
  cardinality: 1

testsRun
type: DatatypeProperty
comment: Total tests run in a TestExecution
domain: TestExecution
range: nonNegativeInteger

testsSucceeded
type: DatatypeProperty
comment: Total tests that succedded in a TestExecution
domain: TestExecution
range: nonNegativeInteger

testsFailed
type: DatatypeProperty
comment: Total tests that failed in a TestExecution
domain: TestExecution
range: nonNegativeInteger

testsTimeout
type: DatatypeProperty
comment: Total tests that timeout in a TestExecution
domain: TestExecution
range: nonNegativeInteger

testsError
type: DatatypeProperty
comment: Total tests that raised an error in a TestExecution
domain: TestExecution
range: nonNegativeInteger

TestCaseResult
type: Class
comment: A class that holds a single result of a test execution. Each test case links to the TestCase (rut:testCase) it was originated from and a TestExecution (prov:wasGeneratedBy)
subclass of: Restriction
  on property: wasGeneratedBy
  cardinality: 1
subclass of: Restriction
  on property: testCase
  cardinality: 1

testCase
type: ObjectProperty
comment: points to a test case
range: TestCase

StatusTestCaseResult
type: Class
subclass of: TestCaseResult
comment: A class that holds the status of a single test execution
subclass of: Restriction
  on property: resultStatus
  cardinality: 1

resultStatus
type: ObjectProperty
comment: holds the result type. One of Success, Fail, Timeout, Error
range: ResultStatus

ResultStatus
type: Class
comment: TestCaseResult type

AggregatedTestCaseResult
type: Class
subclass of: StatusTestCaseResult
comment: A class that holds the aggregated results of a single test execution
subclass of: Restriction
  on property: resultCount
  cardinality: 1
subclass of: Restriction
  on property: resultPrevalence
  cardinality: 1

resultCount
type: DatatypeProperty
comment: The error results of a test execution. -1 means there was a timeout and -2 an error.
domain: Result
range: integer

resultPrevalence
type: DatatypeProperty
comment: The prevalence result of a test execution. -1 means there was a timeout and -2 an error.
domain: Result
range: integer

RLOGTestCaseResult
type: Class
subclass of: Entry
subclass of: TestCaseResult
subclass of: Restriction
  on property: resource
  cardinality: 1
subclass of: Restriction
  on property: message
  cardinality: 1
subclass of: Restriction
  on property: level
  cardinality: 1

ExtendedTestCaseResult
type: Class
subclass of: ConstraintViolation
subclass of: RLOGTestCaseResult
subclass of: Restriction
  on property: violationRoot
  cardinality: 1

errorPropertyContext
type: ObjectProperty
comment: Here we attach properties from the resource to provide the error context (i.e. the death date when the error is in the birth date).
domain: ExtendedTestCaseResult
range: Property

errorClassification
type: ObjectProperty
sub property of: subject
comment: This property is used to annotate an error with a classification. This classification is meant to be of higher level
domain: ExtendedTestCaseResult

errorSource
type: ObjectProperty
sub property of: subject
comment: With this property we point to the error source (if known beforehand)
domain: ExtendedTestCaseResult

errorType
type: ObjectProperty
sub property of: subject
comment: We denote the exact problem of the error
domain: ExtendedTestCaseResult

ResultAnnotation
type: Class
comment: Used to further annotate an ExtendedTestCaseResult.

annotationProperty
type: ObjectProperty
domain: ResultAnnotation
range: Property

annotationValue
type: Property
domain: ResultAnnotation

resultAnnotation
type: ObjectProperty
range: ResultAnnotation

None
type: ParameterConstraint
type: NamedIndividual
comment: The parameter can be anything, even a free variable (?var)

Operator
type: ParameterConstraint
type: NamedIndividual
comment: The parameter can be an operator.

Resource
type: ParameterConstraint
type: NamedIndividual
comment: The pattern can be a resource.

Property
type: ParameterConstraint
type: NamedIndividual
comment: The parameter is restricted to a property.

Class
type: ParameterConstraint
type: NamedIndividual
comment: The parameter is restricted to a Class.

Schema
type: TestAppliesTo
type: NamedIndividual

Dataset
type: TestAppliesTo
type: NamedIndividual
comment: Dataset: When the tests applies to a dataset only (i.e. a SPARQL Endpoint)

EnrichedSchema
type: TestAppliesTo
type: NamedIndividual
comment: EnrichedSchema: When the tests applies to an ontology / vocabulary enriched with external (semi-)automatic approaches

Application
type: TestAppliesTo
type: NamedIndividual
comment: Application: When the tests are specific to an application only

ManuallyGenerated
type: TestGenerationType
type: NamedIndividual
comment: ManuallyGenerated: This test was created manually

AutoGenerated
type: TestGenerationType
type: NamedIndividual
comment: AutoGenerated: This test was created automatically

ResultStatusSuccess
type: ResultStatus
type: NamedIndividual

ResultStatusFail
type: ResultStatus
type: NamedIndividual

ResultStatusTimeout
type: ResultStatus
type: NamedIndividual

ResultStatusError
type: ResultStatus
type: NamedIndividual