Fittnes for Use Framework
type: Ontology
comment: The classes and object properties found in this ontology are dedicated to fundamental and derived concepts from the Fitness For Use Framework described in the paper by Veiga et al available at: http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0178731

hasResponseResult
type: ObjectProperty
sub property of: reportProperties
comment: Used in the DQ Report concept to describe response result objects. For example, values could be bdq:RUN_HAS_RESULT or bdq:INTERNAL_PREREQUISITES_NOT_MET. If Response.results are not objects, use the datatype property hasResponseResultValue

hasResponseStatus
type: ObjectProperty
sub property of: reportProperties
comment: Used in the DQ Report concept to describe result status. For example, in the case of a Validation result, values could be bdq:COMPLIANT or bdq:NON_COMPLIANT.

amendmentProperties
type: ObjectProperty
comment: Sub properties of this type group object properties that apply to amendment concepts such as AmendmentPolicy (DQ Needs), AmendmentMethod (DQ Solutions) and Amendment (DQ Reports).

composedOf
type: ObjectProperty
range: Restriction
  on property: hasSpecification
  some values from: Information Element
comment: Describes the properties from a controlled vocabulary that compose an InformationElement. For example, an InformationElement may be "composedOf" properties such as dwc:day, dwc:month and dwc:year.

coversUseCase
type: ObjectProperty
domain: Restriction
  on property: hasInformationElement
  some values from: UseCase
comment: Used by concepts in the DQ Needs category to describe the relationship between DQ Policies (ValidationPolicy, AmendmentPolicy, MeasurementPolicy) and an instance of the use case covered by that policy.

criterionInContext
type: ObjectProperty
sub property of: validationProperties
domain: Restriction
  on property: criterionInContext
  some values from: ContextualizedCriterion
range: Restriction
  on property: criterionInContext
  some values from: ValidationMethod
range: Restriction
  on property: criterionInContext
  some values from: ValidationPolicy
comment: Describes the relationship between a validation concept in FFDQ (needs, solutions, reports) and a contextualizedCriterion.

dimensionInContext
type: ObjectProperty
sub property of: measurementProperties
domain: Restriction
  on property: dimensionInContext
  some values from: ContextualizedDimension
range: Restriction
  on property: dimensionInContext
  some values from: MeasurementMethod
range: Restriction
  on property: dimensionInContext
  some values from: MeasurementPolicy
comment: Describes the relationship between an Amendment concept in FFDQ (needs, solutions, reports) and a ContextualizedDimension.

enhancementInContext
type: ObjectProperty
sub property of: amendmentProperties
domain: Restriction
  on property: enhancementInContext
  some values from: ContextualizedEnhancement
range: Restriction
  on property: enhancementInContext
  some values from: AmendmentMethod
range: Restriction
  on property: enhancementInContext
  some values from: AmendmentPolicy
comment: Describes the relationship between an Amendment concept in FFDQ (needs, solutions, reports) and a ContextualizedEnhancement.

hasActedUponInformationElement
type: ObjectProperty
sub property of: hasInformationElement
comment: Provides a relationship between FFDQ concepts and the information elements that are ActedUpon in a test.

hasConsultedInformationElement
type: ObjectProperty
sub property of: hasInformationElement
comment: Provides a relationship between FFDQ concepts and the information elements that are Consulted, but not ActedUpon in a test.

hasCriterion
type: ObjectProperty
sub property of: validationProperties
domain: Restriction
  on property: hasCriterion
  some values from: Validation
range: Restriction
  on property: hasCriterion
  some values from: ContextualizedCriterion
comment: Used to link the derived concept of a ContextualizedCriterion to the fundamental concept of a Criterion.

hasDimension
type: ObjectProperty
sub property of: measurementProperties
domain: Restriction
  on property: hasDimension
  some values from: Data Quality Dimension
range: Restriction
  on property: hasDimension
  some values from: ContextualizedDimension
comment: Used to link the derived concept of a ContextualizedDimension to the fundamental concept of a Dimension.

hasEnhancement
type: ObjectProperty
sub property of: amendmentProperties
domain: Restriction
  on property: hasEnhancement
  some values from: Amendmenent
range: Restriction
  on property: hasEnhancement
  some values from: ContextualizedEnhancement
comment: Used to link the derived concept of a ContextualizedEnhancement to the fundamental concept of an Enhancement.

hasInformationElement
type: ObjectProperty
domain: Restriction
  on property: hasInformationElement
  some values from: Information Element
comment: Provides a relationship between FFDQ concepts and the information elements. For example, ContextualizedCriterion uses this property along with hasResourceType to define a criterion in the context of related information elements.

hasIssue
type: ObjectProperty
sub property of: problemProperties
domain: Restriction
  on property: hasIssue
  some values from: Issue
range: Restriction
  on property: hasIssue
  some values from: ContextualizedIssue
comment: Used to link the derived concept of a ContextualizedIssue to the fundamental concept of a Problem.

hasResourceType
type: ObjectProperty
comment: Provides additional metadata, along with the information elements, that describes the level (SingleRecord or MultiRecord) at which the FFDQ concept operates. For example, an enhancementInContext with resource type of MultiRecord could be used to define an Amendment that applies at the level of multiple record values.

hasSpecification
type: ObjectProperty
domain: Restriction
  on property: hasSpecification
  some values from: Specification
range: Restriction
  on property: hasSpecification
  some values from: Assertion
comment: Describes the relationship between a derived FFDQ concept and the fundamental concept of a specification (technical description of a test).

hasStatus
type: ObjectProperty
comment: Used in the DQ Report concept to describe result status. For example, in the case of a Validation result, values could be COMPLIANT or NON_COMPLIANT.

implementedBy
type: ObjectProperty
domain: Restriction
  on property: implementedBy
  some values from: Mechanism
range: Restriction
  on property: implementedBy
  some values from: Implementation
comment: Describes the link between the Implementation concept in FFDQ and the Mechanism that implements some specification (also defined in Implementation).

improvedBy
type: ObjectProperty
domain: Restriction
  on property: improvedBy
  some values from: ContextualizedEnhancement
range: Restriction
  on property: improvedBy
  some values from: ImprovementTarget
comment: Object property that describes an enhancement, as part of the ImprovementTarget, that would improve data acted upon by some set of measures or validations. This can be used to determine which measures and validations are improved upon by a given amendment.

issueInContext
type: ObjectProperty
sub property of: problemProperties
domain: Restriction
  on property: issueInContext
  some values from: ContextualizedIssue
range: Restriction
  on property: issueInContext
  some values from: ProblemMethod
range: Restriction
  on property: issueInContext
  some values from: ProblemPolicy
comment: Describes the relationship between a problem concept in FFDQ (needs, solutions, reports) and a ContextualizedIssue.

measurementProperties
type: ObjectProperty
comment: Sub properties of this type group object properties that apply to measurement concepts such as MeasurementPolicy (DQ Needs), MeasurementMethod (DQ Solutions) and Measure (DQ Reports).

problemProperties
type: ObjectProperty
comment: Sub properties of this type group object properties that apply to problem concepts such as ProblemPolicy (DQ Needs), ProblemMethod (DQ Solutions) and Issue (DQ Reports).

targetedCriterion
type: ObjectProperty
sub property of: topObjectProperty
domain: Restriction
  on property: targetedCriterion
  some values from: ContextualizedCriterion
range: Restriction
  on property: targetedCriterion
  some values from: ImprovementTarget
comment: The criteria targeted by some enhancement via the ImprovementTarget object.

targetedDimension
type: ObjectProperty
domain: Restriction
  on property: targetedDimension
  some values from: ContextualizedDimension
range: Restriction
  on property: targetedDimension
  some values from: ImprovementTarget
comment: The dimension targeted by some enhancement via the ImprovementTarget object.

targetedIssue
type: ObjectProperty
domain: Restriction
  on property: targetedIssue
  some values from: Issue
range: Restriction
  on property: targetedIssue
  some values from: ImprovementTarget
comment: The issue targeted by some problem via the ImprovementTarget object.

validationProperties
type: ObjectProperty
comment: Sub properties of this type group object properties that apply to validation concepts such as ValidationPolicy (DQ Needs), ValidationMethod (DQ Solutions) and Validation (DQ Reports).

ExpectedResponse
type: DatatypeProperty
comment: The description of the logic of a test specification. An expected response is expected to be a data property of a Specification

Parameters
type: DatatypeProperty
comment: Parameters that may be provided with the expected response along with their default values if they are not provided. Parameters are expected to be data properties of a Specification.

Acted Upon
type: Class
subclass of: Information Element
comment: An information element to which a Result applies.

Amendmenent
type: Class
subclass of: DataQualityNeed
comment: Describes a proposal for enhancement of original data, which if accepted, would improve the quality of the data for some use. For example, "Recommends valid value for taxon name in a single record". Amendments may describe proposed changes to data values, or to processes for the production and manipulation of data, for example an Amendment on a SingleRecord may provide criteria for proposing that latitude and longitude are transposed in that record, or a similar Amendment on a MultiRecord may provide critera for proposing that all latitudes and longitudes from some data source have been transposed, and the mapping of data values to transport terms should be changed. An Amendment is the data quality needs concept that paralells an AmendmentMethod at the solutions level, and an AmmendmentAssertion at the report level.

AmendmentAssertion
type: Class
subclass of: Assertion
comment: The Amendment assertion type is a report level concept that describes a run of a test that proposes changes based on some data quality enhancement. The Amendment concept in FFDQ consists of a run result that includes a status (FILLED_IN, TRANSPOSED, etc) as well as the proposed changes to values from the original data.

AmendmentMethod
type: Class
subclass of: DataQualityMethod
comment: The AmendmentMethod in FFDQ is a DQ Solutions level concept describing the relationship between a specification (technical description of a test) and an enhancement in the context of resource type (SingleRecord or MultiRecord) and associated information elements.

AmendmentPolicy
type: Class
subclass of: NeedConcept
comment: The AmendmentPolicy in FFDQ is a DQ Needs level concept that describes how some contextualizedEnhancement relates to a use case. This relationship defines which Amendments are supported by a given use case.

Assertion
type: Class
subclass of: ReportConcept
comment: The Assertion type in FFDQ is the fundamental concept that makes up a data quality report. Assertion can be any one of four types (represented as subClasses), Measure, Validation, Issue, and Amendement. The assertion concept consists of a specification (the technical description of a performed test), a data resource (initial values of input data expressed in terms of some controlled vocabulary), the mechanism (external service, actor, or code that performs the test), and some form of result.

Consulted
type: Class
subclass of: Information Element
comment: An Information Element the content of which is examined to assert a result on one or more other Information Elements

ContextualizedCriterion
type: Class
subclass of: NeedConcept
comment: Describes an instance of the criterion concept in terms of the associated information elements from some controlled vocabulary (fields actedUpon or consulted), and a resource type of SingleRecord or MultiRecord.

ContextualizedDimension
type: Class
subclass of: NeedConcept
comment: Describes an instance of the dimension concept in terms of the associated information elements from some controlled vocabulary (fields actedUpon or consulted), and a resource type of SingleRecord or MultiRecord.

ContextualizedEnhancement
type: Class
subclass of: NeedConcept
comment: Describes an instance of the enhancement concept in terms of the associated information elements from some controlled vocabulary (fields actedUpon or consulted), and a resource type of SingleRecord or MultiRecord.

ContextualizedIssue
type: Class
subclass of: NeedConcept
comment: Describes an instance of the issue concept in terms of the associated information elements from some controlled vocabulary (fields actedUpon or consulted), and a resource type of SingleRecord or MultiRecord.

Data Quality Dimension
type: Class
comment: Describes the aspect of data quality (accuracy, precision, completeness, etc.) that a test examines. For example, "precision" in "coordinate percision of single records". Includes Completeness (q.v.), Conformance (q.v.), Consistency (q.v.), Likeliness (q.v.), Reliability (q.v.), and Resolution (q.v.).

Data Quality Report
type: Class
subclass of: ReportConcept
comment: The FFDQ Report concept consists of a set of assertions (measures, validations and amendments) that represent the output of a workflow/actor run. These assertions form an account of the fitness for use of a tested data set for a specified use, as produced by a Mechanism.

DataResource
type: Class
subclass of: ReportConcept
comment: Describes a data resource described in terms of a controlled vocabulary such as dwc and represents the original values of the data operated on by an assertion test (i.e. an instance of dwc:Occurrence).

Implementation
type: Class
subclass of: SolutionsConcept
comment: The FFDQ derived concept of an Implementation describes the relationship between a specification (technical description of a test) and the mechanism that implements it.

ImprovementTarget
type: Class
subclass of: NeedConcept
comment: The ImprovementTarget concept in FFDQ describes which measures and validations are improved by some amendment. ImprovementTarget includes relationships between a contextualizedEnhancement (for an Amendment) and one or more contextualizedCriterion (link to validations) or contextualizedDimensions (link to measures).

Information Element
type: Class
comment: An information element identifies a portion of data to which a test pertains. The information element in FFDQ can be represented as a single or composite element that consists of one or more terms from a controlled vocabulary (fields actedUpon or consulted by an assertion test) that identifies concepts in data relevant to a use case. An abstraction or a concrete term that represents relevant content (e.g., coordinates; dwc.decimalLatitude, dwc:decimalLongitude).

Issue
type: Class
subclass of: DataQualityNeed
comment: Describes criteria by which data which lack quality for some purpose may be identified. An issue is phrased in a negative sense, and approximantes an inverse of a Validation. An Issue identifies data that lack or may lack quality. An Issue may flag a POSSIBLE_PROBLEM that would need further review to determine if the data have qulity for some purpose, If the conditions described by an issue are identified by a test, the Problem Assertion result will be either HAS_PROBLEM or POSSIBLE_PROBLEM, if no issue is found with the data the result will be NO_PROBLEM. NO_PROBLEM, unlike COMPLIANT for a Validation, does not assert that data are fit for some purpose. An Issue is the data quality needs concept that paralells a IssueMethod at the solutions level, and a IssieAssertion at the report level.

IssueAssertion
type: Class
subclass of: Assertion
comment: The DQ report concept describing a test for the negative case. If a problem was found the result has a status of HAS_PROBLEM otherwise the status is NO_PROBLEM.

Measure
type: Class
subclass of: DataQualityNeed
comment: Describes the criteria for measuring an aspect of data quality related to some data quality need. May be criteria for determining that data are COMPLETE or NOT_COMPLETE, or may be criteria for asserting a numeric measurement. COMPLETE or NOT_COMPLETE measures are fundamental to data quality control, as set of data are filtered to the subset of data have quality for some need if all records are COMPLETE for all pertenent Measures. A Measure is the data quality needs concept that paralells a MeasurementMethod at the solutions level, and a MeasurementAssertion at the report level.

MeasurementAssertion
type: Class
subclass of: Assertion
comment: The Measure assertion type is a report level concept that describes a run of a test that performs a measurement according to some data quality dimension. In FFDQ, the Measure concept consists of a run result of COMPLETE or NOT_COMPLETE or a value of the measurement (i.e. a measure of dwc:eventDate duration in seconds).

MeasurementMethod
type: Class
subclass of: DataQualityMethod
comment: The MeasurementMethod in FFDQ is a DQ Solutions level concept describing the relationship between a specification (technical description of a test) and a dimension in the context of resource type (SingleRecord or MultiRecord) and associated information elements.

MeasurementPolicy
type: Class
subclass of: NeedConcept
comment: The MeasurementPolicy in FFDQ is a DQ Needs level concept that describes how some contextualizedDimension relates to a use case. This relationship defines which measures are supported by a given use case.

Mechanism
type: Class
subclass of: SolutionsConcept
comment: The FFDQ concept of mechanism describes the entity that performs an assertion test (code, external service, actor, etc.). Tied to a specification via the concept of an Implementation.

ProblemMethod
type: Class
subclass of: DataQualityMethod
comment: The ProblemMethod in FFDQ is a DQ Solutions level concept describing the relationship between a specification (technical description of a test) and an issue in the context of resource type (SingleRecord or MultiRecord) and associated information elements.

ProblemPolicy
type: Class
subclass of: NeedConcept
comment: The ProblemPolicy in FFDQ is a DQ Needs level concept that describes how some contextualizedIssue relates to a use case. This relationship defines which problems are supported by a given use case.

Profile
type: Class
subclass of: NeedConcept
comment: Profile in FFDQ is a DQ Needs level concept describing the UseCases that make up some data quality operation such as the behavior of a single actor or workflow producing the relevant assertions.

ResourceType
type: Class
comment: In FFDQ the concept of ResourceType has instances for SingleRecord or MultiRecord

Result
type: Class
subclass of: ReportConcept
comment: The report result concept in FFDQ is represented as a value or a status for measures, just a result status for validations and a result status as well as values for changes propsed by amendments.

ResultStatus
type: Class
subclass of: ReportConcept
comment: Depending on the assertion type would have values of COMPLIANT or NON_COMPLIANT for a Validation, COMPLETE or NOT_COMPLETE for a Measure, CURATED, FILLED_IN,TRANSPOSED, NO_CHANGE for an Amendment and HAS_PROBLEM NO_PROBLEM for a Problem. A separate concept describes the result state as values of AMBIGIOUS, INTERNAL_PREREQUISITES_NOT_MET and EXTERNAL_PREREQUISITES_NOT_MET.

Specification
type: Class
subclass of: NeedConcept
comment: A specification is a technical desription of an assertion test.

UseCase
type: Class
subclass of: NeedConcept
comment: The UseCase concept in FFDQ describes some data quality control use case. The Amendment, Measurement and Validation policies that make up a use case define which assertions cover a given use case. An example of a UseCase could be "Check for internal consistency of dates", with validation policies for checking consistency between atomic date fields and an Amendment such as "eventDate filled in from verbatim".

Validation
type: Class
subclass of: DataQualityNeed
comment: Describes the criteria for determining compliance of data to fill some data quality need. Validations are phrased in a positive sense, they identify data which has quality for some need. For example, "The value of basisOfRecord of single records must be in the controlled vocabulary". A Validation is the data quality needs concept that paralells a ValidationMethod at the solutions level, and a ValidationAssertion at the report level. ValidationAssertions may specify a result that is COMPLIANT, where the data has quality, or NOT_COMPLIANT, where the data lacks quality.

ValidationAssertion
type: Class
subclass of: Assertion
comment: The Validation assertion type is a report level concept that describes a run of a test for validity. The Validation concept in FFDQ consists of a run result of COMPLIANT or NON_COMPLIANT and a criterion that describes the conditions for validity that result in a status of COMPLIANT.

ValidationMethod
type: Class
subclass of: DataQualityMethod
comment: The ValidationMethod in FFDQ is a DQ Solutions level concept describing the relationship between a specification (technical description of a test) and a criterion in the context of resource type (SingleRecord or MultiRecord) and associated information elements.

ValidationPolicy
type: Class
subclass of: NeedConcept
comment: The ValidationPolicy in FFDQ is a DQ Needs level concept that describes how some contextualizedCriterion relates to a use case. This relationship defines which validations are supported by a given use case.

Multi Record
type: NamedIndividual
type: ResourceType

Single Record
type: NamedIndividual
type: ResourceType
comment: A record from a dataset without dependencies on any other record.