Re: shapes-ISSUE-197 (Defined ): "Defined" and "declared" used in multiple ways, and not defined [SHACL Spec]

All of these are about classes, which are concepts that must be defined 
to be useful. I'm fine with these. They define the semantics of a class 
in the *vocabulary definition* of the class (not in instance data). The 
issue is whether in an instance that reads:

A hasAuthor B

there is any "defining" going on. The meaning is "has as an instance 
value". B does not "define" A.

If, instead, the uses in SHACL are indeed definitions of classes, then 
we need to make that clear. I haven't understood them to be that. Not in:

"A constraint component defines one or more properties, called 
parameters, and defines so-called validators"

And it isn't a waste of time to get the terminology right.

kc

On 11/25/16 9:05 AM, 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. [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
>

-- 
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600

Received on Friday, 25 November 2016 17:50:43 UTC