- From: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
- Date: Thu, 19 Jun 2014 21:39:32 +0300
- To: Jose Emilio Labra Gayo <jelabra@gmail.com>
- Cc: "public-rdf-sha." <public-rdf-shapes@w3.org>
- Message-ID: <CA+u4+a0sOf59xOCNs74V6BbDf5ktWFksxA2qd5niU0L-DHdyQA@mail.gmail.com>
Hi Jose Labra, On Thu, Jun 19, 2014 at 6:47 PM, Jose Emilio Labra Gayo <jelabra@gmail.com> wrote: > On Wed, Jun 18, 2014 at 2:50 PM, Dimitris Kontokostas < > kontokostas@informatik.uni-leipzig.de> wrote: > >> Hi all, >> >> As discussed off the list I am planning to add implement Shapes through >> the RDFUnit suite[1]. >> > > That would be a very interesting use case. > > >> In our research we noticed that not all errors are of equal importance >> and we decided to provide different levels of error severity reporting. >> >> For instance, having an incorrect rdfs:domain yields "error", having a >> missing rdfs:range yields a "warning" (since it might be defined >> elsewhere), using an owl:deprecated property also yields a "warning" and in >> some specific vocabularies, not defining the reverse symmetric properties >> as an "info". >> (we use the common programming logging variables through the rlog >> vocabulary) >> >> The general idea is to have the actual errors and the nice-to-validate >> data. Depending on how nice it is to validate something we mark it in a >> different (logging) level. >> >> I searched through the specs and didn't find anything related in Shapes. >> I am new to the spec so maybe I missed it. If not, do you plan to add >> support for this? >> > > At this moment, ShEx does not have the notion of different levels of > validation. I mean, the current implementations take a strict "yes/no" > approach to validation. > Thanks for the info. Do you have this in your agenda for the near future? > > However, ShEx can also be seen as a type interence systen where the types > inferred are the different shapes. With this view in mind, it would be > possible to model the different error levels as different shapes and the > validator could infer which shapes correspond. > > As an example, I tried to implement a small part of your example using the > following definitions: > > :WarningIntProperty { a ( :IntProperty ), !(rdfs:range .) } > > :ErrorIntProperty { a ( :IntProperty ) , rdfs:range (- xsd:integer) } > > :GoodIntProperty { a ( :IntProperty ) , rdfs:range (xsd:integer) } > > which declare that an IntProperty can be Good if it has "rdfs:range" with > value "xsd:integer", Warning if it does not have rdfs:range, and Error if > it has an rdfs:range which is not xsd:integer. > > In the previous definitions I am using "!" to express negations of arcs, > and "-" to express exclussions of values. I think those 2 extenssions are > only supported by ShExcala so they could be considered non-standard... > > You can play with the example here: http://goo.gl/VvuLBY > Nice workaround :) Best, Dimitris > Best regards, Jose Labra > -- Dimitris Kontokostas Department of Computer Science, University of Leipzig Research Group: http://aksw.org Homepage:http://aksw.org/DimitrisKontokostas
Received on Thursday, 19 June 2014 18:40:29 UTC