- 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