W3C

- DRAFT -

RDF Data Shapes Working Group Teleconference

05 Apr 2017

See also: IRC log

Attendees

Present
hknublau, ipolikof, simonstey, TallTed, Nicky, pano, sandro
Regrets
Chair
ipolikof
Scribe
sandro

Contents


<ipolikof> PROPOSED: Approve minutes of the 29 Mar 2017 Telecon: https://www.w3.org/2017/03/29-shapes-minutes.html

<hknublau> +1

<simonstey> +1

<ipolikof> +1

<TallTed> +1

<Nicky> +1

RESOLUTION: Approve minutes of the 29 Mar 2017 Telecon: https://www.w3.org/2017/03/29-shapes-minutes.html

sribe: sandro

<scribe> scribe: sandro

<ipolikof> Next meeting, April 12, same time

ipolikof: Next meeting, same time, as usual, next week
... We don't have any new issues. Main topic is the CR process and shacl-for-shacl
... we had the CR call last friday

sandro: minutes are not public, just to attendees
... There was a mention of Generalized RDF being desirable as well.

ipolikof: The only timeline discussion was how long would shacl-for-shacl take, maybe a couple weeks, but the faster the better, while still fresh in everyone's minds
... so, urgency
... it was clear and okay we couldnt put everything into shacl-for-shacl

TallTed: Anything that can be reasonably easily expressed in shacl about shacl should be, but nightmaring or impassible things can be skipped

ipolikof: eg regexp

shacl-for-shacl

hknublau: I started the next day on the obvious things, like minCount is an integer, they were easy to model
... I left the more difficult cases to my Monday
... path syntax was quite tricky
... lists were not that difficult in the end
... file is integrated now, I ran it against all my existing test cases
... it didn't find any existing error
... then I made some negative tests, but they're not comprehensive
... I'm reasonably optimistic that it's good enough

<simonstey> +q

sandro: Lets make all elements shacl-for-shacl "at risk" during CR to we have more flexibility to edit it

hknublau: I'd rather say textual definition takes precident
... What we have is a good start. I think everything except pattern is actually captured

simonstey: So will this be normative? What would that mean for an implementation?
... I see it a prime element of the test suite
... I don't know what it means if it's normative

ipolikof: Tim asked for it to be normative

sandro: Tim likes normative redundancy

simonstey: So that means every conforming implementation would have to ...

ipolikof: So test should be checked against it

simonstey: Usually two types of tests. You have your own shacl impl,
... one things, a test case that has an invalid mincount
... and your impl should detect that this is an invalid graph because mincount was violated
... but there's also the syntactic tests, which go on whether you used the language in the correct way
... syntax checks and semantic checks
... and I see shacl-for-shacl as checking the synatcically valid shacl
... Do we say in the conformance section, 1.3, do we add that thing? Do we say you're conformant if you pass?

ipolikof: I see it as more of a tool of checking your shapes

simonstey: If I'm implementing a shacl implementation, can I just ignore that?

sandro: Not sure, what happened if you ignored the syntactic constraints

simonstey: if I'm not producing the shapes, not sure what affect this has

ipolikof: I don't think it tells us what software has to do
... Rather, we're not saying software has to actually use this turtle file

sandro: To the extent "At Risk" means we can modify, let's use it.

ipolikof: Right, we can't be expected to not have any bugs in a file like this

sandro: I want to avoid a second CR for fixing small bugs in the shacl-for-shacl

TallTed: That makes sense. Tim's looking for something machine-processible
... I think saying prose takes precedence makes sense

sandro: Maybe as part of the At Risk statement

ipolikof: Sounds good

simonstey: otherwise all the prose would have to be at risk

ipolikof: Okay way forward at this point? Are we ready to resubmit, or do we need more testing?

simonstey: Are elements of Core still missing?

ipolikof: No, Holger says everything's there except pattern
... original file used recursion, undefined, then he changed it to not use recursion. so that makes sh4sh okay
... but I thought we could talk about making the recusion situation a little better
... currently we say it's left to impls
... but it seems too risky at this point. It would not be straightforward

sandro: Can it be addressed in a future version

hknublau: There were papers written about this topic, at least two people, Dmitri and Peter, would allow people to generate a static set of SPARQL queries and run them once, without callbacks & loop
... and that's a reasonable thing, so that's a plus for shacl (eg compared to shex)
... at the same time we want to allow impls that do support recursion
... so we left it undefined
... it's been hard to try to make everyone in the WG happy
... so that's where W3C process has left us
... and I don't see an easy other solution

sandro: If we come back in two years, have we made things worse for that effort?

hknublau: No, that'd be fine. If someone comes up with a suitable defn of recursion, that could be added later.
... And the market might go that way on its own

ipolikof: Anything we should say in the spec to make that point clear?

hknublau: Right now, we just say it's undefined. We could add a non-normative paragraph underneath saying we want to support these various implementaton strategies and not block them off

ipolikof: How to phrase that?

sandro: I think the kind of explanation Holger just said
... "There are multiple says to do recursion, so at some point in the future one of those may be standardized"

(vaguely)

hknublau: Like OWL dialects, shacl-r

Errata

sandro: let's link to w3.org/.... and have that redirect to a tag on github

https://www.w3.org/2014/data-shapes/errata

https://www.w3.org/2017/shacl-errata

sandro: Future CG will ask Team to change this redirect when needed

https://www.w3.org/2017/shacl/errata

https://www.w3.org/2017/shacl/shacl-for-shacl

https://www.w3.org/2017/shacl/shacl-for-shacl.ttl as well

https://www.w3.org/2017/shacl/sh4sh

<hknublau> http://www.w3.org/ns/shacl-shacl#

sandro: I think that's okay, yeah. Those can be corrected.

but I'll double check with phila

https://www.w3.org/2017/shacl/errata

Generalize RDF

ipolikof: Does anyone thing implementations would support this?
... It's just that subjects can be Literals

<simonstey> https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf

"A generalized RDF triple is a triple having a subject, a predicate, and object, where each can be an IRI, a blank node or a literal. "

<simonstey> " There is no requirement on the part of any RDF tool to accept, process, or produce anything beyond standard RDF triples, graphs, and datasets. "

TallTed: Speaking as an RDF vendor, I think this would be a lot of hairpulling
... I know it's supported by Tim's code (cwm), but I don't know if it scales

ipolikof: When you look at other graph models, you don't see this
... I wonder if there's any utility in this

TallTed: There's now this footnote in 1.1 about generalized RDF, but it doesn't mandate than anything support it

sandro: Tim's hoping that shacl doesn't add any blocks to GRDF

ipolikof: I think the only thing we've done that impacts this, is the Node shape constraints, around comparisoon. Less than, ...

hknublau: there is no limitiation. we're only talking about sh:lessThan.
... this is such an unlikely situation

sandro: this came up because of Peter's FO

ipolikof: Should we change this?
... Currently it says if you have this node shape, and it uses this component, it's ill-formed. That sounds like prohibition, and it's ill formed. We could change that.

hknublau: But in that case we're not prohibiting anything

sandro: would shsh block that

hknublau: but it's find for an implementation to do something different

TallTed: How about a little bit of prose that explains that in Standard RDF this happens, but explain that for folks using Generalized RDF this might be useful

ipolikof: Right, explain that this is allowed in order to support Generalized RDF implementations
... er, not "allowed", but not deemed ill-formed

sandro: Might this remove Peter's FO?

ipolikof: no, I think there are other parts of that FO

sandro: do you remember the other parts?

ipolikof: some onotologies, eg cyc, that use constraints/restrictions that don't have any meaning, they are always true or always false. If someone wanted to make shacl for that, it would be easy.
... this seems like a weak argument to me, just remove those bits during conversion
... I think it's more about not liking the division into node shapes and property shapes
... and he expressed this FO wasn't as strong
... so if we remove all blocks to GRDF, that should help

hknublau: This seems like a bad idea, making a last minute change -- I can't even create a test case, since our systems can't support this, RDF doesn't allow this

sandro: We could make this At Risk

hknublau: The single syntax rule that disallows this
... Sure, okay, I can live with that

ipolikof: and explain it's because of GRDF

PROPOSED: Put the constraint about less-than AT RISK, in the name of supporting Generalized RDF

<hknublau> The rule is called lessThan-scope

PROPOSED: Put the lessThan-scope rules AT RISK, in the name of supporting Generalized RDF

+1

<simonstey> +1

<TallTed> +1

<hknublau> +1

<ipolikof> +1

<pano> +1

RESOLUTION: Put the lessThan-scope rules AT RISK, in the name of supporting Generalized RDF

<hknublau> https://github.com/w3c/data-shapes/commit/46e717f4a826d508fbb7c7dc1660051b0b1f46de

PROPOSED: Consider shacl-for-shacl as AT RISK to give us more latitude to edit it during CR

+1

<ipolikof> +1

<TallTed> +1

<pano> +1

<hknublau> +1

<Nicky> +1

<simonstey> +1

RESOLUTION: Consider shacl-for-shacl as AT RISK to give us more latitude to edit it during CR

PROPOSED: Re-request transition for SHACL to Candidate Recommendation, given the edits in the current ED plus those agreed upon at this meeting

<TallTed> +1

<hknublau> +1

<ipolikof> +1

+1

<pano> +1

<simonstey> +1

<Nicky> +1

RESOLUTION: Re-request transition for SHACL to Candidate Recommendation, given the edits in the current ED plus those agreed upon at this meeting

hknublau: I'll get to this now

Test Suite

sandro: Can we have PositiveSyntaxTests and NegativeSyntaxTests in addition to the validation tests
... Maybe consider these as something that would be nice, probably not necessary

TallTed: A one line, "Time permitting... "

sandro: Maybe a bit WELCOME to the test suite, asking people to PLEASE SUBMIT any tricky shapes, including NEGATIVE syntax tests
... So, no machinery for now
... they might point out a bug in shacl-for-shacl

AOB

ipolikof: Maybe we can move to hour long meetings one of these days

<scribe> chair: Irene

<TallTed> trackbot, end meeting

Summary of Action Items

Summary of Resolutions

  1. Approve minutes of the 29 Mar 2017 Telecon: https://www.w3.org/2017/03/29-shapes-minutes.html
  2. Put the lessThan-scope rules AT RISK, in the name of supporting Generalized RDF
  3. Consider shacl-for-shacl as AT RISK to give us more latitude to edit it during CR
  4. Re-request transition for SHACL to Candidate Recommendation, given the edits in the current ED plus those agreed upon at this meeting
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.152 (CVS log)
$Date: 2017/04/05 13:31:51 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.152  of Date: 2017/02/06 11:04:15  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Default Present: hknublau, ipolikof, simonstey, TallTed, Nicky, pano, sandro
Present: hknublau ipolikof simonstey TallTed Nicky pano sandro
Found Scribe: sandro
Inferring ScribeNick: sandro
Found Date: 05 Apr 2017
Guessing minutes URL: http://www.w3.org/2017/04/05-shapes-minutes.html
People with action items: 

[End of scribe.perl diagnostic output]