17:57:44 RRSAgent has joined #shapes 17:57:44 logging to http://www.w3.org/2015/07/16-shapes-irc 17:57:46 RRSAgent, make logs rdf-data-shapes 17:57:46 Zakim has joined #shapes 17:57:48 Zakim, this will be SHAPES 17:57:48 I do not see a conference matching that name scheduled within the next hour, trackbot 17:57:49 Meeting: RDF Data Shapes Working Group Teleconference 17:57:49 Date: 16 July 2015 17:59:48 Dimitris has joined #shapes 18:00:32 present+ Arnaud, ericP, hknublau, kcoyle, simonstey 18:01:24 Labra has joined #shapes 18:01:57 pfps has joined #shapes 18:02:07 present+ pfps 18:02:31 present+ labra 18:02:50 present+ TallTed 18:04:27 aryman has joined #shapes 18:04:32 present+ aryman, Dimitris 18:04:45 scribenick: ericP chair: Arnaud agenda: https://www.w3.org/2014/data-shapes/wiki/Meetings:Telecon2015.07.16 topic: Admin 18:05:20 PROPOSED: Approve minutes of the 9 July Telecon: http://www.w3.org/2015/07/09-shapes-minutes.html 18:05:57 RESOLVED: Approve minutes of the 9 July Telecon: http://www.w3.org/2015/07/09-shapes-minutes.html 18:06:00 minutes looked OK to me 18:06:21 hsolbrig has joined #shapes 18:06:36 present+ hsolbrig topic: Disposal of raised issues 18:07:41 Arnaud: discussing new issues 73-76 18:07:44 q+ 18:07:55 ack hknublau 18:08:49 hknublau: is support for large data instances part of the issue? 18:09:04 pfps: SPARQL endpoints often restrict the number of results they return 18:09:19 ... this is not [intended to be part of] the requirement 18:09:39 ... should reword to "This should work if the data graph is very large." 18:10:34 ... could explicity that some SPARQL enpoints only return 1K results so any solution which requires 1B results isn't a solution 18:10:51 Arnaud: is that specific to implementations on top of SPARQL? 18:10:57 +q 18:11:01 pfps: it's specific to remote data. 18:11:26 ... one can always dump the entire dataset, except that for many endpoints, you are "result-limited". 18:11:58 ... could restate this caveat as "it is not acceptable to have to dump the entire database." 18:12:06 q+ 18:12:09 Arnaud: that still sounds like a requirement 18:12:16 q- 18:12:23 ack aryman 18:12:33 pfps: i'm happy to drop this line 18:12:56 aryman: we need to keep the functional and the non-functional separate 18:13:20 ... you're saying that the presence of BNodes keeps you from making two+ queries 18:13:53 + 18:13:53 PROPOSED: Open ISSUE-73-76 18:13:58 +1 18:13:59 +1 18:13:59 s/instances part of the issue?/instances part of issue 76?/ 18:14:03 +1 18:14:04 +1 18:14:04 +1 18:14:05 +1 18:14:07 +1 18:14:20 +1 18:14:26 RESOLVED: Open ISSUE-73-76 18:14:35 The point of the last sentence of ISSUE-74 was to prevent a methodology of issuing a single SPARQL query that transfers the entire graph or dataset and then works on it locally. I struck that sentence to permit progress. 18:14:57 Arnaud: we now have 35 open issues 18:15:10 ... we may have a couple that don't really matter 18:15:26 ... we haven't managed to close one issue/call (/week) 18:17:16 ... We have some issues that pfps wanted to resolve before FPWD 18:17:17 q+ 18:17:20 topic: ISSUE-66 18:17:20 ISSUE-66 -- SHACL spec ill-founded due to non-convergence on data loops -- open 18:17:20 http://www.w3.org/2014/data-shapes/track/issues/66 18:17:28 ... we want readers to understand what the WG is up to 18:18:01 ... we discussed this issue's title 18:18:46 ... the link has an example which pfps says is undecidable 18:19:18 pfps: my pref is to say that recursion is illegal 18:19:40 hknublau: i sent a link to my latest proposal 18:19:57 q+ 18:19:57 ref guide: http://w3c.github.io/data-shapes/shacl-ref/ 18:20:14 ... the ref guide includes my latest SPARQL queries 18:20:49 ... this implements aryman's proposal that recursion is only permitted on valueShape 18:21:17 Arnaud: the WG isn't in favor of prohibitiung recursion 18:21:32 ack aryman 18:21:43 ... so we need a recursion solution that addresses some minimal needs 18:21:58 aryman: this solution has well-defined semantics 18:22:13 ... the algorithm: 18:22:20 ... .. start with a node/shape 18:22:30 ... .. put that pair on a stack 18:22:37 ... .. evaluate local constraints 18:22:50 ... .. evaluate recursive shapes 18:23:08 ack pfps 18:23:09 ... .. revisiting the same node/shape pair returns true 18:23:22 pfps: this isn't shacl 18:23:55 q+ 18:23:59 ... aryman's impl strategy says "when you get back to the same place, say 'yes'" 18:24:10 ... that works in this example 18:24:22 ... (this doesn't) 18:24:32 Arnaud: we had tree ways: 18:24:38 ... .. max recursion 18:24:45 ... .. true recursion 18:24:50 ... .. mixed 18:25:20 ... it seemed folks wanted true recursion, but we were interested in the mixed approach 18:25:25 ack aryman 18:25:48 aryman: when you say it doesn't work for SHACL, that presupposes @@1 18:26:17 ... if we say that that general shape structure has a defined answer 18:26:36 ... if we want to expand this, we can 18:27:00 ... iovka's semantics appear to address this, but we'll know more when she returns 18:27:18 iovka may have a well-defined semantics for negative recursion, but that's not the end of the story - is this semantics reasonable? is this semantics implementable? 18:27:18 Arnaud: it seems we need to agree on the solution or a way to get to the solution 18:27:50 ... some folks say "give me examples" 18:27:59 ... pfps says "i want a general solution" 18:28:11 q+ 18:28:18 allowing recursion only through valueshape removes potential problems that not/disjunction might produce.. so I'm fine with that approach 18:28:25 q- 18:29:05 q+ 18:29:15 ack aryman 18:29:27 @simonstey - where else would it be possible to do recursion? 18:29:47 aryman: is it the case that the candidate FPWD will allow unrestricted negation/disjunction of shapes? 18:30:34 Arnaud: would prohibiting disjunction and negation address your issue? 18:31:19 pfps: you're asking me to throw out something i consider useful to define something i consider useless 18:31:40 @hsolbrig true that.. 18:32:06 q+ 18:32:11 ack hknublau 18:32:20 q+ 18:32:22 +q 18:32:25 hknublau: i think we should try to be pragmatic here 18:32:59 ... we can talk about theory and soundness and whatnot, but in the end folks want the language to get work done. 18:33:07 ack hsolbrig 18:33:08 q+ 18:33:46 hsolbrig: i'm interested in SHACL to reallize UML class/relation semantics as RDF 18:34:18 ... UML abounds with recursion, from dog-ears to complex evaluation to make sure that a recursion terminates. 18:34:23 q+ 18:34:24 UML self-reference does not necessarily translate into SHACL self-reference of shapes 18:35:03 q+ to say that UML recursion does not translate into SHACL recursion 18:35:27 Arnaud: are you convinced by pfps's assertion that you can work-around these needs? 18:35:57 pfps: UML should not translate into SHACL 18:36:28 hsolbrig: so do we have an example of how it's done right? 18:36:41 pfps: i'll type a general notion in a sec... 18:37:24 a UML definition of a "box" B that has a property back to the box translates into a type property to B and then a constraint that says that the value for B's are B's - B is *not* a shape here 18:37:41 s/translate into SHACL/translate into SHACL shapes/ 18:38:03 pfps: UML classes aren't shapes, they're classes 18:39:34 q+ 18:39:39 @hsolbrig http://stackoverflow.com/questions/14015305/recursion-in-ocl 18:39:41 ack Dimitris 18:39:49 using SHACL shapes for UML classes ends up with *totally* incorrect behaviour - in the example above an isolated shape would be recognized as B 18:40:31 ack pf` 18:40:32 q- 18:40:39 Dimitris: pretty much agree with peter. can we hear use cases where the work-arounds don't work? 18:40:42 ack pfps 18:41:05 pfps: i'm saying that's not been working so far 18:41:20 Dimitris: sure, in email, but maybe a wiki will help 18:41:45 ack aryman 18:41:45 Arnaud: can we ask folks who are interested in recursion to post some examples into a wiki page? 18:42:03 ... they pfps can say how else it could work 18:42:12 recursive shapes *do* add extra expressive power - Polentoni is an example - but are there any use cases that need to do this 18:42:45 aryman: pfps's point is that if you attach a type arc to a shape, you don't need another way to recognize those shapes 18:42:47 the point *for UML* is that UML data *is* done that way - 18:43:14 q+ 18:43:22 ... that works if your data has these type args, but we don't want to require type arcs 18:43:56 ... ericP and I have been using the example where the same node is used for different purposes 18:44:37 I want to see a worked-out example of this FOAF story 18:44:50 *with proper scoping and filtering this can be done* 18:44:57 agree with Dimitris 18:45:01 UML identifies the classifier, but it makes no assertions about instances including a reference to or name of the classifier. 18:45:15 ... e.g. a contact database may require certain fields, but all instances of foaf:Person don't require those fields 18:45:43 q+ 18:45:44 ack ericP 18:46:30 You *could* assert that, in order to be a valid UML instance a type must be present, but that isn't our situation. 18:46:39 q+ 18:46:45 I *protest* - this argument has come up in the past and has be rebutted 18:46:55 s/be/been/ 18:46:57 reference? 18:47:11 ack pfps 18:48:01 ericP: requiring that nodes are annotated with every type arc to capture the purposes they might use for, we are over-constraining the use of these semweb objects 18:49:16 pfps: if you say "i need recursive shape recognition to capture UML", it's not UML 18:50:52 ted: there are certain things that people need to do and maybe they're "UML" and maybe that's not exactly the right label but it's important that they do what they need to do 18:51:12 ack aryman 18:51:19 when people say "UML" they should be doing UML 18:51:20 Arnaud: we shouldn't get hung up on whether this is true UML or not 18:51:36 aryman: do you think sh:valueShape is useful? 18:52:01 pfps: with out recursion, you can always macro-expand valueShape? 18:52:09 q+ 18:52:20 aryman: sure, but as an authoring tool, is it useful? 18:52:37 pfps: ok if they're treating it as a macro-expansion 18:52:58 aryman: it keeps folks from having to repeat themselves 18:53:10 ... it's not problematic in certain siutations. 18:53:38 ... even if the shapes graph is recursive, it will still terminate unless the data is circular 18:54:05 ... so do you think the defn [we proposed] is correct? 18:54:36 ... is it acceptable if the spec has well-founded semantics? 18:54:57 pfps: iovka's spec is "interesting" [in a pajorative sense] 18:55:20 ... as soon as you get to negated recursion, you have to do a lot of work to figure out the situation. 18:55:39 ... it's different from anything anyone's done. 18:55:46 ... should we go with it? 18:56:02 ... someone has to go with a deep investigation before we buy it. 18:56:24 ack hknublau 18:56:50 hknublau: i have the impression that this whole discussion is an academic dance 18:57:19 The question is who in the working group Holger is talking about. 18:57:43 ... some folks have a specific solution strategy, macro expansion, but would rather throw the requirements under the bus than change the impl strategy 18:58:40 Arnaud: we'll doc use cases in the wiki; pfps and Dimitris will show how they can be done without recursion 18:59:07 topic: ISSUE-62 18:59:07 ISSUE-62 -- Selection or filtering by arbitrary expressions and shapes -- open 18:59:07 http://www.w3.org/2014/data-shapes/track/issues/62 18:59:15 http://w3c.github.io/data-shapes/shacl/index-2015-07-13.html#scopesAndFilters 18:59:25 https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Jun/0036.html 18:59:46 Arnaud: we have a proposal from hknublau. 19:00:02 ... we discussed this before. 19:00:42 hknublau: the above link (with the image correction) is my current proposal 19:01:20 ... this was an attempt to integrate pfps's scoping mechanism 19:01:32 kcoyle has joined #shapes 19:02:05 ... i took pfps's shapeScope or scopeShape and crated filterShape 19:02:43 ... this provides a clean mechanism to defined global properties 19:03:12 ... e.g. dublin core saying that every utterance of a property must be a string or in some language 19:03:27 +q 19:03:38 ack Dimitris 19:03:49 cannot hear 19:03:51 will rejoin 19:04:18 Dimitris: i agree with holger's approach 19:04:23 http://www.w3.org/2014/data-shapes/track/issues/49 19:04:26 ... concearned with issue 49 19:04:42 this looks promising - I'm not sure if it goes quite far enough - I would like to be able select objects of a property, not just subjects 19:04:47 ... if we allow SPARQL templates, we have to decide if the filtering will be evaluated when we have a value shape 19:05:00 ... if we permit it, i'm not sure how SPARQL templates will work 19:05:01 +1 for the proposal to allow more flexible scoping 19:05:18 q+ 19:05:46 Arnaud: none of this is new. it's been on the list before. 19:05:47 ack pfps 19:05:58 pfps: i think this goes in the right direction 19:06:17 ... i'd like the ability to select all those nodes that are values from a property. 19:06:48 q+ 19:06:49 @pfps - could you select values using an inverse property? 19:06:57 Arnaud: back to your issue 49 issue, can we close 62 with the proposal and see about 49 pater? 19:07:01 Dimitris: sure 19:07:03 ack hknublau 19:07:19 hknublau: i agree that 49 can be handled seperately 19:07:54 ... scopes have to be evaluatable either way, so they can be used as a filter 19:08:56 PROPOSED: Close ISSUE-62 adopting Holger's proposal, drafted in http://w3c.github.io/data-shapes/shacl/index-2015-07-13.html#scopesAndFilters 19:09:07 +1 19:09:09 +1 19:09:11 +1 19:09:12 +1 19:09:16 +1 19:09:20 +0.9, as I would also like property values 19:09:23 0 19:09:27 0 19:09:30 +1 19:09:30 0 19:09:47 RESOLVED: Close ISSUE-62 adopting Holger's proposal, drafted in http://w3c.github.io/data-shapes/shacl/index-2015-07-13.html#scopesAndFilters 19:10:39 q+ 19:10:51 ack hknublau 19:11:05 topic: ISSUE-47 19:11:05 issue-47 -- Can SPARQL-based constraints access the shape graph, and how? -- open 19:11:05 http://www.w3.org/2014/data-shapes/track/issues/47 19:11:27 q+ 19:11:44 ack pfps 19:12:30 q+ 19:12:32 pfps: having recursion is independent of whether access to the shapes graph is needed when you're performing validation. 19:12:35 ack aryman 19:12:57 I don't see how the *need* for recursion has anything to do with access to the shape graph when doing validation 19:13:34 aryman: suppose we have a non-RDF representation, like ShExC or some other non-RDF representation, we'd not even be contemplating providing access to the shapes graph 19:13:43 q+ 19:14:08 ack hknublau 19:14:17 ... what is access to the shapes graph required for recursion 19:14:37 hknublau: we need it for closed shapes, lists of arguments, templates... 19:14:49 I see no *need* for access to the shape graph when validating shapes at all - it is only a particular implementation that requires this access 19:15:00 ... when we want to mix SPARQL with javascript, we need a callback to the server 19:15:18 +q 19:15:24 q+ 19:15:24 ... i'm not against supporting a subset of SHACL that works against remote SPARQL endpoints. 19:15:31 ... we need a profile 19:16:00 ack Dimitris 19:16:09 ... given that some folks want to work with remote endpoints and others have a richer framework 19:16:52 Dimitris: how is javascript related? it' can't see the graph 19:17:18 ack pfps 19:17:46 pfps: i'm hearing a claim that access to the data graph is necessary, which i don't believe is true. 19:18:23 hknublau: things like accessing an RDF list of arguments. 19:18:29 q_ 19:18:33 q+ 19:19:00 ack pfps 19:19:20 ... it's clearly the fasted approach to have the data graph and the shapes graph in named graphs 19:19:39 pfps: i'm not hearing an answer 19:19:39 q+ 19:19:46 ack aryman 19:20:12 aryman: we've accepted as a requirement that the core language be implemented in languages other than SPARQL. 19:20:21 q+ 19:20:37 ... every statement seems to be that it's easier, not that it's required. 19:20:39 ack hknublau 19:20:48 ... if it's required, we've lost language neutrality 19:21:15 q+ 19:21:38 ack aryman 19:21:43 there is a big difference between something that is necessary and something that is elegant or nice - if access to the shape graph is necessary for SHACL (particularly the core) then we need to have this access, if this is only elegant or nice then it is not necessary and may not be desirable 19:22:07 hknublau: we could have an outer loop that does an SPO query, but maybe we want it more integrated 19:22:40 q+ 19:23:25 ack ericP 19:23:55 what is supposed to be worked out off-line? 19:25:59 +q 19:26:10 ericP: in ShEx there are both lists and recursion, but there is no access to the shapes graph during ShEx execution 19:26:28 Arnaud: it would be odd if the core of the impl required a switch that not everyone implemented 19:26:34 https://www.w3.org/2014/data-shapes/wiki/Main_Page#Useful_Working_Group_Wiki_pages_and_documents 19:26:36 @ericP ShEx doesn’t have templates, and this was my use case. 19:27:05 (Arguments such as lists of operands in AND and OR) 19:27:49 I'm still not sure what is supposed to be worked out 19:27:49 q+ 19:28:00 ack Dimitris 19:28:01 q+ 19:28:22 Dimitris: we need distinguish three things: 19:28:29 ... .. specification 19:28:42 ... .. access inside core 19:28:47 ... access outside core 19:29:04 -q 19:29:07 ack hknublau 19:29:33 hknublau: i'm happy to start that wiki page 19:29:47 ack pfps 19:29:57 ... but i see many months going by [before FPWD] 19:30:14 pfps: i see lots of "see ShEx" in this new document 19:30:44 ... ShEx is an example of how to implement something very SHACL-like without access to the shapes graph 19:31:58 trackbot, end meeting 19:31:58 Zakim, list attendees 19:31:58 sorry, trackbot, I don't know what conference this is 19:32:06 RRSAgent, please draft minutes 19:32:06 I have made the request to generate http://www.w3.org/2015/07/16-shapes-minutes.html trackbot 19:32:07 RRSAgent, bye 19:32:07 I see no action items