@prefix dc: .
@prefix owl: .
@prefix rdf: .
@prefix xml: .
@prefix xsd: .
@prefix rdfs: .
@prefix rut: .
@prefix dcterms: .
@prefix prov: .
@prefix spin: .
@prefix rlog: .
a owl:Ontology ;
"rut" ;
"http://rdfunit.aksw.org/ns/core#" ;
;
owl:versionInfo "0.4.1" ;
rdfs:label "Test-Driven RDF Validation Ontology"@en ;
dcterms:title "Test-Driven Data Validation Ontology"@en ;
rdfs:isDefinedBy ;
dcterms:license ;
dcterms:license ;
dc: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/)"@en ;
dc:date "2013-10-01"^^ ;
dc:issued "2013-10-01"^^ ;
dc:modified "2014-01-10"^^ ;
dc:creator "Dimitris Kontokostas"@en ,
"Jens Lehmann"@en ,
"Patrick Westphal"@en ,
"Roland Cornelissen"@en ,
"Sebastian Hellmann"@en ,
"Sören Auer"@en ;
dc:description ,
;
rdfs:comment
"""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."""@en ;
dc:description
"""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."""@en ;
rdfs:seeAlso .
## set correct licence range
a dcterms:LicenseDocument .
a dcterms:LicenseDocument .
#################################################################
# Patterns
#################################################################
rut:Pattern
a owl:Class ;
rdfs:label "Pattern"@en ;
rdfs:comment "Data Quality Test Pattern (DQTP): a query with embedded %%parameter's%% and a corresponding list of rut:parameter's"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty dcterms:identifier;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:sparqlWherePattern;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:sparqlPrevalencePattern;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:parameter;
owl:minCardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:sparqlWherePattern
a owl:DatatypeProperty ;
rdfs:label "sparqlWherePattern"@en ;
rdfs:comment "The WHERE part of a sparql query with %%parameter%% placeholders. Must bind variables ?this and ?message (see rut:sparqlWhere)"@en ;
rdfs:domain rut:Pattern ;
rdfs:range xsd:string .
rut:sparqlPrevalencePattern
a owl:DatatypeProperty ;
rdfs:label "sparqlPrevalencePattern"@en ;
rdfs:comment "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?)"@en ;
rdfs:domain rut:Pattern ;
rdfs:range xsd:string .
rut:parameter
a owl:ObjectProperty ;
rdfs:label "parameter"@en ;
rdfs:comment "List of Parameters for the Pattern"@en ;
rdfs:range rut:Parameter .
#################################################################
# Pattern Parameter
#################################################################
rut:Parameter
a owl:Class ;
rdfs:label "Parameter"@en ;
rdfs:comment "A pattern parameter. Has dct:identifier equal to the %%parameter%% placeholder. rut:parameterConstraint and rut:constraintPattern determine the possible values"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty dcterms:identifier ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:parameterConstraint ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:constraintPattern ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:parameterConstraint
a owl:ObjectProperty ;
rdfs:label "parameterConstraint"@en ;
rdfs:comment "What can be substituted for the parameter, one of None (means anything), Operator, Resource, Property, Class"@en ;
rdfs:domain rut:Parameter ;
rdfs:range rut:ParameterConstraint .
rut:constraintPattern
a owl:DatatypeProperty ;
rdfs:label "constraintPattern"@en ;
rdfs:comment "Regexp that further qualifies a rut:parameterConstraint, e.g. '<|<=|>|>=|=|!=' for a rut:Operator"@en ;
rdfs:domain rut:Parameter ;
rdfs:range xsd:string .
rut:ParameterConstraint
a owl:Class ;
rdfs:label "ParameterConstraint"@en ;
rdfs:comment "What can be substituted for a parameter, one of None (means anything), Operator, Resource, Property, Class"@en .
#################################################################
# Generators
#################################################################
rut:TestGenerator
a owl:Class ;
rdfs:label "TestGenerator"@en ;
rdfs:comment "Generates TestCases based on a Pattern and a SPARQL query that instantiates the pattern Parameters"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:sparqlGenerator;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:basedOnPattern;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:sparqlGenerator
a owl:DatatypeProperty ;
rdfs:label "sparqlGenerator"@en ;
rdfs:comment "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"@en ;
rdfs:domain rut:TestGenerator ;
rdfs:range xsd:string .
rut:basedOnPattern
a owl:ObjectProperty ;
rdfs:label "basedOnPattern"@en ;
rdfs:comment "The Pattern instantiated by a PatternBasedTestCase or a TestGenerator"@en ;
rdfs:range rut:Pattern .
#################################################################
# Tests / TestCase
#################################################################
rut:TestCase
a owl:Class ;
rdfs:label "TestCase"@en ;
rdfs:comment "Superclass of all test cases. Defines properties that all cases should have, but concrete implementation occurs on subclasses."@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty dcterms:description;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:appliesTo;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:generated;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:source;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:references;
owl:minCardinality "1"^^xsd:nonNegativeInteger
];
.
rut:appliesTo
a owl:ObjectProperty ;
rdfs:label "appliesTo"@en ;
rdfs:comment "What does a test case apply to: Schema, EnrichedSchema, Dataset or Application"@en ;
rdfs:domain rut:TestCase ;
rdfs:range rut:TestAppliesTo .
rut:generated
a owl:ObjectProperty ;
rdfs:label "generated"@en ;
rdfs:comment "How the test was created: Automatically generated or Manually made."@en ;
rdfs:domain rut:TestCase ;
rdfs:range rut:TestGenerationType .
rut:references
a owl:ObjectProperty ;
rdfs:label "references"@en ;
rdfs:comment "The Classes and Properties involved in the described test case."@en ;
rdfs:domain rut:TestCase .
rut:source
a owl:ObjectProperty ;
rdfs:label "source"@en ;
rdfs:comment "A schema (ontology), dataset or application that this test case was created for"@en .
rut:testCaseLogLevel
a owl:ObjectProperty ;
rdfs:label "testCaseLogLevel"@en ;
rdfs:comment """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"""@en ;
rdfs:range rlog:Level .
################################################################
# Tests / PatternBasedTestCase
################################################################
rut:PatternBasedTestCase
a owl:Class ;
rdfs:subClassOf rut:TestCase ;
rdfs:label "PatternBasedTestCase"@en ;
rdfs:comment "A test case that is based on a Pattern instantiated with Bindings for each Parameter"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:basedOnPattern;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:binding;
owl:minCardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:binding
a owl:ObjectProperty ;
rdfs:label "binding"@en ;
rdfs:comment "Binding of a pattern Parameter to a value"@en ;
rdfs:domain rut:PatternBasedTestCase ;
rdfs:range rut:Binding .
#################################################################
# Tests / Binding
#################################################################
rut:Binding
a owl:Class ;
rdfs:label "Binding"@en ;
rdfs:comment "Binding of a pattern Parameter to a value"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:parameter ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:bindingValue;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:bindingValue
a rdf:Property ;
rdfs:label "bindingValue"@en ;
rdfs:comment "the value provided for the bound Parameter"@en ;
rdfs:domain rut:Binding .
#################################################################
# Tests / ManualTestCase
#################################################################
rut:ManualTestCase
a owl:Class ;
rdfs:subClassOf rut:TestCase ;
rdfs:label "ManualTestCase"@en ;
rdfs:comment "A test case where the SPARQL is defined manually"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:sparqlWhere ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:sparqlPrevalence;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:sparqlWhere
a owl:DatatypeProperty ;
rdfs:label "sparqlWhere"@en ;
rdfs:comment
"""The WHERE part of a SPARQL query. Must be enclosed in brackets {} and bind the following variables:
?this: the instance (URI) where the constraint violation occurs;
?message: a logging message."""@en ;
rdfs:domain rut:ManualTestCase ;
rdfs:range xsd:string .
rut:sparqlPrevalence
a owl:DatatypeProperty ;
rdfs:label "sparqlPrevalence"@en ;
rdfs:comment "A SPARQL query to COUNT the number of instances being tested"@en ;
rdfs:domain rut:ManualTestCase ;
rdfs:range xsd:string .
rut:TestGenerationType
a owl:Class ;
rdfs:label "TestGenerationType"@en ;
rdfs:comment "How a test case was created: Automatically generated or Manually made"@en .
#################################################################
rut:TestAppliesTo
a owl:Class ;
rdfs:label "TestAppliesTo"@en ;
rdfs:comment "What does a test case apply to: Schema, EnrichedSchema, Dataset or Application"@en .
#################################################################
# Test Suite
#################################################################
rut:TestSuite
a owl:Class ;
rdfs:label "TestSuite"@en ;
rdfs:comment "A suite of TestCases, linked to it using prov:hadMember"@en ;
rdfs:subClassOf prov:Collection ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty prov:hadMember ;
owl:minCardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:testSuite
a owl:ObjectProperty ;
rdfs:label "testSuite"@en ;
rdfs:comment """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"""@en;
rdfs:domain owl:Ontology ;
rdfs:range rut:TestSuite .
#################################################################
# Test Case Dependencies
#################################################################
rut:TestCaseDependency
a owl:Class ;
rdfs:label "TestCaseDependency"@en ;
rdfs:comment "A dependency between two test cases"@en .
rut:dependencyFrom
a owl:ObjectProperty ;
rdfs:label "dependencyFrom"@en ;
rdfs:comment "Test case that preconditions the execution of another test case"@en ;
rdfs:domain rut:TestCaseDependency ;
rdfs:range rut:TestCase .
rut:dependencyTo
a owl:ObjectProperty ;
rdfs:label "dependencyTo"@en ;
rdfs:comment "Test case whose execution depends on another test case"@en ;
rdfs:domain rut:TestCaseDependency ;
rdfs:range rut:TestCase .
rut:dependencyCondition
a owl:ObjectProperty ;
rdfs:label "dependencyCondition"@en ;
rdfs:comment "The rut:ResultStatus of the dependencyFrom case that triggers this dependency"@en ;
rdfs:domain rut:TestCaseDependency ;
rdfs:range rut:ResultStatus .
rut:dependencyExecute
a owl:DatatypeProperty ;
rdfs:label "dependencyExecute"@en ;
rdfs:comment """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"""@en ;
rdfs:domain rut:TestCaseDependency ;
rdfs:range xsd:boolean .
#################################################################
# Test Execution
#################################################################
rut:TestExecution
a owl:Class ;
rdfs:label "TestExecution"@en ;
rdfs:comment "Holds the TestCaseResults of a TestSuite execution against a dataset. The results are linked to TestExecution by prov:wasGeneratedBy"@en ;
rdfs:subClassOf prov:Activity ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty prov:startedAtTime ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty prov:endedAtTime ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:source ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:testsRun
a owl:DatatypeProperty ;
rdfs:label "testsRun"@en ;
rdfs:comment "Total tests run in a TestExecution"@en ;
rdfs:domain rut:TestExecution ;
rdfs:range xsd:nonNegativeInteger.
rut:testsSucceeded
a owl:DatatypeProperty ;
rdfs:label "testsSucceeded"@en ;
rdfs:comment "Total tests that succedded in a TestExecution"@en ;
rdfs:domain rut:TestExecution ;
rdfs:range xsd:nonNegativeInteger.
rut:testsFailed
a owl:DatatypeProperty ;
rdfs:label "testsFailed"@en ;
rdfs:comment "Total tests that failed in a TestExecution"@en ;
rdfs:domain rut:TestExecution ;
rdfs:range xsd:nonNegativeInteger.
rut:testsTimeout
a owl:DatatypeProperty ;
rdfs:label "testsTimeout"@en ;
rdfs:comment "Total tests that timed out in a TestExecution"@en ;
rdfs:domain rut:TestExecution ;
rdfs:range xsd:nonNegativeInteger.
rut:testsError
a owl:DatatypeProperty ;
rdfs:label "testsError"@en ;
rdfs:comment "Total tests that raised an error in a TestExecution"@en ;
rdfs:domain rut:TestExecution ;
rdfs:range xsd:nonNegativeInteger.
#################################################################
# Test Execution Results
#################################################################
rut:TestCaseResult
a owl:Class ;
rdfs:label "TestCaseResult"@en ;
rdfs:comment "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"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty prov:wasGeneratedBy ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:testCase ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:testCase
a owl:ObjectProperty ;
rdfs:label "testCase"@en ;
rdfs:comment "The TestCase that this TestCaseResult originated from"@en ;
rdfs:range rut:TestCase .
#################################################################
rut:StatusTestCaseResult
a owl:Class ;
rdfs:subClassOf rut:TestCaseResult ;
rdfs:label "StatusTestCaseResult"@en ;
rdfs:comment """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"""@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:resultStatus ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty dcterms:description ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:testCaseLogLevel ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:resultStatus
a owl:ObjectProperty ;
rdfs:label "resultStatus"@en ;
rdfs:comment "result status. One of Success, Fail, Timeout, Error"@en ;
rdfs:range rut:ResultStatus .
rut:ResultStatus
a owl:Class ;
rdfs:label "ResultStatus"@en ;
rdfs:comment "Result Status. One of Success, Fail, Timeout, Error"@en .
#################################################################
rut:AggregatedTestCaseResult
a owl:Class ;
rdfs:subClassOf rut:StatusTestCaseResult ;
rdfs:label "AggregatedTestCaseResult"@en ;
rdfs:comment "Aggregated results of a single TestCase execution"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:resultCount ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rut:resultPrevalence ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:resultCount
a owl:DatatypeProperty ;
rdfs:label "resultCount"@en ;
rdfs:comment "The number of results having the given rut:resultStatus in StatusTestCaseResult execution. -1 means there was a timeout and -2 an error."@en ;
rdfs:domain rut:Result ;
rdfs:range xsd:integer .
rut:resultPrevalence
a owl:DatatypeProperty ;
rdfs:label "resultPrevalence"@en ;
rdfs:comment "The total COUNT of instances tested by a TestCase execution. -1 means there was a timeout and -2 an error."@en ;
rdfs:domain rut:AggregatedTestCaseResult ;
rdfs:range xsd:integer .
#################################################################
rut:RLOGTestCaseResult
a owl:Class ;
rdfs:subClassOf rlog:Entry ;
rdfs:subClassOf rut:TestCaseResult ;
rdfs:label "RLOGTestCaseResult"@en ;
rdfs:comment "A TestCaseResult at the level of an individual rlog:resource (the resource that was tested), with rlog:message and rlog:level"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rlog:resource ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rlog:message ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty rlog:level ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
#################################################################
rut:ExtendedTestCaseResult
a owl:Class ;
rdfs:subClassOf spin:ConstraintViolation ;
rdfs:subClassOf rut:RLOGTestCaseResult ;
rdfs:label "ExtendedTestCaseResult"@en ;
rdfs:comment "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"@en ;
rdfs:subClassOf [
rdf:type owl:Restriction;
owl:onProperty spin:violationRoot ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] ;
.
rut:errorPropertyContext
a owl:ObjectProperty ;
rdfs:label "errorPropertyContext"@en ;
rdfs:comment "Property(ies) that also contributed to the offense (e.g. dbo:deathDate when spin:violationPath is dbo:birthDate)."@en ;
rdfs:domain rut:ExtendedTestCaseResult ;
rdfs:range rdf:Property .
rut:errorClassification
a owl:ObjectProperty ;
rdfs:subPropertyOf dcterms:subject ;
rdfs:label "errorClassification"@en ;
rdfs:comment "High-level classification of the error. Usually a skos:Concept"@en ;
rdfs:domain rut:ExtendedTestCaseResult .
rut:errorSource
a owl:ObjectProperty ;
rdfs:subPropertyOf dcterms:subject ;
rdfs:label "errorSource"@en ;
rdfs:comment "Source of the error, eg data parsing, data publishing, mapping, pre processing, post processing (if known beforehand). Usually a skos:Concept"@en ;
rdfs:domain rut:ExtendedTestCaseResult .
rut:errorType
a owl:ObjectProperty ;
rdfs:subPropertyOf dcterms:subject ;
rdfs:label "errorType"@en ;
rdfs:comment "More specific error type, eg missing property, redundant property, inaccurate property. Usually a skos:Concept"@en ;
rdfs:domain rut:ExtendedTestCaseResult .
#################################################################
# ResultAnnotation
#################################################################
rut:ResultAnnotation
a owl:Class ;
rdfs:label "ResultAnnotation"@en ;
rdfs:comment "Used by a TestCase, TestAutoGenerator or Pattern to add properties to an ExtendedTestCaseResult."@en.
rut:annotationProperty
a owl:ObjectProperty ;
rdfs:label "annotationProperty"@en ;
rdfs:comment "Property to add to ExtendedTestCaseResult, eg spin:violationPath, spin:violationValue, rut:errorPropertyContext"@en ;
rdfs:domain rut:ResultAnnotation;
rdfs:range rdf:Property .
rut:annotationValue
a rdf:Property ;
rdfs:label "annotationValue"@en ;
rdfs:comment "Value to add to ExtendedTestCaseResult. Either constant (eg rlog:WARN) or a string designating the query '?variable' or pattern '%%parameter%%' to use"@en ;
rdfs:domain rut:ResultAnnotation .
rut:resultAnnotation
a owl:ObjectProperty ;
rdfs:label "resultAnnotation"@en ;
rdfs:comment "ResultAnnotation to apply to all results produced by a TestCase, TestAutoGenerator, or Pattern"@en ;
rdfs:range rut:ResultAnnotation .
#################################################################
# Named Individuals
#################################################################
# ParameterConstraint Instances
rut:None
a rut:ParameterConstraint ,
owl:NamedIndividual ;
rdfs:label "None"@en ;
rdfs:comment "The parameter can be anything, even a free variable (?var)"@en .
rut:Operator
a rut:ParameterConstraint ,
owl:NamedIndividual ;
rdfs:label "Operator"@en ;
rdfs:comment "The parameter can be an operator."@en .
rut:Resource
a rut:ParameterConstraint ,
owl:NamedIndividual ;
rdfs:label "Resource"@en ;
rdfs:comment "The pattern can be a resource."@en .
rut:Property
a rut:ParameterConstraint ,
owl:NamedIndividual ;
rdfs:label "Property"@en ;
rdfs:comment "The parameter is restricted to a property."@en .
rut:Class
a rut:ParameterConstraint ,
owl:NamedIndividual ;
rdfs:label "Class"@en ;
rdfs:comment "The parameter is restricted to a Class."@en .
## TestAppliesTo Instances
rut:Schema
a rut:TestAppliesTo ,
owl:NamedIndividual ;
rdfs:label "Schema"@en ;
rdfs:comment "Schema: When the tests apply to an ontology / vocabulary"@en .
rut:Dataset
a rut:TestAppliesTo ,
owl:NamedIndividual ;
rdfs:label "Dataset"@en ;
rdfs:comment "Dataset: When the tests apply to a dataset only (i.e. a SPARQL Endpoint)"@en .
rut:EnrichedSchema
a rut:TestAppliesTo ,
owl:NamedIndividual ;
rdfs:label "EnrichedSchema"@en ;
rdfs:comment "EnrichedSchema: When the tests apply to an ontology / vocabulary enriched with external (semi-)automatic approaches"@en .
rut:Application
a rut:TestAppliesTo ,
owl:NamedIndividual ;
rdfs:label "Application"@en ;
rdfs:comment "Application: When the tests are specific to an application only"@en .
## TestGenerationType Instances
rut:ManuallyGenerated
a rut:TestGenerationType ,
owl:NamedIndividual ;
rdfs:label "ManuallyGenerated"@en ;
rdfs:comment "ManuallyGenerated: This test was created manually"@en .
rut:AutoGenerated
a rut:TestGenerationType ,
owl:NamedIndividual ;
rdfs:label "AutoGenerated"@en ;
rdfs:comment "AutoGenerated: This test was created automatically"@en .
## ResultStatus Individuals
rut:ResultStatusSuccess
a rut:ResultStatus ,
owl:NamedIndividual ;
rdfs:label "ResultStatusSuccess"@en ;
rdfs:comment "ResultStatusSuccess: the test succeeded"@en .
rut:ResultStatusFail
a rut:ResultStatus ,
owl:NamedIndividual ;
rdfs:label "ResultStatusFail"@en ;
rdfs:comment "ResultStatusFail: the test failed. rut:testCaseLogLevel further specifies the rlog:Level"@en .
rut:ResultStatusTimeout
a rut:ResultStatus ,
owl:NamedIndividual ;
rdfs:label "ResultStatusTimeout"@en ;
rdfs:comment "ResultStatusTimeout: the test timed out"@en .
rut:ResultStatusError
a rut:ResultStatus ,
owl:NamedIndividual ;
rdfs:label "ResultStatusError"@en ;
rdfs:comment "ResultStatusError: the test raised an error (eg HTTP error code)"@en .