W3C

RDF Data Shapes Working Group Teleconference

06 Aug 2015

Agenda

See also: IRC log

Attendees

Present
Arnaud, pfps, kcoyle, dimitris, hknublau, labra, aryman, TallTed, ericP
Regrets
simonstey
Chair
Arnaud
Scribe
hknublau

Contents


Admin

<Arnaud> PROPOSED: Approve minutes of the 30 July Telecon: http://www.w3.org/2015/07/30-shapes-minutes.html

<pfps> minutes look fine to me

<scribe> scribenick: hknublau

RESOLUTION: Approve minutes of the 30 July Telecon: http://www.w3.org/2015/07/30-shapes-minutes.html

Arnaud: F2F is in a month, please, make sure you update the page if there is any change in expected participation
... looking into the schedule, trying to accommodate for remote participants

<pfps> What are the goals for the F2F?

<pfps> I will not be 9 hours behind - I will be on the EDT then.

<kcoyle> 10-6 sounds fine

Arnaud: Discussion about whether we can shift French meeting time to maybe 10 to 6
... As for the goals, we should try and close as many issues as possible
... but also discuss what it will take to get to FPWD
... as well as discuss other work items like the test suite

Disposal of raised issues

<pfps> I have no problem opening either of these two issues

<Arnaud> PROPOSED: Open ISSUE-77: sh:pattern flags, and ISSUE-78: sh:abstract

<pfps> +1

+1

<Dimitris> +1

<kcoyle> +1

<TallTed> +1

RESOLUTION: Open ISSUE-77: sh:pattern flags, and ISSUE-78: sh:abstract

(None of them are urgent)

<aryman> +1

ISSUE-3

<pfps> Eric commented on ISSUE-3

http://www.w3.org/2014/data-shapes/track/issues/3

<Arnaud> PROPOSED: Close ISSUE-3, specifying that a SHACL processor is invoked with an RDF dataset (or RDF graph) as its data and a shapes graph for control, per Holger's email

<pfps> +1

+1

<TallTed> +1

<aryman> +

<aryman> +1

<Dimitris> +1

<Labra> +1

<kcoyle> +1

RESOLUTION: Close ISSUE-3, specifying that a SHACL processor is invoked with an RDF dataset (or RDF graph) as its data and a shapes graph for control, per Holger's email

ISSUE-26

<trackbot> issue-26 -- Can extensions invoke the high-level language? -- open

<trackbot> http://www.w3.org/2014/data-shapes/track/issues/26

pfps: One way of reading this is would be putting expressions into the middle of SPARQL code. We probably don’t want this.

… All that is needed in the SPARQL to get back to named shapes.

… sh:hasShape is one implementation mechanism.

aryman: Is it true that you can wrap any SHACL string into a named shape?

<pfps> One thing would to allow a, for example, conjunction inside SPARQL code. Another thing would be to allow only names of shapes inside SPARQL code.

hknublau: I think named shapes are sufficient.

<pfps> Whether the former is more powerful than the later would require a close examination of the current document - I'm not sure what the answer is.

Arnaud: Can we limit this to named shapes?

hknublauc: Any conjunction etc can be wrapped into a named shape if needed.

<Arnaud> PROPOSED: Close ISSUE-26, stating that extensions can invoke the high-level language referring to named shapes

+1

<kcoyle> +1

<TallTed> +1

<Labra> +0.5

<ericP> +0

<Dimitris> +1

<pfps> -0.1 I think that this is going to be OK, but I'm not completely sure

<aryman> +1

pfps: The design is getting more and more complicating. Harder to find gotchas.

RESOLUTION: Close ISSUE-26, stating that extensions can invoke the high-level language referring to named shapes

ISSUE-51

<trackbot> issue-51 -- What types of validation results should be returned -- open

<trackbot> http://www.w3.org/2014/data-shapes/track/issues/51

Arnaud: Dimitris made a suggestion, iterating with Holger on a proposal, then Peter suggested simplification

pfps: We are getting more and more stuff packed into the results. Would be much better to only thing to get back is a set of violations.

… handling severity levels etc outside of SHACL

kcoyle: In that case what do you see SHACL returning? Gradation is needed.

pfps: Example: Each person must have one name. Result is either OK or a set of violations.

… this could be a SPARQL result set.

… no need for Info, Fatal, Error

… controlling code can find the severity itself.

<Dimitris> +q

… start as simple as possible

Arnaud: Then there would not be a way to specify levels per shape

<pfps> The results of trying to validate a shape is just a set of violations - the calling code gets to decide to do what with the violations - the calling code can do this for each shape, or for groups of shapes, or for entire documents of shapes

<pfps> My proposal is to have none of this in the high-level language, not error levels, not severity levels - so no sh:severity, no sh:Error, no sh:Warning, no [lots of other stuff]

hknublau: When you invoke the engine on a graph, there may be multiple severity levels coming back.

… each violation at least needs a pointer back to the shape.

Arnaud: we should do a straw poll

pfps: Work-around using two shapes, one for warning, one for error

<Arnaud> STRAWPOLL: a) keep super simple, one type of violation, b) define two or three severty levels, c) define an open model providing with several levels and extensions

a: -1 b: 0.5 c: 0.6

<pfps> a +1 b 0 c -1

<aryman> a: 0; b: +1; c: -0.5

<ericP> a:+1 b:0 c:0

<Dimitris> a) -0.5 b) +1 c) 0+

On b) Maybe Info, Warning, Error?

<TallTed> a -0.75, b +0.5, +1

<kcoyle> a: 0.5 b: 0.5 c: ?? (depends on the magical user-friendly language)

<Labra> a: +1, b: 0, c: 0

<pfps> An "informational" violation seems like a contradiction in terms.

<pfps> I like pi and e as severity levels.

<Zakim> ericP, you wanted to ask about the scope of the errors

Arnaud: b) seems to be compromise

hknublau: Clarified that each constraint can have severity level

<Zakim> pfps, you wanted to ask how summarization of results could work?

pfps: How would we count results

<Arnaud> https://w3c.github.io/data-shapes/shacl/#violations-types

aryman: Each engine may stop and return different errors.

Arnaud: Do we really need Info messages? They don’t sound like violations.

<pfps> I would hope that SHACL processors would not just give up when it encounters the first information violation

aryman: Info messages are useful, compilers and other tools have them.

<TallTed> optimal/suboptimal/minor error/major error...

<Zakim> ericP, you wanted to say that i don't know how to combine this with multi-occurance

ericP: Example: I have an Observation with a related Observation and another related property pointing at an Observation

… same predicate expressed twice

hknublau: Results can include subject, predicate, object

… error level is associated with sh:minCount etc

ericP: still seeing problems with multi-occurrence

pfps: High level language can only produce Errors

hknublau: Yes, how else could this be done? Reifying sh:minCount etc?

<pfps> I'm finding the current document very mixed up with respect to violation reporting. Some parts say one thing and some parts say something contradicting that.

kcoyle: There should be support to override this per occurrence

<kcoyle> hknublau: not override -- always related to the occurrence

aryman: I thought we have sh:severity at each constraint

<Arnaud> https://w3c.github.io/data-shapes/shacl/#sparql-constraints-variables

<Arnaud> example 37

<aryman> look at Example 37

<pfps> But then there is "An sh:Error must be reported if there is no triple that has the focus node as its subject, the sh:predicate as its predicate and the sh:hasValue as its object. Each produced sh:Error must have the focus node as its sh:root and sh:subject, and the sh:predicate as its sh:predicate"

<pfps> I think that we are again running into a vocabulary mismatch problem here - there are two meanings of "constraint" being used

<pfps> Well, I'm happy only having sh:Error!

Arnaud: Unless there is a way to override, then the current spec would be too limiting. People want different levels per occurrence

<Dimitris> We should be able to define severity in shapes and facets

Arnaud: Holger, could you send clarification email about this?

… Eric could you clarify your use case in email too?

<pfps> +1

<ericP> sure, and here's an example inline:

<ericP> <BP> a sh:Shape;

<ericP> sh:property

<ericP> [ sh:predicate sh:observation; sh:valueShape <SYS>; sh:nodeKind sh:IRI ],

<ericP> [ sh:predicate sh:observation; sh:valueShape <DIA>; sh:nodeKind sh:IRI ].

<ericP> that's a good example of multi-occurance

Arnaud: ISSUE-75 not a big issue

ISSUE-23 (Punning)

http://www.w3.org/2014/data-shapes/track/issues/23

Arnaud: What is currently in the draft is already a compromise between classes and shapes

… Holger stated punning as a must-have

kcoyle: Can we leave this out of the language, e.g. owl:sameAs?

Arnaud: Outside would not be standard

pfps: The term punning is probably not related.

… where was this “compromise” discussed?

<pfps> The only relevant resolution I can find is from 18 February, which is "Start from Eric's Revised LDOM proposal, and explore ways to combine shapes and classes such as punning"

<pfps> My understanding is that in this proposal shapes are not classes

pfps: Has it been decided that shapes can be classes?

Arnaud: The draft was accepted as starting point, and this includes sh:ShapeClass.

aryman: We cannot prevent people from making a shape also a class.

… impacts sh:scopeClass

<pfps> The editor's draft has been accepted as a starting point but doesn't mean agreement to particular bits of it

Arnaud: Credits to Holger for working on a compromise.

Summary of Action Items

Summary of Resolutions

  1. Approve minutes of the 30 July Telecon: http://www.w3.org/2015/07/30-shapes-minutes.html
  2. Open ISSUE-77: sh:pattern flags, and ISSUE-78: sh:abstract
  3. Close ISSUE-3, specifying that a SHACL processor is invoked with an RDF dataset (or RDF graph) as its data and a shapes graph for control, per Holger's email
  4. Close ISSUE-26, stating that extensions can invoke the high-level language referring to named shapes
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.143 (CVS log)
$Date: 2015/08/13 21:00:29 $