Hi Antoine, Riccardo, all
I hope this email finds you well. Dimitris (cc’ed) created a tool that translates quality results from RDFUnit and SHACL to the DQV (@Dimitris: please correct me if I am wrong). Apart quality values, RDFUnit produces quality reports that describes the assessment “activity” of a metric. Such provenance reports are an asset that should be attached to quality observations. One problem in DQV is that dqv:Observation is only a subclass of qb:Observation, therefore in theory we cannot do something like this:
ex:testExecutionIRI a rut:TestExecution, prov:Activity;
# some other triples ...
rut:totalTriples “10”^^xsd:Integer.
<dataset IRI> dqv:hasQualityMeasure ex:qm1.
ex:qm1 prov:wasGeneratedBy ex:testExecutionIRI ;
dqv:computedOn <dataset IRI>;
dqv:hasMetric rdqv:CardinalityMetric
dqv:value "0.1"^^xsd:double .
On the other hand, this can be done in daQ - daq:Observation is a subclass of both qb:Observation and prov:Entity. Dimitris and I were discussing the potential of such quality reports today, and we concluded that these reports would give a better understanding of the dqv:value, which I humbly say that in Luzzu (for example) we miss out. As it stands out, a consumer would know that the value of metric X is 10% (in this case), but with this additional provenance metadata a consumer would know exactly what 10% means. Therefore, my suggestion is - lets make dqv:Observation a subclass of pro:Entity (as it is in daQ).
On a similar note, I think that we should also add a section of tools that are implementing the DQV vocabulary, and I think we should add the tool Dimitris developed for RDFUnit [1]. I think Dimitris can also provide some examples of how to convert SHACL data to DQV.
Let us know what you think.
[1] https://github.com/AKSW/RDFUnit/tree/master/rdfunit-w3c-dqv
Cheers,
Jer