Data Quality Monitoring Reports (DEPRECATED)
From SemWebQuality.org
(Difference between revisions)
Line 1: | Line 1: | ||
+ | <syntaxhighlight lang="sparql"> | ||
+ | PREFIX owl: <http://www.w3.org/2002/07/owl#> | ||
+ | PREFIX gr: <http://purl.org/goodrelations/v1#> | ||
+ | PREFIX ceo: <http://www.ebusiness-unibw.org/ontologies/consumerelectronics/v1#> | ||
+ | PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> | ||
+ | |||
+ | SELECT ?label ?weight ?ean WHERE | ||
+ | {?m a ceo:Camcorder. | ||
+ | ?m rdfs:label ?label. | ||
+ | ?m ceo:hasWeight ?v. | ||
+ | ?v gr:hasValueFloat ?weight. | ||
+ | ?v gr:hasUnitOfMeasurement "GRM"^^xsd:string. | ||
+ | OPTIONAL {?m gr:hasEAN_UCC-13 ?ean} | ||
+ | } | ||
+ | ORDER BY ?weight | ||
+ | LIMIT 10 | ||
+ | </syntaxhighlight> | ||
+ | |||
== Completeness Reports == | == Completeness Reports == | ||
=== Conditional Value Rule === | === Conditional Value Rule === |
Revision as of 14:56, 28 August 2011
PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX gr: <http://purl.org/goodrelations/v1#> PREFIX ceo: <http://www.ebusiness-unibw.org/ontologies/consumerelectronics/v1#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label ?weight ?ean WHERE {?m a ceo:Camcorder. ?m rdfs:label ?label. ?m ceo:hasWeight ?v. ?v gr:hasValueFloat ?weight. ?v gr:hasUnitOfMeasurement "GRM"^^xsd:string. OPTIONAL {?m gr:hasEAN_UCC-13 ?ean} } ORDER BY ?weight LIMIT 10
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) }