Data Quality Monitoring Reports
Problem reports are an excellent instrument to quickly identify instances with requirement violations.
Prerequisites
With the DQM-Vocabulary you can easily create reports that show you the instances that violate your previously specified data requirements. All you need is a SPARQL-Endpoint. Before you can automatically analyze your data for requirement violations, you need to perform the following steps:
- Declare the elements of your ontology that shall be used in the DQM-Vocabulary
- Create Data Requirements
SPARQL-Problem-Reports
Each type of data requirement has different problem reports, since the nature of data requirements differs. Moreover, the actual SPARQL query you can use depends on the design option you have chosen to make your ontology elements an instance of dqm:TestedClass and dqm:TestedProperty (See [[]] for an explanation). In the following you find several SPARQL queries that make use of your data requirements to identify class instances with requirement violations.
Example 1: Property Completeness Violations (OWL DL Design)
SELECT ?dqr ?i WHERE { ?dqr a dqm:PropertyCompletenessRule . ?dqr dqm:testedClass ?tclass . ?dqr dqm:testedProperty1 ?tprop . ?dqr dqm:requiredValue "true"^^xsd:boolean . ?dqr dqm:requiredProperty "true"^^xsd:boolean . ?tclass dqm:hasURI ?tclassreal . ?tprop dqm:hasURI ?tpropreal . BIND (IRI(str(?tpropreal)) AS ?tpropURI) . BIND (IRI(str(?tclassreal)) AS ?tclassURI) . { ?i a ?tclassURI . NOT EXISTS{ ?i ?tpropURI ?value . } }UNION{ ?i a ?tclassURI . ?i ?tpropURI "" . } }