17:57:28 RRSAgent has joined #shapes 17:57:28 logging to http://www.w3.org/2016/03/17-shapes-irc 17:57:30 RRSAgent, make logs rdf-data-shapes 17:57:30 Zakim has joined #shapes 17:57:32 Zakim, this will be SHAPES 17:57:32 I do not see a conference matching that name scheduled within the next hour, trackbot 17:57:33 Meeting: RDF Data Shapes Working Group Teleconference 17:57:33 Date: 17 March 2016 17:58:09 agenda: https://www.w3.org/2014/data-shapes/wiki/Meetings:Telecon2016.03.17 17:58:14 chair: Arnaud 18:01:09 present+ 18:01:18 present+ 18:01:45 Dimitris has joined #shapes 18:01:47 hknublau has joined #shapes 18:01:54 BartvanLeeuwen has joined #shapes 18:02:48 present+ 18:03:05 pfps has joined #shapes 18:03:08 present+ 18:03:46 present+ 18:04:32 hsolbrig has joined #shapes 18:04:40 present+ hsolbrig 18:05:22 scribe: simonstey 18:05:55 topic: Admin 18:05:45 PROPOSED: Approve minutes of the 10 March 2016 Telecon: http://www.w3.org/2016/03/10-shapes-minutes.html 18:05:53 minutes look OK 18:06:35 RESOLVED: Approve minutes of the 10 March 2016 Telecon: http://www.w3.org/2016/03/10-shapes-minutes.html 18:07:09 TOPIC: Disposal of Raised Issues 18:07:22 PROPOSED: Open ISSUE-134 knowing inverse, ISSUE-135 and/or syntactic sugar, ISSUE-136 Property pair names, ISSUE-137 language tag 18:07:37 +1 18:07:45 +1 18:07:45 +1 18:07:51 +1 18:07:51 +1 18:07:53 +1 18:08:11 RESOLVED: Open ISSUE-134 knowing inverse, ISSUE-135 and/or syntactic sugar, ISSUE-136 Property pair names, ISSUE-137 language tag 18:08:17 TOPIC: ISSUE-80: Scheme URIs 18:08:21 issue-80 18:08:21 issue-80 -- Constraint to limit IRIs against scheme/namespace, possibly with dereferencing -- open 18:08:21 http://www.w3.org/2014/data-shapes/track/issues/80 18:08:51 Arnaud: we talked about it last week; eric sent out an email about how stem works in shex.. where do we stand now? 18:09:14 jamsden has joined #shapes 18:09:29 ericP: was I about to send a proposal on how this would look like in shacl? 18:10:20 Arnaud: thought this would be a low hanging fruit 18:11:01 TOPIC: ISSUE-129 18:11:05 issue-129 18:11:05 issue-129 -- Existential constraints should be consistent -- open 18:11:05 http://www.w3.org/2014/data-shapes/track/issues/129 18:11:50 Arnaud: dimitris raised that issue 18:12:22 ... we should spend little bit of time discussing it; some votes were already cast 18:12:59 Dimitris: the definition of extential constraints might not be the best one 18:13:16 q+ 18:13:16 ... but e.g. hasValue works different from other constraint types in shacl 18:13:52 ... while others only work over exisiting values, this does not 18:14:20 pfps: holger had a perfect description for that 18:14:50 ... i see no possibility of changing the meaning of hasValue since it works exactly as it should 18:15:30 Arnaud: so you are saying there is nothing to be fixed? 18:15:33 ack pfps 18:16:04 pfps: no.. espec. the meaning of the newer ones need some fiddling 18:17:03 ... the problem doesn't go away if you get rid of the existential ones 18:18:13 ... e.g., equals, minCount have a clear meaning and people would scream at us if we change it 18:18:51 ericP: i'm wondering whether people actually understand the implications of what you are saying? 18:19:49 q+ 18:19:53 pfps: when people do db querying, they get confused if they get no answers for a query 18:20:50 Arnaud: example: there must not be a property with a certain value less than x 18:21:10 ack Dimitris 18:21:11 ... does the value need to exist? 18:21:29 Dimitris: this is not an implementation issue; that's the easy part 18:21:59 ... I was worried about users actually understanding the meaning of hasValue 18:22:32 ... it could e.g., be changed to sh:requiredValue 18:22:44 q+ 18:22:48 The definition for hasValue is "The property sh:hasValue can be used to verify that the focus node has a given RDF node among the values of the given predicate. " This seems to be very obvious. 18:22:51 ack jamsden 18:22:53 q+ 18:23:23 jamsden: what's the confusion here? 18:23:54 For sh:in "The property sh:in exclusively enumerates the values that a property may have. When specified, each value of the given property must be a member of the specified list. " 18:24:06 ack pfps 18:24:06 Both seem quite obvious and the right definition 18:24:14 q+ 18:24:22 pfps: there is no such thing as undefined in SPARQL 18:24:33 ... it's there or not 18:25:00 q+ 18:25:17 q+ 18:25:28 ack kcoyle 18:25:32 ... the current definitions seem pretty obvious to me 18:25:37 jamsden: same for me 18:26:09 Jim, the problem is that sh:in ("foo") and sh:hasValue "foo" behave differently 18:26:11 In RDF values are not associated with properties. 18:26:13 q+ 18:26:46 kcoyle: the cardinality constraints are on the property and not the value, right? 18:26:54 how about "includesValue" 18:27:14 pfps: in shacl, everytime you are doing something you have a property in hand 18:27:26 "has" tends to be fuzzy whether we're dealing with a set or an individual 18:27:44 ack pfps 18:27:50 or, to be more orthogonal with "in", just "has" 18:28:10 { [ sh:predicate :foo; sh:hasValue 1; sh:hasValue 2 ] } \ { :foo 1,2,3 } 18:28:10 s/"has"/"includes"/ 18:28:44 +q 18:28:45 { [ sh:predicate :foo; sh:in ( 1 2 ) ] } \ { :foo 1,2,3 } => fail 18:29:08 pfps: e.g. sh:in looks at each of the values separately (for each of those values..) 18:29:32 +1 to harold's proposal 18:29:42 though i'm curious about use cases for this 18:29:44 ... minCount on the other hand works over the whole set of properties 18:29:57 maybe ditch sh:hasValue ? 18:30:22 ack ericP 18:30:48 ... two triples that have the same S, P but different Os resemble something like multivalued properties 18:31:17 q- 18:31:44 q+ 18:31:56 ack simonstey 18:32:30 Labra has joined #shapes 18:32:31 hasValue is very common in filters 18:32:48 ack hsolbrig 18:32:50 I think hasValue has lots of uses -- unless I misunderstand it 18:33:17 I agree with Holger that hasValue would be very common in filters 18:34:19 hsolbrig: the confusion comes from the fact that its meaning can be understood as "its value includes" 18:34:34 ... or "its value is" 18:35:11 hknublau, can you describe how hasValue is used in filters? 18:35:23 q+ 18:35:37 ack simonstey 18:36:20 "Every person who has bornIn = USA must not travel to Cuba" 18:36:56 Arnaud: so how do we make progress here? 18:37:25 pfps: whoops.. my proposal is simple -> do nothing 18:38:22 Arnaud: lets give it another week, there is no rush on closing now 18:38:36 present+ labra 18:39:04 topic: Type, instance, subclass in SHACL documents 18:39:40 Arnaud: there was extensive discussion on that on the mailing list 18:39:53 issue-65 18:39:53 issue-65 -- Consistency and cohesiveness of nomenclature (e.g., shapes, scopes, and constraints) -- open 18:39:53 http://www.w3.org/2014/data-shapes/track/issues/65 18:39:55 issue-120 18:39:55 issue-120 -- The spec must be more precise and consistent about when a resource is a shape, a class, and an instance of a class -- closed 18:39:55 http://www.w3.org/2014/data-shapes/track/issues/120 18:40:15 ... those issues might be related to that topic 18:41:32 pfps: I'm pretty sure that SPARQL isn't using "instance" anywhere in its spec 18:41:34 \me sparql says "for instance..." 18:41:59 s/me sparql says "for instance..."// 18:42:26 hknublau: we certainly need to improve the wording 18:42:41 pfps, SPARQL 1.1 uses instance for the notion of "instance mapping" 18:42:48 (and a few instances of "for instance") 18:43:18 ... we have some redudancies in the document that where meant to support understanding but might ended up confusing people 18:44:19 the overhead will be about 100 words in a long document 18:44:20 ... I do not agree with pfps that we are violating any ??? 18:45:07 Arnaud: we need to make sure that the spec isn't wrong 18:46:10 ... for me the downside of pfps' proposal is that it might be a bit painful of having to write "SHACL instance" everytime 18:46:27 q+ 18:46:32 ... but at the same time I'm sensitive to his proposal 18:46:39 ack pfps 18:46:48 ... since people might not read the document from the beginning to the end 18:47:33 q+ 18:47:38 ack Dimitris 18:47:43 pfps: I think we need to be cristal clear about the difference between SHACL instance and RDF(S) instance 18:48:23 Dimitris: we could try to remove all uses of instance, but we've to see 18:49:18 s/cristal/crystal 18:49:37 Arnaud: Syntax and metamodel Complexity and Possible simplifications 18:49:47 s/Arnaud:/Topic: 18:51:03 pfps: I found a hole in the metamodel.. which is kind of disturbing 18:51:07 q+ 18:51:47 ... when a property is both a target of a inversepropertyconstraint as well as a propertyconstraint, it behaves strange 18:52:54 [... pfps writing down an example ...] 18:53:04 sh:shape sh:property [ a sh:InversePropertyConstraint ; sh:predicate ex:foo ; sh:minCount 2 ] 18:54:26 [ericP & pfps discussing the example] 18:54:26 ack hknublau 18:54:38 validating as the above: 18:54:43 hknublau: it's unfinished but not broken 18:55:00 ... both of your examples are invalid shape graphs 18:55:14 sh:shape sh:property [ a sh:PropertyConstraint ;a sh:InversePropertyConstraint ; sh:predicate ex:foo ; sh:minCount 2 ] 18:55:18 :foo . :foo . :foo . :foo . 18:55:24 ... what we could do is, making propertyconstraint and inversepropconstraint disjoint 18:56:25 ... so a constraint can't be both at the same time 18:56:40 :foo . :foo . :foo . :foo . 18:57:38 ericP: in shex we just have a flag that says whether something is forwards or backwards 18:58:55 pfps: people can do a lot of silly, stupid and/or smart things in RDF 19:00:53 ... you don't want to have to deal with defending your syntax against stupid/silly/.. proposals just because you weren't explicit enough in specifying what's allowed and what's not 19:01:21 Arnaud: I want people to investigate pfps proposal 19:01:59 pfps, did OWL address this by saying that a parsing OWL from RDF fails if there is more than one way to parse it? 19:02:19 iovka has joined #shapes 19:02:22 ... I think pfps has made a fair amount of effort in providing information about his proposal 19:02:34 OWL solves this problem by making string requirements on graphs that are valid OWL ontologies 19:02:48 https://www.w3.org/2014/data-shapes/wiki/ISSUE-95:_Metamodel_simplifications#Proposal_4 19:03:26 I believe that Holdger said that syntax with positional arguments was an anti-pattern 19:03:30 ... I want to step back from discussing specific issues and discuss pfps proposal 19:04:12 ericP: maybe pfps wants to give us a short description of his proposal now? 19:04:52 https://www.w3.org/2014/data-shapes/wiki/ISSUE-95:_Metamodel_simplifications#Proposal_4 19:06:09 pfps: 1) sh:property/invprop. you have to pull out the property and put it in a list; the benefit is that you don't have to worry about not knowing in which direction you have to go 19:07:01 ... 2) sh:pattern is a little bit odd right now 19:07:12 current: ex:MyShape a sh:Shape ; sh:constraint [ a sh:Shape ; sh:predicate ex:myProperty ; sh:class ex:Person ; sh:in ( ex:Susan ex:Bill ) ] . 19:07:15 pfps: ex:MyShape a sh:Shape ; sh:fillers ( ex:myProperty [ a sh:Shape ; sh:class ex:Person ; sh:in ( ex:Susan ex:Bill ) ] ) . 19:08:05 current: ex:MyShape a sh:Shape ; sh:property [ a sh:Shape ; sh:predicate ex:myProperty ; sh:class ex:Person ; sh:in ( ex:Susan ex:Bill ) ] . 19:08:08 pfps: ex:MyShape a sh:Shape ; sh:propValue ( ex:myProperty [ a sh:Shape ; sh:class ex:Person ; sh:in ( ex:Susan ex:Bill ) ] ) . 19:08:47 ... you can't have two properties inside the square brackets to combine together 19:09:24 ... currently it's painful to repeat things 19:10:30 ... 3) you can actually put e.g. sh:minCount anywhere in the shape 19:10:44 ex:PersonShape sh:minCount 1e10 . 19:11:29 ... there are no more node/property/invpropertyconstraints anymore 19:11:55 ... there are only shapes; very similar to shex 19:14:44 Arnaud: I'm wondering whether the WG thinks we should spend time on looking into this or not 19:15:15 STRAWPOLL: continue investigating Peter's proposal there may be something there (+1: agree, 0: not sure, -1: disagree) 19:15:18 +1 19:15:19 +1 19:15:19 +1 19:15:20 -1 19:15:22 +1 19:15:22 +1 19:15:26 +1 (surprise!) 19:15:45 0- ( I think there are good elements but not user friendly) 19:16:03 +0 19:16:08 but we might adopt some bits and pieces 19:16:26 I note that I have updated my previous SHACL implementation for this new syntax. It is about 80% complete. 19:16:32 I don't see the motivation for such a significant change at this late date 19:17:27 to be fair, RDF makes for complex, long, and hard-to-understand syntax 19:18:10 these issues just aren't that compelling to me 19:18:54 what is the process for assessing, evaluating and deciding on a resolution? 19:19:00 Arnaud: I encourage everybody to have a read on pfps proposal 19:19:09 TOPIC: Comparative expressiveness of ShEx and SHACL 19:19:29 iovka's email: https://lists.w3.org/Archives/Public/public-data-shapes-wg/2016Mar/0219.html 19:19:52 document: https://hal.archives-ouvertes.fr/hal-01288285/document 19:20:29 iovka: I'm a formal methods person; so in order to understand SHACL I generated an abstraction of SHACL 19:21:33 ... I used presburger arithmetics for caputring shex (not needed for shacl) 19:21:44 s/caputring/capturing 19:22:28 iovka: future goal is to come up with a transformation between shex <-> shacl 19:23:45 ... I would need some support from someone who's more familiar with shacl than me for checking whether I captured shacl correctly or not 19:25:01 q+ 19:25:10 ack pfps 19:25:14 Arnaud: I'm quite grateful on what iovka is doing 19:25:41 q+ 19:26:25 ack iovka 19:26:35 pfps: the reason why I jumped on hasValue is that I'm not sure whether the current formalism is actually capable of capturing it (haven't looked at it though) 19:27:19 iovka: I had a brief look at it today and it appears to be one of the easiest constraints 19:27:33 iovka expressed [] sh:hasValue 1 can be captured in ShEx as EXTRA :foo { :foo [1] } 19:27:53 s/can be captured in/as/ 19:28:49 my time is likely to be very limited for a while starting very soon now 19:29:45 I will have a read 19:30:42 trackbot, end meeting 19:30:42 Zakim, list attendees 19:30:42 As of this point the attendees have been Arnaud, simonstey, hknublau, pfps, Dimitris, hsolbrig, labra, kcoyle, ericP, jamsden, iovka 19:30:43 quit 19:30:50 RRSAgent, please draft minutes 19:30:50 I have made the request to generate http://www.w3.org/2016/03/17-shapes-minutes.html trackbot 19:30:51 RRSAgent, bye 19:30:51 I see no action items