IRC log of shapes on 2016-09-01

Timestamps are in UTC.

18:01:35 [RRSAgent]
RRSAgent has joined #shapes
18:01:35 [RRSAgent]
logging to
18:01:37 [trackbot]
RRSAgent, make logs rdf-data-shapes
18:01:37 [Zakim]
Zakim has joined #shapes
18:01:39 [trackbot]
Zakim, this will be SHAPES
18:01:39 [Zakim]
ok, trackbot
18:01:40 [trackbot]
Meeting: RDF Data Shapes Working Group Teleconference
18:01:40 [trackbot]
Date: 01 September 2016
18:02:43 [simonstey]
18:02:53 [hknublau]
18:02:58 [pano]
18:03:12 [marqh]
marqh has joined #shapes
18:03:31 [kcoyle]
18:04:02 [Arnaud]
hi all
18:04:15 [Arnaud]
I'm trying to get connected
18:04:37 [Arnaud]
I'm running on a crippled env so, not sure how this is going to work out
18:04:48 [ericP]
18:04:55 [marqh]
18:05:00 [kcoyle]
It's Brussels, Arnaud. You can't connect from Brussels
18:05:13 [ericP]
Zakim, who's here?
18:05:13 [Zakim]
Present: simonstey, hknublau, pano, kcoyle, ericP, marqh
18:05:15 [Zakim]
On IRC I see marqh, Zakim, RRSAgent, Arnaud, Dimitris, pano, kcoyle, hknublau, simonstey, ericP, trackbot
18:05:24 [Arnaud]
especially when you don't have internet installed yet :)
18:05:25 [Dimitris]
18:05:25 [ericP]
present+ Dimitris
18:05:36 [ericP]
PROPOSED: Approve minutes of the 25 August 2016 Telecon:
18:06:16 [hknublau]
18:06:24 [pano]
18:06:27 [simonstey]
18:06:29 [ericP]
APPROVED: Approve minutes of the 25 August 2016 Telecon:
18:06:30 [kcoyle]
18:06:33 [Dimitris]
18:07:20 [ericP]
DONE: Dimitris to send a thank you to pfps, linking
18:07:44 [ericP]
no regrets for next meeting
18:07:56 [ericP]
topic: ISSUE-150
18:08:50 [ericP]
in last week's exciting espisode, we conclused that SHACL does not treat sh:Violation differently from other severities to determine if a node validates against a shape
18:09:26 [kcoyle]
18:10:37 [Dimitris]
in section 3: validation definition
18:10:42 [kcoyle]
eric:question - is there any place in spec where there is idea of declaring whether node validations against shape
18:10:52 [Dimitris]
no, it is standalone
18:11:50 [Dimitris]
18:12:15 [kcoyle]
eric: asking Dimitris re: nesting of errors: Dimitris prefers least severe "win" when validating; kcoyld and Arnaud prefer most severe;
18:12:20 [ericP]
ack next
18:12:23 [kcoyle]
... other options is to base on nesting position
18:12:57 [Arnaud]
no, Arnaud prefers outermost wins
18:13:06 [kcoyle]
Dimitris: prefer that outer shape overrides all; this is simplest solutionl
18:13:14 [Arnaud]
but I can live with the other way around
18:13:33 [kcoyle]
eric: simplist is that inner defines it - don't have to pass parameters or filter erros
18:14:12 [kcoyle]
Dimitris: when severity defined in nesting would not be allowed; if severity defined then nesting position not taken into account
18:14:41 [kcoyle]
eric: inner shape wins; can validate without awareness of cntext of outer severity
18:15:03 [kcoyle]
Dimitris: nesting is subjective; simple approach should win
18:15:24 [kcoyle]
eric: what you do gets more complicated as you nest down
18:15:53 [simonstey]
it's def. better than ignoring the sev. of the nested shape(s)
18:16:13 [kcoyle]
eric: smplest approach - severity defined by innermost shape
18:16:35 [Arnaud1]
Arnaud1 has joined #shapes
18:16:45 [simonstey]
what if there's no "inner most" shape?
18:17:09 [ericP]
PROPOSED: the severity of violations of nested shapes is determined only by the severity of the constraint in which the violation occured
18:18:43 [Dimitris]
recursion is undefined anyway in SHACL
18:18:51 [simonstey]
18:18:57 [kcoyle]
eric: much of this depends on recursion
18:19:02 [kcoyle]
18:19:10 [ericP]
ack next
18:19:49 [Arnaud1]
18:19:53 [simonstey]
18:20:57 [ericP]
ack next
18:21:07 [kcoyle]
18:21:42 [Dimitris]
18:21:45 [Dimitris]
18:23:08 [kcoyle]
holger: what about a case with A or B? and both are validated?
18:23:41 [Dimitris]
18:23:41 [kcoyle]
eric: explaining a nested constraint
18:24:06 [kcoyle]
hknublau: I would prefer not to have any relationship between these. Whatever is defined locally is used
18:24:08 [ericP]
ack next
18:25:00 [kcoyle]
Dimitris: if I have a nested shape and both fail, if inner shape has two severities
18:25:16 [kcoyle]
hknublau: system will have to evaluate all of them to find out what the severity is
18:25:47 [kcoyle]
Dimitris: neither solution is perfect
18:26:55 [simonstey]
that was also my understanding
18:27:08 [hknublau]
18:27:14 [kcoyle]
hknublau: this is compatible with current SPARQL queries
18:27:23 [marqh]
18:27:25 [pano]
18:27:44 [ericP]
APPROVED: the severity of violations of nested shapes is determined only by the severity of the constraint in which the violation occured
18:27:56 [ericP]
topic: ISSUE-105
18:27:59 [kcoyle]
18:27:59 [trackbot]
ISSUE-105 -- SHACL SPARQL constraints depend on namespaces in a graph, which is not defined -- open
18:27:59 [trackbot]
18:28:23 [Arnaud_crippled]
holger is right
18:28:30 [Arnaud_crippled]
issue-150 can be closed
18:28:43 [ericP]
PROPOSED: close issue-150
18:28:47 [hknublau]
18:28:47 [Dimitris]
18:28:48 [marqh]
18:28:50 [kcoyle]
18:28:53 [ericP]
APPROVED: close issue-150
18:28:54 [simonstey]
18:28:56 [pano]
18:29:00 [kcoyle]
18:29:14 [hknublau]
18:29:28 [Arnaud_crippled]
s/close issue-150/close issue-150 based on previous two resolutions/
18:29:44 [kcoyle]
hknublau: intorudction: raised by Peter; for SPARQL extension; is curently unspecified
18:30:01 [kcoyle]
... should sparql queries reference prexies that are used somewhere else?
18:30:04 [TallTed]
TallTed has joined #shapes
18:30:17 [kcoyle]
... SELECT ... WEHRE... rdfs:label...
18:30:53 [kcoyle]
... conservative is either use whole URI or always include prefix in sparql query - thus always self-contained
18:31:19 [kcoyle]
... other approaches: have mechanism in graph holding shapes to declare prefixes globallyt (H's preference)
18:31:35 [kcoyle]
.... means don't need to repeat prefixes
18:31:45 [hknublau]
<http://namespace#> sh:prefix "ex"
18:32:04 [kcoyle]
... examples of namespace declaration
18:32:37 [kcoyle]
engine would use those prefix declarations into query
18:32:43 [TallTed]
18:34:04 [kcoyle]
hknublau: would put it in OWL ontology - will be there when OWL import used
18:34:22 [kcoyle]
ericP: you are making assertions about someone else mainspace?
18:34:33 [TallTed]
18:34:51 [TallTed]
18:35:09 [ericP]
ack next
18:35:11 [kcoyle]
hknublau: most files already have namespace declarations; usually clear one-to-one mapping
18:35:19 [ericP]
ack next
18:35:50 [kcoyle]
TallTed: in my experience collisions happen - multiple prefixes for same namespace are used
18:36:03 [kcoyle]
... i can see this as an import mechansim, but not sure how to make this work
18:36:19 [hknublau]
18:36:22 [kcoyle]
... enviornmental setting could be specific, but on large scale more problem than solution
18:36:26 [ericP]
ack next
18:36:52 [kcoyle]
hknublau: in case of dcterms/dct can declare both prefixes for same namespace
18:37:17 [kcoyle]
... problem lies where same prefix used for different namespaces
18:37:21 [ericP]
18:37:26 [ericP]
PREFIX ex: <http://a.example/>
18:37:42 [ericP]
<> sh:globalPrefixDeclList ([sh:prefix "ex"; sh:ns <http://a.example/>]).
18:37:58 [ericP]
<S1> sh:constraint "ASK { ex:...}" .
18:38:32 [kcoyle]
ericP: either way we have to duplicate prefixes both in turtle prolog and in an rdf structure
18:38:55 [kcoyle]
... this is a variation of holger's proposal - made global list
18:39:11 [kcoyle]
... not stick assertions onto nodes where describing someone else's namespace
18:39:26 [marqh]
18:39:44 [kcoyle]
TallTed: no, this doesn't assuage my concern; point is to provide shorthand for sparql
18:40:21 [kcoyle]
... when you have multiply declared prefix, whether or not same namespace, sparql 1.1 kicks back an error
18:40:51 [ericP]
ack next
18:40:56 [kcoyle]
... anyone who makes conformant sparql queries (including prefixes) runs risk of error
18:41:37 [kcoyle]
marqh: don't see extra benefit; might write this in a tool that makes complicated shapes, but not if doing quick by hand
18:41:42 [hknublau]
18:41:44 [kcoyle]
... feels like this comes at a price
18:42:00 [ericP]
ack next
18:43:00 [kcoyle]
hknublau: benefit is for people writing turtle files by hand; believe majority of rdf developers are writing turtle by hand
18:43:38 [kcoyle]
... in a tool, you could extend prefixes; or insert them in the beginning
18:44:00 [kcoyle]
... believe users want to see only minimal
18:44:43 [kcoyle]
TallTed: the tool can hide prefix declarations; turtle file that results must include jprefix declarations
18:44:52 [kcoyle]
... even most common namespaces
18:45:43 [kcoyle]
hknublau: prefixes of turtle files are unrelated
18:46:01 [kcoyle]
TallTed: prefix declaration does not survive serialization
18:46:25 [kcoyle]
... but if prefix not there, it's an error
18:46:46 [kcoyle]
hknublau: when someone writes a shape, they know what graph they are in
18:46:57 [kcoyle]
TallTed: but reuse... then what happens?
18:49:01 [kcoyle]
Dimitris: see Ted's point, just re-use parameters, which would minimize need to re-write sparql queries
18:49:48 [kcoyle]
simonstey: see both points; implementation-wise see Holger's point
18:50:00 [kcoyle]
... but also see Ted's because easier to implement but can cause problems
18:50:34 [kcoyle]
... more in favor of an error-proof solution;
18:51:14 [kcoyle]
pano: same as simon, but leaning towards what Holger is saying - it should also be easy to write sparql
18:51:37 [kcoyle]
...queries and use prefixes
18:52:19 [kcoyle]
... if you want to re-use shapes need to be careful
18:52:44 [kcoyle]
TallTed: the shapes that you produce will not be reusable because not conformant
18:53:17 [ericP]
STRAW POLL: a: some prefix mechanism, b: no no no!
18:53:30 [ericP]
STRAW POLL: a: some prefix mechanism, b: no prefix mechanism
18:53:53 [hknublau]
a) +1 b) -1
18:54:41 [Dimitris]
18:54:46 [simonstey]
18:55:45 [kcoyle]
Dimitris: This is another which has precedence issue
18:56:01 [ericP]
ack next
18:56:08 [ericP]
ack next
18:56:40 [kcoyle]
simonstey: can we say - you have to write correct sparql queries in your shacl constraints including prefix declarations
18:57:05 [kcoyle]
... you have to specify respective namespaces; you might want to consider using a tool to
18:57:16 [kcoyle]
... automatically include this in all sparql queries
18:57:29 [kcoyle]
... this is where tools improve user experience
18:59:28 [TallTed]
for example... four namespaces are in fact associated with `dc:`, in the wild --
18:59:41 [marqh]
a) 0 b) +1
19:00:03 [hknublau]
19:00:33 [kcoyle]
hknublau: there is a safe mechanism because the sparql queries are embeded in objects
19:00:50 [kcoyle]
... tools could use standard and local prefixes
19:01:28 [kcoyle]
TallTed: what's "standard"?
19:01:32 [TallTed]
19:01:41 [TallTed]
has two wild namespaces
19:01:41 [kcoyle]
a) -1 b) +1
19:02:03 [simonstey]
a) 0 b) 1
19:02:12 [TallTed]
a: -0.9 b: +0.9
19:02:28 [pano]
a) +0.1 b) -0.1
19:02:37 [Dimitris]
a) 0 b) 0.5
19:04:04 [kcoyle]
hknublau: prefix declaration extends other prefix declaration
19:04:24 [kcoyle]
TallTed: concatenates sh:prefix with sh:query... or something like that;
19:04:46 [kcoyle]
... there might be various levels, subclasses... subpredicates
19:04:56 [kcoyle]
hknublau: I will write proposal for next week
19:05:21 [ericP]
topic: ISSUE-137
19:05:30 [kcoyle]
19:05:30 [trackbot]
ISSUE-137 -- Missing constraint for language tag -- open
19:05:30 [trackbot]
19:06:27 [kcoyle]
19:06:28 [ericP]
19:06:48 [TallTed]
s/subclasses... subpredicates/subpredicates like system, user, etc./
19:07:16 [ericP]
kcoyle: it's not just that it has *a* language tag, or even a specific language tag, but also unique language tag
19:07:24 [hknublau]
19:07:34 [ericP]
ack next
19:07:37 [ericP]
ack next
19:08:12 [kcoyle]
ericP: uniqueLang does #3 of kcoyle's three
19:09:30 [kcoyle]
... 'hasLanguageTag" - can it use the more complex language tags?
19:09:48 [Dimitris]
that is sh:datatype rdf:langString
19:09:51 [hknublau]
For that we already have sh:datatype rdf:langString
19:11:03 [Dimitris]
I think that a sh:languageTagIn ( "en" "fr" ... ) is more useful
19:11:25 [kcoyle]
I like that, Dimitris
19:12:00 [kcoyle]
ericP: there's class and type includes to see if it's in a particular set
19:12:54 [kcoyle]
... analogous to what we do already with typing
19:13:19 [kcoyle]
hknublau: don't hhave classIn anymore; using or
19:13:46 [TallTed]
need to check... 1. every value has unique langtag; 2. there's a value for every langtag in list; 3. there are no values with langtags not in this list; 4. there is at least one value with a langtag in list; 5. ?
19:13:49 [kcoyle]
ericP: sh:in is an enumerative property; value must be in list
19:14:44 [kcoyle]
good list Ted. Maybe we need to put this in wiki
19:16:06 [kcoyle]
ericP: this is a matrix
19:16:46 [ericP]
STRAW POLL: a: persue Bart's language tags, b: drop for now
19:17:03 [kcoyle]
a: +1 b: -.5
19:17:05 [TallTed]
"at least one of" , "at least all of" , "no more than" ; "uniquness" is distinct
19:17:10 [hknublau]
a) -0.5 b) +1 (easily handled by extension mechanism)
19:17:17 [TallTed]
19:17:38 [simonstey]
a) 0.8 b) 0.1
19:17:42 [Dimitris]
a) +.5 b) 0
19:17:47 [pano]
a)0 b)0
19:17:47 [TallTed]
a: +0.5 b: -0.5
19:18:17 [TallTed]
19:18:47 [TallTed]
s/"at least one of" ,/"none of" , "at least one of" ,/
19:19:16 [ericP]
ACTION: kcoyle to create some wiki documentation exploring the requirements
19:19:16 [trackbot]
Created ACTION-41 - Create some wiki documentation exploring the requirements [on Karen Coyle - due 2016-09-08].
19:20:12 [ericP]
topic: ISSUE-71
19:20:28 [kcoyle]
19:20:28 [trackbot]
ISSUE-71 -- SHACL Endpoint Protocol -- open
19:20:28 [trackbot]
19:20:49 [kcoyle]
hknublau: similar to what sparql endpoints provide - a web proptocal that would define how people can
19:21:10 [kcoyle]
send a complete shapes graph to a database and shacl would return result
19:21:17 [kcoyle]
... willing to withdraw it
19:22:12 [kcoyle]
ericP: using something like this in shex; can be used to evaluate sets you don't want to move around
19:22:31 [kcoyle]
... i'm going to test this node against this remote shape
19:22:35 [kcoyle]
19:23:24 [kcoyle]
... it's simple - there's a shape, a node,
19:23:29 [ericP]
ack next
19:23:58 [hknublau]
19:24:40 [hknublau]
19:24:41 [ericP]
ack next
19:25:21 [kcoyle]
kcoyle: is this the library case? going against remote vocabularies?
19:25:30 [kcoyle]
hknublau: yes, same use case
19:26:33 [kcoyle]
kcoyle: is this part of the standard? or separate?
19:26:47 [kcoyle]
kcoyle: could this be a related standard?
19:26:56 [hknublau]
Without a standard, each database vendor will invent their own protocol.
19:27:17 [kcoyle]
ericP: a way in shex to say that this is external
19:30:31 [ericP]
ACTION: kcoyle to document library use cases for (remote) validation protocol
19:30:31 [trackbot]
Created ACTION-42 - Document library use cases for (remote) validation protocol [on Karen Coyle - due 2016-09-08].
19:30:34 [kcoyle]
kcoyle: opposes closing this without more investigation of use cases
19:31:02 [ericP]
19:31:29 [Dimitris]
Dimitris has left #shapes
19:40:16 [Arnaud_crippled]
trackbot, end meeting
19:40:16 [trackbot]
Zakim, list attendees
19:40:16 [Zakim]
As of this point the attendees have been simonstey, hknublau, pano, kcoyle, ericP, marqh, Dimitris, Arnaud, .05, .5, TallTed
19:40:24 [trackbot]
RRSAgent, please draft minutes
19:40:24 [RRSAgent]
I have made the request to generate trackbot
19:40:25 [trackbot]
RRSAgent, bye
19:40:25 [RRSAgent]
I see 2 open action items saved in :
19:40:25 [RRSAgent]
ACTION: kcoyle to create some wiki documentation exploring the requirements [1]
19:40:25 [RRSAgent]
recorded in
19:40:25 [RRSAgent]
ACTION: kcoyle to document library use cases for (remote) validation protocol [2]
19:40:25 [RRSAgent]
recorded in