- From: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
- Date: Wed, 5 Oct 2016 06:20:52 +0300
- To: Karen Coyle <kcoyle@kcoyle.net>
- Cc: public-data-shapes-wg <public-data-shapes-wg@w3.org>
- Message-ID: <CA+u4+a3ZMo-SM6uY=UqK067a1JCEP7N18D=ed3eKdnHvzO=G7w@mail.gmail.com>
Hi Karen, This is a work in progress but tries to define focus nodes better https://github.com/w3c/data-shapes/commit/095364dd05d103ca117eb9570d3b48ddf46a580d regarding 2.1 maybe this also needs better wording but here's the explanation ex:shapeA sh:targetClass ex:Foo. sh:property [ sh:predicate ex:foo ; sh:shape ex:shapeB; ]. ex:shapeB sh:targetClass ex:Bar. sh:property [] ... shapeB has 2 roles in this shapes graph 1) validate all instances of ex:Bar against ex:shapeB 2) serve as a nested shape for ex:shapeA in the latter (only) the focus nodes are provided by ex:shapeA and the target of ex:shapeB is ignored we also write in the spec (2.1) : While targets define the starting points of the validation process, some shapes may validate - less focus nodes when a shapes defines filters, or - additional focus nodes against different shapes, for example when referenced via sh:shape and sh:or. let me know if this helps and if possible, which parts are still unclear Thanks Dimitris On Tue, Oct 4, 2016 at 6:03 PM, Karen Coyle <kcoyle@kcoyle.net> wrote: > Here's what I see as the offending sentence, which is also one that Peter > cited: > > "The focus nodes may also be determined as > part of the validation of constraints that include references to shapes > using properties such as sh:shape and sh:or." > > That is in the first paragraph of 2.0. > > See: > > (2.1) "Targets are ignored when a shape is processed as a nested shape in > shape-based constraint components (i.e. sh:shape), logical constraint > components (i.e. sh:or), filter shapes (sh:filterShape) or, for SHACL Full, > in the evaluation of the sh:hasShape SPARQL function as defined in appendix > A." > > I'm not sure what "targets are ignored" actually means, unless it means > that the entire data graph is the target. If you ignore a target, then what > are you paying attention to? Or is the meaning that sh:shape and sh:or > extend the target? Where you do first connect with the data graph if there > is no target? > > kc > > > On 10/3/16 8:16 AM, Karen Coyle wrote: > >> I still find the definition of focus node circular. The focus node is >> defined as (in terminology): >> >> "A node in the data graph that is validated against a shape is called a >> focus node." >> >> This essentially says: if it is validated against a shape, then it is a >> focus node. >> >> But there is a focus node constraint that defines constraints on the >> focus node. So now there is a constraint defined on a focus node that >> (as per the terminology) cannot exist until validation takes place. >> >> Also note that in the validation section, the only mention of focus >> nodes is in the validation report. There is no description of using (or >> creating) focus nodes in validation. Since the Targets section does not >> define focus nodes, only targets, they have not been defined anywhere in >> sections 2 or 3. >> >> kc >> >> On 10/2/16 11:35 AM, Dimitris Kontokostas wrote: >> >>> Hi Karen, >>> >>> On Sun, Oct 2, 2016 at 6:54 PM, Karen Coyle <kcoyle@kcoyle.net >>> <mailto:kcoyle@kcoyle.net>> wrote: >>> >>> >>> Dimitris, the part of the spec we are talking about is the >>> validation section. If Filters take place as part of validation, >>> then we should move them to the validation section. If validation >>> takes place after the filters are applied, then at that point it is >>> a focus node. My understanding (and I would like to hear from >>> others) is that the entire process of validation takes place on >>> focus nodes. >>> >>> >>> Section 2 describes shapes, targets, filters and constraints, then >>> section 3 describes validation as well as the data graph, shapes graph >>> and validation results. >>> All constructs described in section 2 are referenced in the validation >>> definition but any feedback to restructure these sections is more than >>> welcome. >>> >>> Based on my understanding, >>> filters are of course part of the validation process but the term focus >>> node is used when the nodes reach the constraints of the shape. >>> As I said, I do not have a strong opinion on this and would be happy to >>> discuss this further during the next call or hear what others have to say >>> >>> I'm also a bit concerned about that "iff" - while it is a commonly >>> known shorthand for "if and only if" it is not English language and >>> not universally known, so I think that "iff" should be written as >>> "if and only if" when used in a sentence. If the section were in an >>> abstract syntax then I think that "iff" would be appropriate. This >>> section is not that formal. I do find it used in W3C documents when >>> describing formal rules (see section 2.1 of the SWRL document [1]). >>> >>> >>> I replaced iff according to your suggestion. >>> >>> Thanks, >>> Dimitris >>> >>> -- >>> Dimitris Kontokostas >>> Department of Computer Science, University of Leipzig & DBpedia >>> Association >>> Projects: http://dbpedia.org, http://rdfunit.aksw.org, >>> http://aligned-project.eu >>> Homepage: http://aksw.org/DimitrisKontokostas >>> <http://aksw.org/DimitrisKontokostas> >>> Research Group: AKSW/KILT http://aksw.org/Groups/KILT >>> <http://aksw.org/Groups/KILT> >>> >>> >> > -- > Karen Coyle > kcoyle@kcoyle.net http://kcoyle.net > m: 1-510-435-8234 > skype: kcoylenet/+1-510-984-3600 > > -- Dimitris Kontokostas Department of Computer Science, University of Leipzig & DBpedia Association Projects: http://dbpedia.org, http://rdfunit.aksw.org, http://aligned-project.eu Homepage: http://aksw.org/DimitrisKontokostas Research Group: AKSW/KILT http://aksw.org/Groups/KILT
Received on Wednesday, 5 October 2016 03:21:49 UTC