- From: Holger Knublauch <holger@topquadrant.com>
- Date: Thu, 15 Dec 2016 10:30:56 +1000
- To: public-data-shapes-wg@w3.org
I had an action to review whether this email had been responded to, so here I am filling that gap. On 28/11/2016 8:49, Karen Coyle wrote: > I can do that, but what about the other questions I brought up - > > 1. > >> The textual description of each component refers to the concept of > >> value nodes which is defined as follows, including rules for the > >> creation of validation results: > > -->The part after the comma "including..." ? What does it refer to? > What are the "rules"? I think what is meant is: > > "The description of each component in this section refers to value > nodes. Value nodes and their validation report rules are defined as:" > -->is that correct? Yes that's a better way of putting it, so I have updated the spec: https://github.com/w3c/data-shapes/commit/32527e9643289340c5944587ecd5f24f4d0dc0f3 > > > > 2. > The SHACL vocabulary defines the class sh:PrefixDeclaration for the > >> values of sh:declare although no rdf:type triple is required for them. > >> > >> -> defines the class ... as the range/domain? for the values? I don't > >> know what this means > > "defines... as the range/domain for the values..." ?? Switched to "The SHACL vocabulary *includes* the class sh:PrefixDeclaration *as type* for the values... > > > 3. > >> 6.2.1 Parameter pre-binding > >> > >> Every parameter name defines a pre-bound variable for the constraint > >> component the parameter belongs to. > >> > >> ->?? how does a name define? What is supposed to be happening here? Updated in the commit above, too. I hope this clarifies these remaining cases. Thanks Holger > >> > > I *can* make changes, but not where I don't understand what is meant. > > kc > > On 11/27/16 2:04 PM, Holger Knublauch wrote: >> Hi Karen, >> >> I don't see problems with the use of "define" in any of these sentences. >> If you feel strongly about this, please make specific suggestions on how >> to replace them, e.g. by preparing a branch. >> >> Holger >> >> >> On 28/11/2016 1:09, Karen Coyle wrote: >>> Here are the places where I think "define" is used incorrectly: >>> >>> 2.3.3 >>> A subjects-of target is specified with the predicate >>> sh:targetSubjectsOf, the values of which must be IRIs. For every value >>> p of such a target, the validated nodes are defined as the set of >>> subjects in the data graph that appear in a triple with p as a >>> predicate. >>> >>> 3.4 >>> The validation report is the result of the validation process that >>> reports the conformance and the set of all validation results. The >>> validation report is described with the SHACL Validation Report >>> Vocabulary as defined in this section. This vocabulary defines the RDF >>> properties to represent structural information that may provide >>> guidance on how to identify or fix violations in the data graph. >>> >>> 4. >>> The textual description of each component refers to the concept of >>> value nodes which is defined as follows, including rules for the >>> creation of validation results: >>> >>> "The term 'value nodes' used in this section is defined as:" >>> >>> ->The part after the comma "including..." ? What does it refer to? >>> What includes this? >>> >>> 4.6 Property Pair Constraint Components >>> >>> The constraint components in this section restrict the sets of value >>> nodes in relation to other properties. Value nodes of focus node >>> constraints are always defined as a set of size 1 and may produce >>> unexpected results when used with constraint components of this >>> category. >>> >>> 4.8.3 >>> any combination of parameters associated with node validation >>> constraints. A node validation constraint is any constraint defined by >>> a boolean function on nodes. These include the built-in constraints >>> defined by sh:nodeKind, sh:partition, sh:minExclusive, etc. The >>> corresponding subset consists of those remaining nodes for which the >>> boolean function is true. >>> >>> ->any combination of parameters associated with node validation >>> constraints. A node validation constraint is any constraint *that is* >>> a boolean function on nodes. These include the built-in constraints >>> sh:nodeKind, sh:partition, sh:minExclusive, etc. The corresponding >>> subset consists of those remaining nodes for which the boolean >>> function is true. >>> >>> The following paragraphs define this algorithm more precisely. >>> >>> -> drop this, put definition in a box (or some other way that shows >>> that it is not text), and caption it "Algorithm for partition" >>> >>> 5.2 >>> The SHACL vocabulary defines the class sh:PrefixDeclaration for the >>> values of sh:declare although no rdf:type triple is required for them. >>> >>> -> defines the class ... as the range/domain? for the values? I don't >>> know what this means >>> >>> 6.2.1 Parameter pre-binding >>> >>> Every parameter name defines a pre-bound variable for the constraint >>> component the parameter belongs to. >>> >>> ->?? how does a name define? What is supposed to be happening here? >>> >>> kc >>> >>> On 11/26/16 3:19 PM, Holger Knublauch wrote: >>>> >>>> >>>> On 26/11/2016 3:05, Irene Polikoff wrote: >>>>> How is this different from the following (interchangeable, as far >>>>> as I >>>>> can tell) use of the words of ‘define’, ‘describe’ , ‘declare’ and >>>>> ‘represent’ in https://www.w3.org/TR/owl-ref/? >>>>> >>>>> A class description of the "enumeration" kind is defined with >>>>> the owl:oneOf >>>>> <http://www.w3.org/TR/2004/REC-owl-semantics-20040210/#owl_oneOf> >>>>> property. >>>>> The value of this built-in OWL property must be a list of >>>>> individuals that are the instances >>>>> <https://www.w3.org/TR/owl-ref/#Individual> of the class. This >>>>> enables a class to be described by exhaustively enumerating its >>>>> instances. The class extension of a class described >>>>> with |owl:oneOf| contains exactly the enumerated individuals, no >>>>> more, no less. The list of individuals is typically represented >>>>> with the help of the RDF construct |rdf:parseType="Collection"|, >>>>> which provides a convenient shorthand for writing down a set of >>>>> list elements. For example, the following RDF/XML syntax >>>>> defines a >>>>> class of all continents: >>>>> >>>>> <owl:Class> >>>>> >>>>> <owl:oneOf rdf:parseType="Collection"> >>>>> >>>>> <owl:Thing rdf:about="#Eurasia"/> >>>>> >>>>> <owl:Thing rdf:about="#Africa"/> >>>>> >>>>> <owl:Thing rdf:about="#NorthAmerica"/> >>>>> >>>>> <owl:Thing rdf:about="#SouthAmerica"/> >>>>> >>>>> <owl:Thing rdf:about="#Australia"/> >>>>> >>>>> <owl:Thing rdf:about="#Antarctica"/> >>>>> >>>>> </owl:oneOf> >>>>> >>>>> </owl:Class> >>>>> >>>>> and >>>>> >>>>> The following example defines a class of individuals which >>>>> have at >>>>> least one parent who is a physician: >>>>> >>>>> <owl:Restriction> >>>>> >>>>> <owl:onProperty rdf:resource="#hasParent" /> >>>>> >>>>> <owl:someValuesFrom rdf:resource="#Physician" /> >>>>> >>>>> </owl:Restriction> >>>>> >>>>> and >>>>> >>>>> The following example describes the class of individuals who have >>>>> the individual referred to as |Clinton| as their parent: >>>>> >>>>> <owl:Restriction> >>>>> >>>>> <owl:onProperty rdf:resource="#hasParent" /> >>>>> >>>>> <owl:hasValue rdf:resource="#Clinton" /> >>>>> >>>>> </owl:Restriction> >>>>> >>>>> and >>>>> >>>>> if the class description C1 is defined as a subclass of class >>>>> description C2, then the set of individuals in the class >>>>> extension >>>>> of C1 should be a subset of the set of individuals in the class >>>>> extension of C2. A class is by definition a subclass of itself >>>>> (as >>>>> the subset may be the complete set). >>>>> >>>>> An example: >>>>> >>>>> <owl:Class rdf:ID="Opera"> >>>>> >>>>> <rdfs:subClassOf rdf:resource="#MusicalWork" /> >>>>> >>>>> </owl:Class> >>>>> >>>>> This class axiom declares a subclass relation between two OWL >>>>> classes that are described through their names >>>>> (|Opera| and |MusicalWork|). >>>>> >>>>> >>>>> >>>>> I think we are wasting valuable time on this particular item. >>>> >>>> +1 >>>> >>>> For the record, I agree with the goal of getting the terminology >>>> right, >>>> and I agree that it's important. At some stage this is becoming rather >>>> arbitrary though (I mean just look at rdfs:isDefinedBy - shouldn't >>>> this >>>> be rdfs:isDeclaredBy?). This is one of these topics that seem to be >>>> only >>>> relevant in the weird realm of W3C specs, and have almost zero >>>> practical >>>> relevance for end users. >>>> >>>> With this clean up of "define" etc I have done what was asked, so >>>> let's >>>> please move on. We have 25 open tickets. >>>> >>>> Holger >>>> >>>> >>>>> [A I said previously, I do think that the terms ‘shape >>>>> description’ or >>>>> ‘shape definition’ are worth defining] >>>>> >>>>> Further, to me, the version of the sentence below that uses “defined >>>>> using” is much clearer and more intuitive than the version that uses >>>>> “of”. >>>>> >>>>> Irene >>>>> >>>>>> On Nov 25, 2016, at 11:34 AM, Karen Coyle <kcoyle@kcoyle.net >>>>>> <mailto:kcoyle@kcoyle.net>> wrote: >>>>>> >>>>>> That's fine if the usage is unambiguous and follows the normal >>>>>> meaning of "define", and there are many clear uses of define in >>>>>> document, which I noted previously. If it is used to mean >>>>>> "provides a >>>>>> definition for" then it's fine. There are other times when it is >>>>>> used >>>>>> to mean "has as value" or simple "is" - as in >>>>>> >>>>>> "Note also that a qualified cardinality constraint defined using >>>>>> sh:qualifiedValueShape, sh:qualifiedMinCount, and >>>>>> sh:qualifiedMaxCount is equivalent to a sh:partition constraint >>>>>> that..." >>>>>> >>>>>> In those cases, the term "defined" is less precise than: >>>>>> >>>>>> Note also that a qualified cardinality constraint of either >>>>>> sh:qualifiedValueShape, sh:qualifiedMinCount, and >>>>>> sh:qualifiedMaxCount is equivalent to a sh:partition constraint >>>>>> that..." >>>>>> >>>>>> There's no need for define here, and nothing is really being >>>>>> defined. >>>>>> The use of these properties is not definitional, it simply "is" and >>>>>> should be stated that way. >>>>>> >>>>>> kc >>>>>> >>>>>> On 11/24/16 6:14 PM, Irene Polikoff wrote: >>>>>>> Several W3C specs use the words ‘define’, ‘describe’ and ‘specify’ >>>>>>> without saying what these words mean. They also, at times, use them >>>>>>> interchangeably. >>>>>>> >>>>>>> For example, I think in the following passage from RDFS spec, >>>>>>> ‘define’ >>>>>>> and ‘describe’ are used interchangeably: >>>>>>> >>>>>>> "rdfs:isDefinedBy is an instance of rdf:Property that is used to >>>>>>> indicate a resource defining the subject resource. This >>>>>>> property may >>>>>>> be used to indicate an RDF vocabulary *in which a resource is >>>>>>> described.* >>>>>>> >>>>>>> A triple of the form: >>>>>>> >>>>>>> S rdfs:isDefinedBy O >>>>>>> >>>>>>> states that the *resource O defines S*.” >>>>>>> >>>>>>> The word ‘declare’ or its derivation such as ‘declaration’ is used >>>>>>> more >>>>>>> rarely, but there is some usage. For example, in the RDFS spec: >>>>>>> >>>>>>> >>>>>>> "Although it is possible to combine use rdfs:domain and >>>>>>> rdfs:range >>>>>>> with sub-property hierarchies, direct support for such >>>>>>> declarations >>>>>>> are provided by richer Web Ontology languages such as OWL.” >>>>>>> >>>>>>> >>>>>>> OWL spec also makes an extensive use of words ‘define’ or >>>>>>> ‘describe’ >>>>>>> without defining them. However, it attempts to define something >>>>>>> called >>>>>>> ‘class description’ and ‘class definition’ e.g., >>>>>>> in https://www.w3.org/TR/2004/REC-owl-features-20040210/: >>>>>>> >>>>>>> "A class description is the term used in this document (and >>>>>>> in the >>>>>>> OWL Semantics and Abstract Syntax) for the basic building >>>>>>> blocks of >>>>>>> class axioms (informally called class definitions in the >>>>>>> Overview >>>>>>> and Guide documents). A class description describes an OWL >>>>>>> class, >>>>>>> either by a class name or by specifying the class extension >>>>>>> of an >>>>>>> unnamed anonymous class.” >>>>>>> >>>>>>> >>>>>>> And in https://www.w3.org/TR/owl-guide/ >>>>>>> >>>>>>> Class Definition >>>>>>> informal term for an owl:Class element >>>>>>> Class Description >>>>>>> describes an OWL class, either by a class name or by >>>>>>> specifying >>>>>>> a class extension of an unnamed anonymous class >>>>>>> >>>>>>> >>>>>>> The specification makes an extensive use of the phrase “class >>>>>>> description”. >>>>>>> >>>>>>> With this, I question the need to formally define words such as >>>>>>> “define”, “describe”, etc. because all other specs seem to rely on >>>>>>> the >>>>>>> common sense interpretation of these words. It may be useful to >>>>>>> define >>>>>>> “shape description” and/or “shape definition'. This could also >>>>>>> help to >>>>>>> resolve Issue-209. >>>>>>> >>>>>>> Irene Polikoff >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 11/24/16, 3:22 PM, "Karen Coyle" <kcoyle@kcoyle.net >>>>>>> <mailto:kcoyle@kcoyle.net> >>>>>>> <mailto:kcoyle@kcoyle.net>> wrote: >>>>>>> >>>>>>> I would advise choosing only one of them, and removing >>>>>>> "sometimes" from >>>>>>> the statement, which makes it something you cannot rely on - in >>>>>>> other >>>>>>> words, are they used other times for something else? is >>>>>>> something >>>>>>> else >>>>>>> sometimes used in their place?: >>>>>>> >>>>>>> "(In this document, the verbs <em>specify</em> or >>>>>>> <em>declare</em> are >>>>>>> sometimes used to express the fact that a node has property >>>>>>> values in a >>>>>>> graph.)" >>>>>>> >>>>>>> I haven't read through the uses at this point. >>>>>>> >>>>>>> kc >>>>>>> >>>>>>> On 11/23/16 9:11 PM, Holger Knublauch wrote: >>>>>>> >>>>>>> I have gone through the whole document, replacing most >>>>>>> usages of >>>>>>> "define" with either "specify" or "declare". I have also >>>>>>> added >>>>>>> definitions of these two terms to the beginning of the >>>>>>> document: >>>>>>> >>>>>>> https://github.com/w3c/data-shapes/commit/92407af35824a7100845b4a84884c86de086b9d7 >>>>>>> >>>>>>> >>>>>>> >>>>>>> Holger >>>>>>> >>>>>>> >>>>>>> On 19/11/2016 2:15, Irene Polikoff wrote: >>>>>>> >>>>>>> I would use "specified" for the second meaning of >>>>>>> "defined". >>>>>>> I think >>>>>>> "declared" would work as well. "Described" - may be, but >>>>>>> would not be >>>>>>> my first choice. >>>>>>> >>>>>>> On Thu, Nov 17, 2016 at 5:21 PM, RDF Data Shapes Working >>>>>>> Group Issue >>>>>>> Tracker <sysbot+tracker@w3.org >>>>>>> <mailto:sysbot+tracker@w3.org> >>>>>>> <mailto:sysbot+tracker@w3.org> >>>>>>> <mailto:sysbot+tracker@w3.org>> wrote: >>>>>>> >>>>>>> shapes-ISSUE-197 (Defined ): "Defined" and >>>>>>> "declared" >>>>>>> used in >>>>>>> multiple ways, and not defined [SHACL Spec] >>>>>>> >>>>>>> http://www.w3.org/2014/data-shapes/track/issues/197 >>>>>>> <http://www.w3.org/2014/data-shapes/track/issues/197> >>>>>>> >>>>>>> Raised by: Karen Coyle >>>>>>> On product: SHACL Spec >>>>>>> >>>>>>> >From Peter's email [1]: >>>>>>> >>>>>>> "Constraints are defined within a shape" >>>>>>> >>>>>>> "Defined within" is not defined. >>>>>>> >>>>>>> "Constraints that declare more than one parameters, >>>>>>> such as >>>>>>> sh:pattern, are >>>>>>> not allowed to be declared more than once in the >>>>>>> same >>>>>>> constraint." >>>>>>> >>>>>>> The first two uses of "declare" come from section >>>>>>> 6.2. A core >>>>>>> definition is >>>>>>> needed. >>>>>>> >>>>>>> The last use of "declared" is not defined. >>>>>>> >>>>>>> "declare" is used for many different purposes, >>>>>>> most of >>>>>>> them undefined. >>>>>>> >>>>>>> ******* More analysis ******* >>>>>>> The use of defined in its normal sense of "having a >>>>>>> definition" is >>>>>>> ok. Example: >>>>>>> >>>>>>> "The parameter name is defined as the local name >>>>>>> of the >>>>>>> value of >>>>>>> sh:predicate." >>>>>>> >>>>>>> The use of defined to mean something like "takes >>>>>>> as a >>>>>>> value" or >>>>>>> "is coded as" is less clear: >>>>>>> >>>>>>> "Property constraints are defined in a shape >>>>>>> with the >>>>>>> property >>>>>>> sh:property." >>>>>>> "Based on the parameter IRIs on the tables, >>>>>>> pre-bound >>>>>>> variables >>>>>>> are defined using the parameter names." >>>>>>> >>>>>>> In some cases, the term "declare" is used in the >>>>>>> same >>>>>>> way as the >>>>>>> second meaning of define: >>>>>>> " Constraint components declare one or more >>>>>>> parameter >>>>>>> properties >>>>>>> and validation instructions (such as those >>>>>>> implemented >>>>>>> as SPARQL >>>>>>> queries) that can be used to perform the >>>>>>> validation for >>>>>>> the given >>>>>>> focus node and parameter values." >>>>>>> >>>>>>> Suggest: >>>>>>> - use "defined" for "is given a definition or >>>>>>> meaning >>>>>>> in this or >>>>>>> other texts >>>>>>> - do not use "declare" >>>>>>> - find a more precise term for the second >>>>>>> meaning of >>>>>>> "defined" >>>>>>> that specifically addresses the creation of >>>>>>> properties >>>>>>> and values, >>>>>>> regardless of how "definitional" they are. >>>>>>> >>>>>>> (Note how this is used in the SKOS document: >>>>>>> "Therefore, while >>>>>>> SKOS can be used to describe a concept scheme, SKOS >>>>>>> does not >>>>>>> provide any mechanism to completely define a >>>>>>> concept >>>>>>> scheme." >>>>>>> Could "describe" be used for this second meaning of >>>>>>> "define"? That >>>>>>> still seems imprecise for the specific cases in >>>>>>> SHACL.) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Karen Coyle >>>>>>> kcoyle@kcoyle.net >>>>>>> <mailto:kcoyle@kcoyle.net> <mailto:kcoyle@kcoyle.net> >>>>>>> http://kcoyle.net >>>>>>> <http://kcoyle.net/> >>>>>>> m: 1-510-435-8234 >>>>>>> skype: kcoylenet/+1-510-984-3600 >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> Karen Coyle >>>>>> kcoyle@kcoyle.net <mailto:kcoyle@kcoyle.net> http://kcoyle.net >>>>>> <http://kcoyle.net/> >>>>>> m: 1-510-435-8234 >>>>>> skype: kcoylenet/+1-510-984-3600 >>>>> >>>> >>> >> >> >> >
Received on Thursday, 15 December 2016 00:31:35 UTC