- From: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
- Date: Thu, 24 Jul 2014 14:32:36 +0300
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: "public-rdf-sha." <public-rdf-shapes@w3.org>
- Message-ID: <CA+u4+a3HxiYRE_gmuTA=Be8QN=k0FOdRYg+ZWoN2eQiq96_Vag@mail.gmail.com>
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