Data Quality Monitoring Reports (DEPRECATED) - SemWebQuality.org

Data Quality Monitoring Reports (DEPRECATED)

From SemWebQuality.org
(Difference between revisions)
Jump to: navigation, search
(Conditional Value Rule)
(Conditional Property Rule)
Line 27: Line 27:
 
=== Conditional Property Rule ===
 
=== Conditional Property Rule ===
  
<syntaxhighlight lang="sql">
+
<syntaxhighlight lang="sparql">
 
SELECT ?dqr ?i ?condvalue
 
SELECT ?dqr ?i ?condvalue
 
WHERE {
 
WHERE {

Revision as of 13:17, 27 August 2011

Contents

Completeness Reports

Conditional Value Rule

SELECT ?i ?condvalue
WHERE {
    ?dqr a dqm:ConditionalValueRule .
    ?dqr dqm:testedProperty ?tprop .
    ?dqr dqm:testedClass ?tclass . 
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?i a ?tclassURI .
    ?dqr dqm:hasCondition ?cond1 .
    ?cond1 dqm:conditionalProperty ?cprop .
    ?cprop dqm:hasURI ?cpropreal .
    ?cond1 dqm:equals ?condvalue .
    BIND (smf:buildURI(?cpropreal) AS ?cpropURI) .
    ?i ?cpropURI ?value .
    FILTER (str(?value) = str(?condvalue)) .
    ?i ?tpropURI "" .
 
 }

Conditional Property Rule

SELECT ?dqr ?i ?condvalue
WHERE {
    ?dqr a dqm:ConditionalPropertyRule .
    ?dqr dqm:testedProperty ?tprop .
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?i a ?tclassURI .
    ?dqr dqm:hasCondition ?cond1 .
    ?cond1 dqm:conditionalProperty ?cprop .
    ?cprop dqm:hasURI ?cpropreal .
    ?cond1 dqm:equals ?condvalue .
    BIND (smf:buildURI(?cpropreal) AS ?cpropURI) .
    ?i ?cpropURI ?value .
    FILTER (str(?value) = str(?condvalue)) .
    NOT EXISTS {
        ?i ?tpropURI ?mandatoryvalue .
    } .
}

Missing Value Rule

SELECT ?i
WHERE {
    ?dqr a dqm:MissingValueRule .
    ?dqr dqm:testedProperty ?tprop .
	?dqr dqm:testedClass ?tclass .
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?i a ?tclassURI .
    ?i ?tpropURI "" .
}

Missing Property Rule

SELECT ?i
WHERE {
    ?dqr a dqm:MissingPropertyRule .
    ?dqr dqm:testedProperty ?tprop .
	?dqr dqm:testedClass ?tclass .
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?i a ?tclassURI .
NOT EXISTS{
    ?i ?tpropURI ?VALUE .
}
}

Syntactical Accuracy Reports

Legal Value Rule

SELECT ?i ?dqr
WHERE {
    ?dqr a dqm:LegalValueRule .
    ?dqr dqm:testedProperty ?tprop .
    ?dqr dqm:testedClass ?tclass . 
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?dqr dqm:referenceClass ?rclass .
    ?dqr dqm:referenceProperty ?rprop .
    ?rclass dqm:hasURI ?rclassvalue .
    ?rprop dqm:hasURI ?rpropvalue .
    BIND (smf:buildURI(?rpropvalue) AS ?rpropURI) .
    BIND (smf:buildURI(?rclassvalue) AS ?rclassURI) .
    ?i a ?tclassURI .
    ?i ?tpropURI ?VALUE .
    OPTIONAL {
        ?s2 a ?rclassURI .
        ?s2 ?rpropURI ?value1 .
        FILTER (str(?value1) = str(?VALUE)) .
    } .
    FILTER (!bound(?value1)) .
}

Legal Value Range Rule

SELECT ?dqr ?i
WHERE {
    ?dqr a dqm:LegalValueRangeRule .
    ?dqr dqm:testedProperty ?tprop .
    ?dqr dqm:testedClass ?tclass . 
    OPTIONAL{
      ?dqr dqm:upperLimit ?upperLimit .
    }
    OPTIONAL{
      ?dqr dqm:lowerLimit ?lowerLimit .
    }
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?i a ?tclassURI .
    ?i ?tpropURI ?VALUE .
    FILTER (smf:CAST(?VALUE, xsd:FLOAT) > ?upperLimit || smf:CAST(?VALUE, xsd:FLOAT) < ?lowerLimit) .
}

Syntax Rule

SELECT ?dqr ?regex ?i
WHERE {
    ?dqr a dqm:SyntaxRule .
    ?dqr dqm:testedProperty ?tprop .
    ?dqr dqm:testedClass ?tclass . 
    ?dqr dqm:regex ?regex .
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    OPTIONAL{
      ?i a ?tclassURI .
      ?i ?tpropURI ?VALUE .
}
    FILTER (!regex(str(?VALUE), ?regex)) .
}

Conditional Syntax Rule

SELECT ?dqr ?regex ?i
WHERE {
    ?dqr a dqm:ConditionalSyntaxRule .
    ?dqr dqm:testedProperty ?tprop .
    ?dqr dqm:testedClass ?tclass . 
    ?dqr dqm:regex ?regex .
    ?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 (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    BIND (smf:buildURI(?cpropreal) AS ?cpropURI) .
    ?i a ?tclassURI .
    ?i ?cpropURI ?condvalueplain .
    ?i ?tpropURI ?VALUE .
    FILTER (str(?condvalue) = str(?condvalueplain) && !regex(str(?VALUE), ?regex)) .
}

Semantic Accuracy Reports

Functional Dependency Rule (2 AND Conditions)

SELECT ?dqr ?i ?dvaluereal ?VALUE
WHERE {
    ?dqr a dqm:FunctionalDependencyRule .
    ?dqr dqm:testedProperty ?tprop .
    ?dqr dqm:testedClass ?tclass . 
    ?tclass dqm:hasURI ?tclassreal .
    ?tprop dqm:hasURI ?tpropreal .
    ?dqr dqm:hasCondition ?cond1 .
    ?cond1 dqm:conditionalProperty ?cprop1 .
    ?cprop1 dqm:hasURI ?cpropreal1 .
    ?cond1 dqm:equals ?condvalue1 .
    ?cond1 dqm:AND ?cond2 .
    ?cond2 dqm:conditionalProperty ?cprop2 .
    ?cprop2 dqm:hasURI ?cpropreal2 .
    ?cond2 dqm:equals ?condvalue2 .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    BIND (smf:buildURI(?cpropreal1) AS ?cpropURI1) .
    BIND (smf:buildURI(?cpropreal2) AS ?cpropURI2) .
    ?i a ?tclassURI .
    ?i ?cpropURI1 ?condvalue1 .
    ?i ?cpropURI2 ?condvalue2 .
    ?dqr dqm:hasDependentValue ?dvalue .
    ?dvalue dqm:equals ?dvaluereal .
    ?i ?tpropURI ?VALUE .
    FILTER (str(?dvaluereal) != str(?VALUE)) .
}

Uniqueness Reports

Duplicate Instance Rule

SELECT ?dqr ?i
WHERE {
    ?dqr a dqm:DuplicateInstanceRule .
    ?dqr dqm:testedClass ?tclass . 
    ?dqr dqm:testedProperty ?tprop .
    ?tclass dqm:hasURI ?tclassreal .    
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?i a ?tclassURI .
    ?i ?tpropURI ?VALUE .
    ?i2 ?tpropURI ?value2 .
    FILTER(?i!=?i2 && str(?VALUE) = str(?value2))
}
GROUP BY ?dqr ?i

Timeliness Reports

Expiry Rule

SELECT ?dqr ?i ?expiry ?today
WHERE {
    ?dqr a dqm:ExpiryRule .
    ?dqr dqm:testedClass ?tclass . 
    ?dqr dqm:testedProperty ?tprop .
    ?tclass dqm:hasURI ?tclassreal .    
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    LET(?today:=afn:now()) .
    ?i a ?tclassURI .
    ?i ?tpropURI ?expiry .
    FILTER(?expiry<?today)
}

Update Rule

SELECT ?dqr ?i ?TIMESTAMP
WHERE {
    ?dqr a dqm:UpdateRule .
    ?dqr dqm:testedClass ?tclass . 
    ?dqr dqm:testedProperty ?tprop .
    ?dqr dqm:expectedUpdateInterval ?duration .
    ?tclass dqm:hasURI ?tclassreal .    
    ?tprop dqm:hasURI ?tpropreal .
    BIND (smf:buildURI(?tpropreal) AS ?tpropURI) .
    BIND (smf:buildURI(?tclassreal) AS ?tclassURI) .
    ?i a ?tclassURI .
    ?i ?tpropURI ?TIMESTAMP .
    LET(?expectedUpdate:=dqf:requiredTimestamp(?duration))
    FILTER(?expectedUpdate>?TIMESTAMP)
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox