Data Quality Monitoring Reports - SemWebQuality.org

Data Quality Monitoring Reports

From SemWebQuality.org
(Difference between revisions)
Jump to: navigation, search
(SPARQL-Problem-Reports)
(SPARQL-Problem-Reports)
Line 12: Line 12:
 
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 [[Create Data Requirements#Define Tested Elements]] 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.
 
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 [[Create Data Requirements#Define Tested Elements]] 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)===
+
===Example 1.1: Property Completeness Violations (OWL DL Design)===
 
<syntaxhighlight lang="sparql">
 
<syntaxhighlight lang="sparql">
 
SELECT ?dqr ?i
 
SELECT ?dqr ?i
Line 38: Line 38:
 
[[Create Data Requirements#Example 1: PropertyCompletenessRule (Minimal Input)|Click here to learn how to define a data requirement for this report]]
 
[[Create Data Requirements#Example 1: PropertyCompletenessRule (Minimal Input)|Click here to learn how to define a data requirement for this report]]
  
===Example 2: Property Completeness Violations (OWL Full Design)===
+
===Example ´1.2: Property Completeness Violations (OWL Full Design)===
 
<syntaxhighlight lang="sparql">
 
<syntaxhighlight lang="sparql">
 
SELECT ?dqr ?i
 
SELECT ?dqr ?i
Line 60: Line 60:
 
[[Create Data Requirements#Example 1: PropertyCompletenessRule (Minimal Input)|Click here to learn how to define a data requirement for this report]]
 
[[Create Data Requirements#Example 1: PropertyCompletenessRule (Minimal Input)|Click here to learn how to define a data requirement for this report]]
  
===Example 3: Syntax Rule Violations (OWL DL Design)===
+
===Example 2: Conditional Property Completeness Violations (OWL DL Design)===
<syntaxhighlight lang="sparql">
+
SELECT ?dqr ?i
+
WHERE {
+
    ?dqr a dqm:SyntaxRule .
+
    ?dqr dqm:testedProperty1 ?tprop .
+
    ?dqr dqm:testedClass ?tclass .
+
    ?dqr dqm:regex ?regex .
+
    ?tclass dqm:hasURI ?tclassreal .
+
    ?tprop dqm:hasURI ?tpropreal .
+
    BIND (IRI(str(?tpropreal)) AS ?tpropURI) .
+
    BIND (IRI(str(?tclassreal)) AS ?tclassURI) .
+
    ?i a ?tclassURI .
+
    ?i ?tpropURI ?value .
+
    FILTER (!regex(str(?value), ?regex)) .
+
}
+
</syntaxhighlight>
+
[[Create Data Requirements#Example 3: Syntax Rule (OWL DL)|Click here to learn how to define a data requirement for this report]]
+
 
+
===Example 4: Conditional Property Completeness Violations (OWL DL Design)===
+
 
<syntaxhighlight lang="sparql">
 
<syntaxhighlight lang="sparql">
 
SELECT ?dqr ?i ?condvalue
 
SELECT ?dqr ?i ?condvalue
Line 113: Line 94:
  
 
[[Click here to learn how to define a data requirement for this report]]
 
[[Click here to learn how to define a data requirement for this report]]
 +
 +
===Example 3: Syntax Rule Violations (OWL DL Design)===
 +
<syntaxhighlight lang="sparql">
 +
SELECT ?dqr ?i
 +
WHERE {
 +
    ?dqr a dqm:SyntaxRule .
 +
    ?dqr dqm:testedProperty1 ?tprop .
 +
    ?dqr dqm:testedClass ?tclass .
 +
    ?dqr dqm:regex ?regex .
 +
    ?tclass dqm:hasURI ?tclassreal .
 +
    ?tprop dqm:hasURI ?tpropreal .
 +
    BIND (IRI(str(?tpropreal)) AS ?tpropURI) .
 +
    BIND (IRI(str(?tclassreal)) AS ?tclassURI) .
 +
    ?i a ?tclassURI .
 +
    ?i ?tpropURI ?value .
 +
    FILTER (!regex(str(?value), ?regex)) .
 +
}
 +
</syntaxhighlight>
 +
[[Create Data Requirements#Example 3: Syntax Rule (OWL DL)|Click here to learn how to define a data requirement for this report]]

Revision as of 15:34, 11 October 2011

Problem reports are an excellent instrument to quickly identify instances with requirement violations.

Contents

Prerequisites

With the DQM-Vocabulary you can easily create problem reports. All you need is a SPARQL-Endpoint. Before you can automatically analyze your data for requirement violations, you need to perform the following steps:

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 Create Data Requirements#Define Tested Elements 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.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 "" .
    }
}

Click here to learn how to define a data requirement for this report

Example ´1.2: Property Completeness Violations (OWL Full 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 .
    {    
        ?i a ?tclass .
        NOT EXISTS{
           ?i ?tprop ?value .
        }
    }UNION{
        ?i a ?tclass .
        ?i ?tprop "" .
    }
}

Click here to learn how to define a data requirement for this report

Example 2: Conditional Property Completeness Violations (OWL DL Design)

SELECT ?dqr ?i ?condvalue
WHERE {
    ?dqr a dqm:ConditionalPropertyCompletenessRule .
    ?dqr dqm:testedClass ?tclass . 
    ?dqr dqm:testedProperty1 ?tprop .
    ?dqr dqm:requiredProperty "true"^^xsd:boolean .
    ?dqr dqm:requiredValue "true"^^xsd:boolean .
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    ?dqr dqm:hasCondition ?cond1 .
    ?cond1 dqm:conditionalProperty ?cprop .
    ?cprop dqm:hasURI ?cpropreal .
    ?cond1 dqm:equals ?condvalue .
    BIND (IRI(str(?tclassreal)) AS ?tclassURI) .
    BIND (IRI(str(?tpropreal)) AS ?tpropURI) .
    BIND (IRI(str(?cpropreal)) AS ?cpropURI) .
    {
       ?i a ?tclassURI .
       ?i ?cpropURI ?value 
       NOT EXISTS{
          ?i ?tpropURI ?value1 .
      }
    }UNION{ 
       ?i a ?tclassURI .
       ?i ?cpropURI ?value .
       ?i ?tpropURI "" .
    }
    FILTER (str(?value) = str(?condvalue)) .
}

Click here to learn how to define a data requirement for this report

Example 3: Syntax Rule Violations (OWL DL Design)

SELECT ?dqr ?i
WHERE {
    ?dqr a dqm:SyntaxRule .
    ?dqr dqm:testedProperty1 ?tprop .
    ?dqr dqm:testedClass ?tclass . 
    ?dqr dqm:regex ?regex .
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (IRI(str(?tpropreal)) AS ?tpropURI) .
    BIND (IRI(str(?tclassreal)) AS ?tclassURI) .
    ?i a ?tclassURI .
    ?i ?tpropURI ?value .
    FILTER (!regex(str(?value), ?regex)) .
}

Click here to learn how to define a data requirement for this report

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox