- From: Holger Knublauch <holger@topquadrant.com>
- Date: Mon, 18 Jul 2016 11:02:53 +1000
- To: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
In the recent meeting, we had a straw poll on ISSUE-139 (Universal
Applicability) and since I was the person with the strongest opposition
to the proposed changes Arnaud asked me to talk to Dimitris to change my
mind. I have meanwhile exchanged emails with him and I still believe
this change is a major step in the wrong direction. However, in the
interest of making progress, I would change my -1 to a -0.9 vote for the
following approach:
- We delete sh:context and related things such as the big table in
section 4.
- This means that all constraint components can be used for both node
and property constraints
- For the extension mechanism, we keep the currently specified approach
(sh:validator etc)
- Extension authors do not have to implement validators for both cases.
* If a validator is missing for the given context, no violations
will be produced.
* A validator may be a blanket instance that always produces
violations or a failure
(we can define a reusable instance of sh:SPARQLSelectValidator
with a URI, e.g.
ex:MyComponent sh:nodeValidator sh:ViolatedForEachFocusNode)
I believe this approach would give the proponents of universal
applicability all they had asked for, while reducing the cost for
extension authors. To indicate where a constraint component can be used,
I will promote using sh:scopeClass and hope this establishes itself as a
best practice. (I will simply add these triples to the copy of the SHACL
vocab used by TopBraid).
Unless I hear otherwise, this would be my PROPOSAL for the next meeting.
Holger
Received on Monday, 18 July 2016 01:03:24 UTC