- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Sat, 17 Oct 2015 18:23:38 -0700
- To: public-data-shapes-wg@w3.org
Thanks, Holger. The difference wasn't clear to me in the spec. For now, the definitions are: sh:hasValue: 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. sh:allowedValues: The property sh:allowedValues can be used to enumerate the values a property can have. When specified, the value of the given property must be members of the specified set. With some hindsight I see the meanings, but I must say it possibly could be clearer. Also "value... must be members... set" has some mixing of singular and plural that makes it harder to understand. Is there some reason why we can't say what you say below? (Maybe Arthur could add this to his edits?) kc On 10/17/15 5:10 PM, Holger Knublauch wrote: > The difference is that sh:hasValue is *existential*, i.e. the property > must have the given value but it may also have others that are no > enumerated. On the other hand, sh:in is *exclusive*, i.e. no other > values than the enumerated ones are permitted. > > Holger > > > On 10/18/15 5:31 AM, Karen Coyle wrote: >> Will this also be used for lists of one value? I ask because I was >> noticing that the current draft has sh:hasValue as well as >> sh:allowedValues, even though logically a list of one is ... one. It >> would make sense to me that if there is only one possible value (which >> doesn't sound to me like a common case, but perhaps it is in other >> environments) users would not have to use a different property. That's >> a decision/switch that a program can make for the user. >> >> kc >> >> On 10/16/15 7:48 PM, Holger Knublauch wrote: >>> It basically means that the node must be *member of* the given list. >>> When used via sh:constraint (as below) it means that all nodes where the >>> shape applies to must be members of this set - if the shape is validated >>> against ex:Blue then a violation is fired. When used via sh:property >>> this means that all values must be members of the list. >>> >>> Holger >>> >>> >>> On 10/17/15 10:42 AM, Karen Coyle wrote: >>>> Sorry, I've forgotten what we said "in" means - one of? any of? >>>> >>>> kc >>>> >>>> On 10/15/15 1:55 PM, Holger Knublauch wrote: >>>>> Following today's resolution on ISSUE-98, I propose to close ISSUE-84 >>>>> using sh:in, e.g. >>>>> >>>>> ex:TrafficLightColors >>>>> a sh:Shape ; >>>>> sh:constraint [ >>>>> sh:in (ex:Green ex:Red ex:Yellow) >>>>> ] . >>>>> >>>>> I also suspect we may now close ISSUE-88 using the node constraints >>>>> from >>>>> ISSUE-98, but this would need to be confirmed by Jose. >>>>> >>>>> Holger >>>>> >>>>> >>>>> >>>> >>> >>> >>> >> > > > -- Karen Coyle kcoyle@kcoyle.net http://kcoyle.net m: 1-510-435-8234 skype: kcoylenet/+1-510-984-3600
Received on Sunday, 18 October 2015 01:24:09 UTC