Re: Validation and documentation using SPIN templates examples and an extension for heuristics/expectations

On Thu, Jul 24, 2014 at 1:05 PM, Holger Knublauch <holger@topquadrant.com>
wrote:

>
> On 7/24/14, 7:36 PM, Dimitris Kontokostas wrote:
>
> Another related use case is that if a constraint violation happens, the
> system could *suggest* a fix. In SPIN we do this by creating INSERT/DELETE
> template calls as part of a constructed spin:ConstraintViolation. This can
> be exposed by user interfaces via a button "Fix me".
>
>  I think this should be out of the scope of the validation language but
> the language should support such hooks with generic annotations [1] that
> other tools can interpret
> [1]
> http://lists.w3.org/Archives/Public/public-rdf-shapes/2014Jul/0208.html
>
>
> Yeah, suggesting fixes is really a nice-to-have, and this feature has not
> been used much so far in our experience. Fortunately we are in RDF where
> anybody can add extra triples to an existing object, e.g. add "annotations"
> to a constructed spin:ConstraintViolation object. That's one reason why we
> went with constraint definitions based on CONSTRUCT.
>

I see CONSTRUCT as an implementation detail here
I hacked around with RDFUnit a bit and I now report spin:violationPath
though annotations and select statements (it was in my todos for some time
now)

here's an excerpt
<246bde4d-2a9c-11b2-80ce-56847afe9799>
        a                    rlog:Entry , rut:RLOGTestCaseResult ,
rut:ExtendedTestCaseResult , spin:ConstraintViolation , rut:TestCaseResult ;
        rlog:level           rlog:WARN ;
        rlog:message         "http://xmlns.com/foaf/0.1/depiction does not
have defined rdfs:range: http://xmlns.com/foaf/0.1/Image" ;
        rlog:resource        <
http://upload.wikimedia.org/wikipedia/commons/0/00/DontStopTheCarnival.jpg>
;
        dcterms:date         "2014-07-24T11:18:18.77Z"^^xsd:dateTime ;
        rut:testCase
rutt:foaf-RDFSRANGE-MISS-aa9e3f6a646bf9eb6ece65a99ed30af6 ;
        spin:violationPath   <http://xmlns.com/foaf/0.1/depiction> ;
        spin:violationRoot   <
http://upload.wikimedia.org/wikipedia/commons/0/00/DontStopTheCarnival.jpg>
;
        prov:wasGeneratedBy  <243faae0-2a9c-11b2-80ce-56847afe9799> .

<243faae0-2a9c-11b2-80ce-56847afe9799>
        a                          prov:Activity , rut:TestExecution ;
        rut:source                 <http://live.dbpedia.org> ;
        rut:testsError             "0"^^xsd:nonNegativeInteger ;
        rut:testsFailed            "12"^^xsd:nonNegativeInteger ;
        rut:testsRun               "108"^^xsd:nonNegativeInteger ;
        rut:testsSuceedded         "96"^^xsd:nonNegativeInteger ;
        rut:testsTimeout           "0"^^xsd:nonNegativeInteger ;
        rut:totalIndividualErrors  "5605"^^xsd:nonNegativeInteger ;
        prov:endedAtTime           "2014-07-24T11:19:28.535Z"^^xsd:dateTime
;
        prov:startedAtTime         "2014-07-24T11:13:04.176Z"^^xsd:dateTime
;
        prov:used                  <2475cc5c-2a9c-11b2-80ce-56847afe9799> .



>
>
> Holger
>
>


-- 
Dimitris Kontokostas
Department of Computer Science, University of Leipzig
Research Group: http://aksw.org
Homepage:http://aksw.org/DimitrisKontokostas

Received on Thursday, 24 July 2014 11:33:31 UTC