- From: Holger Knublauch <holger@topquadrant.com>
- Date: Thu, 18 Jan 2024 18:44:13 +0100
- To: Vladimir Alexiev <vladimir.alexiev@ontotext.com>
- Cc: Public Shacl W3C <public-shacl@w3.org>
- Message-Id: <E24FF651-AE9D-4B90-A5E3-2906E2503EE5@topquadrant.com>
> On 18 Jan 2024, at 4:29 pm, Vladimir Alexiev <vladimir.alexiev@ontotext.com> wrote: > > sh:closed is local, i.e. per shape. It checks that a targeted node doesn't include unsanctioned props. > I'm looking for ways to declare a globally closed schema, i.e. to catch untargeted nodes, i.e. that the KG doesn't include unsanctioned nodes. > > 1. I guess one can do it with SPARQL (SHACL advanced) by triggering off some fixed node. > Here's a very expensive way to catch all nodes: select distinct ?s {?s ?p ?o} > 2. It would be useful to "mark" all nodes visited during SHACL validation. > - SHEX has a way to report positive results: https://shexspec.github.io/primer/ShExJ#validation > - SHACL doesn't have a standard way to report positive results: https://www.w3.org/TR/shacl/#results-validation-result . > But there is a note "SHACL implementations may use other SHACL subclasses of sh:AbstractResult, for example, to report successfully completed constraint checks or accumulated results." > Say we "standardize" a new class eg dash:PositiveValidation Already exist: dash:SuccessResult a rdfs:Class ; rdfs:comment "A result representing a successfully validated constraint." ; rdfs:label "Success result" ; rdfs:subClassOf sh:AbstractResult ; . > Then one could look for nodes that don't appear in sh:ValidationResult.focusNode nor dash:PositiveValidation.focusNode Yes. There may also be different algorithms such as enumerating the allowed rdf:types which could be represented with a targeted constraint on rdf:type and a sh:in. This depends on what someone considers unsanctioned nodes. Holger > > All feedback is welcome!
Received on Thursday, 18 January 2024 17:44:32 UTC