W3C

- DRAFT -

RDF Data Shapes Working Group Teleconference

22 Mar 2017

See also: IRC log

Attendees

Present
hknublau, simonstey, ipolikof, sandro, dallemang, TallTed
Regrets
Chair
ipolikof
Scribe
sandro

Contents


<scribe> scribe: sandro

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

<hknublau> +1

<ipolikof> +1

<dallemang> +1

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

disposed of raised issues

ipolikof: none in w3c tracker, with move to github

https://github.com/w3c/data-shapes/issues

<ipolikof> https://github.com/w3c/data-shapes/issues/40

https://github.com/w3c/data-shapes/issues/40

hknublau: We received a few comments from i18n wg. This issue is about ltr vs rtl. I had assumed one could derive it from language, but apparently not.
... We could theoretically add a property, but then it wouldn't have any semantics, any constraints, it would be another annotation property. Given we're in RDF-land, I'd suggest we leave this to 3rd party name spaces, out of scope for us.

sandro: architecturally, this should be done somewhere else, not in SHACL

ipolikof: I agree, shall we close it?

sandro: yep, letting them know they can re-open if they have some other data

RESOLUTION: Close https://github.com/w3c/data-shapes/issues/40 and do nothing, i18n group can re-open if they disagree

<ipolikof> https://github.com/w3c/data-shapes/issues/42

https://github.com/w3c/data-shapes/issues/42

hknublau: I did what the commenter asked, adding reference and changing terminology slightly

ipolikof: Sounds like we should close it as addressed by edits

<TallTed> +1

RESOLUTION: Close https://github.com/w3c/data-shapes/issues/42 as addressed by edits

hknublau: sounds good

sandro: I agree

https://github.com/w3c/data-shapes/issues/43

<simonstey> +q

hknublau: I need input on this one
... We're just using SPARQL string function
... so I'm not sure what else can be done

simonstey: I think the comment is about, even though we're referencing SPARQL, in other languages they have different definition of Character, so you have to know what to count

<hknublau> https://www.w3.org/TR/shacl/#MinLengthConstraintComponent

simonstey: so if we just have a small bit of text saying Character is unicode codepoint, that should address the issue

hknublau: can I have help where to say that?

sandro: in bytes or characters?

hknublau: just Java string length

sandro: depends on which language, sometimes 'string' is characters, sometimes it's in bytes

hknublau: "length of string representation" would be changed

<hknublau> For each value node v where the length of the string representation of v

<simonstey> https://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-primitive-datatypes 3.2.1

<simonstey> [Definition:] The string datatype represents character strings in XML. The ·value space· of string is the set of finite-length sequences of characters (as defined in [XML 1.0 (Second Edition)]) that ·match· the Char production from [XML 1.0 (Second Edition)]. A character is an atomic unit of communication; it is not further specified except to note that every character has a corresponding Universal Character Set code point, which is an integer.

<simonstey> https://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-length

sandro: from RDF persepctive it seems clear to me it's characters, but it's not clear from this text

<hknublau> ASK { FILTER (STRLEN(str($value)) >= $minLength) . }

"The strlen function corresponds to the XPath fn:string-length function and returns an xsd:integer equal to the length in characters of the lexical form of the literal. "

<dallemang> https://www.w3.org/TR/sparql11-query/#func-strlen

from https://www.w3.org/TR/sparql11-query/#func-strlen

hknublau: I'll reference that function, then it will be clear

<TallTed> +1

RESOLUTION: Close https://github.com/w3c/data-shapes/issues/43 by adding a reference to STRLEN SPARQL function

<dallemang> +1

sandro: I love the hairy detail in what Simon pasted, which is what you get if you follow the references

https://github.com/w3c/data-shapes/issues/44

ipolikof: addressed by edits

+1

<TallTed> +1

<dallemang> +1

<simonstey> +1

RESOLUTION: Close https://github.com/w3c/data-shapes/issues/44 as addressed by edits

other issues

ipolikof: Does this mean they've finished their review

sandro: Not totally sure, but given these were all the day before our deadline, I think we can.

https://github.com/w3c/data-shapes/issues/36

ipolikof: waiting for commenter

sandro: Did what do what he asked?

hknublau: yes, I've been talking to him, he sounds happy with this, although he didn't specifically confirm he was satisfied

sandro: okay, given the timeline, sounds okay with marking as closed

RESOLUTION: Close https://github.com/w3c/data-shapes/issues/36 as addressed by edits, time out for the commenter response

<hknublau> https://lists.w3.org/Archives/Public/public-data-shapes-wg/2017Mar/0035.html

https://github.com/w3c/data-shapes/issues/32

ipolikof: Dean sent text, holger wasn't entirely comfortable with it

hknublau: I wrote to list, basically he's talking about something a bit different from the commenter
... problems were much more pedestrian

dallemang: I wrote to Dave and talked to him about it
... he wrote back, he was very accomodating, they've found their own workaround along the lines we're thinking, and saying they've been able to go forward with their workaround

ipolikof: It's a timing issue with a new standard

dallemang: I think that's the right way to go, let SHACL be a standard, then it'll be a 3rd party plugin for Protege

ipolikof: Should we close and not do anything?
... Last time it was hard to settle on this

hknublau: We've intentionally avoided mentioning OWL, except owl:imports, our use of owl:Ontology is not normative, just best practice.

dallemang: I had been thinking it'd be easier to just say "we dont use owl", ... but we do use these two little bits

<simonstey> +1

dallemang: rereading Dave's email, it sounds like he's okay. Doing a shapes for shacl. He's going to do a minimal version of that for his project, and maybe I can talk him into releasing that, some time in the future.

sandro: won't other people hit that?

ipolikof: Isn't that more like a primer?

dallemang: I'd like it there

hknublau: If we put it in the spec, it'll be outdated in 6 months as the tools change

dallemang: Yes, by a protege plugin

sandro: okay

RESOLUTION: Close https://github.com/w3c/data-shapes/issues/32 and do nothing

ipolikof: address in primer

RESOLUTION: Close https://github.com/w3c/data-shapes/issues/32 and do nothing in the SPEC, but address in the primer

Public comments

ipolikof: I don't know of any email public comments that need a response, other than from Peter
... he's withdrawn one of his objections
... Yesterday he wrote about need to make some small changes 'minor syntax fixes'
... Previous comment about definition of 'path'
... brings us to next topic - recent edits/changes

hknublau: I've been respnding to 'minor syntax changes'
... I made changes to defn of syntax rules. Many were global, "for a given property all values must be URIs" regardless of where used, by now following Peter's advice I'v narrowed that down
... so it's only when used as a the property of a Shape. it makes it easier to check them.

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

hknublau: It's a big commit, but it all follows the same pattern. Mostly adding "in a shape" in many places.
... Every constraint component that has only one parameter, like mincount, can be used any number of times within a shape. That's how SHACL is defined right now
... Peter is suggesting disallowing this for sh:uniqueLang, and I see that's not the only case
... eg sh:dataType

<simonstey> xsd:int & xsd:integer?

hknublau: (all this is in the email)
... so I went through and found all these properties where having two values would be redundant. So I added syntax rules to make all these properties maxCount=1.
... Please take a look

<simonstey> ok, fair enough

hknublau: re int/integer, we're only looking at the URI, so those are different.

dallemang: I've looking through this, and it's just what Holger described, I'm fine with it.

ipolikof: Are there some cases where this is too restrictive? Maybe something Holger missed?

hknublau: Even in a theoretical case where someone wanted multiple properties, and wanted the intersection
... but people can already do that with sh:and, so there is no loss of expressivity

sandro: It seems to be getting rid of a really annoying corner case

hknublau: sh:in is the most likely place for concern, but if we allow multiple values, that complicates UIs a lot. If we allow multiples, that's shooting ourselves in the foot.

sandro: Any multiples?

hknublau: sh:node, class, logical operators, there are a few where it makes perfect sense

<ipolikof> PROPOSAL: Approve syntax rules changes in https://github.com/w3c/data-shapes/commit/d92aaa7b6fd2e7a196e01fec8f19be7d385a5ae1

<dallemang> +1

<simonstey> +1

+1 seems to make sense

<ipolikof> +1

<hknublau> +1

<TallTed> +1

RESOLUTION: Approve syntax rules changes in https://github.com/w3c/data-shapes/commit/d92aaa7b6fd2e7a196e01fec8f19be7d385a5ae1

sandro: Basically, we approve a reolution, then I'll submit the Transition Request, then we'll have a week, then a meeting

Going to CR

<simonstey> +q

sandro: (test suite stuff)

simonstey: I just looked at it, there was an email from Peter about it
... He has some points. Boils down to graph isomorphism is not enough.

<simonstey> https://www.w3.org/TR/rdf11-concepts/#graph-isomorphism

simonstey: we say, in order to check, validation result needs to be isomorphic to our example. As Peter pointed out, that's not sufficient,
... in part because only defined on RDF graphs

<simonstey> A focus node conforms to a shape if and only if the set of result of the validation of the focus node against the shape is empty and no failure has been reported by it.

simonstey: in current spec, for example, where we talk about validation, we have something about conformance checking, I wasn't sure how to handle that.
... and validation report and validation results
... these bits and pieces led Peter to those comment
... we have to come up with a way to define how/when validation results are conformant
... this is a general issue
... could have one validation result, two validation results, not really defined?
... needs some attention

ipolikof: Are you saying that the test methodology needs some attention, or that some changes to the spec would be required?

simonstey: I looked at some other specs, including ShEx, and SPARQL. There is an issue with Literal comparison -- it's not checking the actual value. In SPARQL, there's a comment where they ack'd the issue
... and had a workaround, and the Prov ontology, ... 'conformant means' in a natural language way
... I think we may have to adapt section 3.5 Conformance Checking
... But no, probably the spec doesn't need to be changed.

ipolikof: So test methodology needs work, yeah
... simonstey you said you could help, will you be editor of test document?

simonstey: yes

sandro: Didn't last week we figure out to avoid using blank nodes for GI ?

simonstey: There's more than that, like looking inside literals
... Currently wording in explaining test isn't detailed enough

<simonstey> https://www.w3.org/TR/rdf11-concepts/#graph-isomorphism

<simonstey> M(lit)=lit for all RDF literals lit which are nodes of G.

hknublau: I'm not seeing the issue. Node equality vs value equality. Boolean true =?= 1. I;ve made an edit to exclude that case, and all our other values are URIs.
... otherwise, node equality is always what we mean, so GI is right.
... subclasses of validation report and validation result. In test suite description, we say people need to clean up the graph, in a way which forces everyone to produce the same graph.

ipolikof: Peter says some impls could optimize and thus suppress duplicate results
... for the purposes of the test comparison, we'll ask them not to?

hknublau: I was thinking of subclasses of our classess, and they should normalize them during testing
... Beginning of section 4, some text I put in, to rule out these optimizations

ipolikof: but optimization is good

hknublau: Interoperability is more important, and these are extreme corner cases anyway -- who references multiple shapes like that?

ipolikof: We could have a parameter to allow optimizations

hknublau: I had a conversation with someone whose impl just produces True/False, and wants that to be a SHACL impl.
... We could have that be another conformant class.
... RIght now, we have "Every impl must have a mode where it produces the full report". So maybe we could take this out, for some conformance class.
... an impl that only returns true or false, would be something, given a name....

<ipolikof> PROPOSAL: Submit the CR transition request https://www.w3.org/2014/data-shapes/wiki/CR-Transition-Request

ipolikof: Nothing I've heard affect proposal to submit CR request. We'll continue to work on tests and test methodology.

+1

<ipolikof> +1

<simonstey> +1

hknublau: Should we write down our responses to formal objections?

<TallTed> +1

<dallemang> +1

sandro: essential to have link to minutes / email where they were discussed; nice to have summary

<hknublau> +1

RESOLUTION: Submit the CR transition request https://www.w3.org/2014/data-shapes/wiki/CR-Transition-Request

sandro: when will descriptions of FO be done?

hknublau: tomorrow

<ipolikof> trackbot, end meeting

Summary of Action Items

Summary of Resolutions

  1. Approve minutes of the 15 Mar 2017 Telecon: https://www.w3.org/2017/03/15-shapes-minutes.html
  2. Close https://github.com/w3c/data-shapes/issues/40 and do nothing, i18n group can re-open if they disagree
  3. Close https://github.com/w3c/data-shapes/issues/42 as addressed by edits
  4. Close https://github.com/w3c/data-shapes/issues/43 by adding a reference to STRLEN SPARQL function
  5. Close https://github.com/w3c/data-shapes/issues/44 as addressed by edits
  6. Close https://github.com/w3c/data-shapes/issues/36 as addressed by edits, time out for the commenter response
  7. Close https://github.com/w3c/data-shapes/issues/32 and do nothing
  8. Close https://github.com/w3c/data-shapes/issues/32 and do nothing in the SPEC, but address in the primer
  9. Approve syntax rules changes in https://github.com/w3c/data-shapes/commit/d92aaa7b6fd2e7a196e01fec8f19be7d385a5ae1
  10. Submit the CR transition request https://www.w3.org/2014/data-shapes/wiki/CR-Transition-Request
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.152 (CVS log)
$Date: 2017/03/22 13:17:36 $

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, simonstey, ipolikof, sandro, dallemang, TallTed
Present: hknublau simonstey ipolikof sandro dallemang TallTed
Found Scribe: sandro
Inferring ScribeNick: sandro
Found Date: 22 Mar 2017
Guessing minutes URL: http://www.w3.org/2017/03/22-shapes-minutes.html
People with action items: 

[End of scribe.perl diagnostic output]