- From: Arnaud Le Hors <lehors@us.ibm.com>
- Date: Sun, 2 Oct 2016 10:16:56 +0200
- To: kcoyle@kcoyle.net
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
- Message-Id: <OF23E9CC87.8AF8F2A3-ONC1258040.002B9639-C1258040.002D7D27@notes.na.collabserv.c>
Thank you Karen for doing this. Although I can't speak for Peter I suspect you are touching on one of the reasons he and others have found the current draft lacking. The specification could rely on the abstract syntax to add some formalism but it would then need to refer to it normatively. This may be something worth considering at this point. -- Arnaud Le Hors - Senior Technical Staff Member, Open Web Technologies - IBM Cloud From: Karen Coyle <kcoyle@kcoyle.net> To: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org> Date: 10/01/2016 06:29 PM Subject: Declare and define I agree with Peter that "declare" is too imprecise where it is used in the SHACL spec. Define, IMO, is clear. I looked at the XML schema spec to see how they dealt with these terms, since there is similar functionality in play. That spec does use "define", but it also uses "express" when making general statements, as in: "In general, a valid document is a document whose contents obey the constraints expressed in a particular schema." and "Any application that consumes well-formed XML can use the formalism defined here to express syntactic, structural and value constraints applicable to its document instances." I also think that the use of "obey" here may be a solution for the problem of "match" that has also come up. Note: the SKOS spec talks about "statements" (not definitions) and says things like: "The graph below states that <MyConcept> is a SKOS concept (i.e., an instance of skos:Concept)." It uses this terminology consistently throughout. I'm not saying that "statement" is necessarily useful in SHACL, but the consistency in SKOS is what makes it useful there. The XML schema does define normal English terms like "validation": "Validation is the process of determining whether an XML document, an element information item, or an attribute information item obeys the constraints expressed in a schema; in the context of XSD, this amounts to calculating the value of the appropriate item's [validity] property." We might be able to borrow definintions from that spec. It uses a convention for definitions that we could also borrow: "During ·validation·, [Definition:] *declaration* components are associated by (qualified) name to information items being ·validated·." In terms of "failure", XML schema uses "error" for this, and defines it as: error A failure of a schema or schema document to conform to the rules of this specification. I must admit that looking at the XML spec, which has a function that we've said is analogous to SHACL, it is indeed more precise; it is also much longer by far. Even though the SKOS spec is shorter, more of it consists of examples and tables, and is quite formal. The SKOS spec also is written in terms of RDF, since it is an RDF implementation. These are aspects that are missing from SHACL. I don't know to what extent W3C expects a style conformance, but SHACL is quite different from other W3C specifications that I have viewed. It also lacks the formalisms that would define, for example, what "match" or "conforms" means. It was requested that we add those to the abstract syntax, but I would imagine that there is the expectation that the specification itself should have that level of precision. kc -- Karen Coyle kcoyle@kcoyle.net http://kcoyle.net m: 1-510-435-8234 skype: kcoylenet/+1-510-984-3600
Received on Sunday, 2 October 2016 08:17:43 UTC