shacl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: bfd8b2e322078d6c7126673e51557abbc932f0d73adf40746993fe17dc37b052
4
+ data.tar.gz: 9bdf6b6f5c5a5690021dc1ce567a0ef38b5fee7246ac25b04d8333de8e1736ca
5
+ SHA512:
6
+ metadata.gz: 41394099ad2f1f10a36ba2e6d47412c214194ece2310388fcbf5981f91e8aaa5be05db05a15bdbadf4895f33c17aa815c96b65eda387f0cc052a3e56ad01c144
7
+ data.tar.gz: 795668e35a3493338b45c0e9021bd23a8b5901fe930f8365f3676ee3ab1dd6bd5ee3efb456ae3c3673e475f3ac53850dd7c107d6c11a84ccb294f33966082a53
data/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ For more information, please refer to <https://unlicense.org>
@@ -0,0 +1,159 @@
1
+ # SHACL: Shapes Constraint Language (SHACL) for Ruby
2
+
3
+ This is a pure-Ruby library for working with the [Shape Constraint Language][SHACL Spec] to validate the shape of [RDF][] graphs.
4
+
5
+ [![Gem Version](https://badge.fury.io/rb/shacl.png)](https://badge.fury.io/rb/shacl)
6
+ [![Build Status](https://github.com/ruby-rdf/shacl/workflows/CI/badge.svg?branch=develop)](https://github.com/ruby-rdf/shacl/actions?query=workflow%3ACI)
7
+ [![Coverage Status](https://coveralls.io/repos/ruby-rdf/shacl/badge.svg)](https://coveralls.io/github/ruby-rdf/shacl)
8
+ [![Gitter chat](https://badges.gitter.im/ruby-rdf/rdf.png)](https://gitter.im/ruby-rdf/rdf)
9
+
10
+ ## Features
11
+
12
+ * 100% pure Ruby with minimal dependencies and no bloat.
13
+ * Fully compatible with [SHACL][SHACL Spec] specifications.
14
+ * 100% free and unencumbered [public domain](https://unlicense.org/) software.
15
+
16
+ [Implementation Report](https://ruby-rdf.github.io/shacl/etc/earl.html)
17
+
18
+ Install with `gem install shacl`
19
+
20
+ ## Description
21
+
22
+ The SHACL gem implements a [SHACL][SHACL Spec] Shape Expression engine.
23
+
24
+ ## Examples
25
+
26
+ require 'linkeddata'
27
+ require 'shacl'
28
+
29
+ graph = RDF::Graph.load("etc/doap.ttl")
30
+ shacl = SHACL.open("etc/doap.shacl")
31
+ report = shacl.execute(graph)
32
+ #=> ValidationReport(conform?, results*)
33
+
34
+ ## Command Line
35
+ TODO: When the `linkeddata` gem is installed, RDF.rb includes a `rdf` executable which acts as a wrapper to perform a number of different
36
+ operations on RDF files, including SHACL. The commands specific to SHACL is
37
+
38
+ *`shacl`: Validate repository given shape
39
+
40
+ Using this command requires `shacl`, which references a URI or file path to the SHACL shapes graph. Other options are `shape` and `focus`.
41
+
42
+ Example usage:
43
+
44
+ rdf shacl https://ruby-rdf.github.io/shacl/etc/doap.ttl \
45
+ --shape https://ruby-rdf.github.io/shacl/etc/doap-shape.ttl
46
+
47
+ The result will add the SHACL validation report to the output graph, optionally replacing the graph with the results, expressing the results as an s-expression, or adding the results as output messages.
48
+
49
+ ## Documentation
50
+
51
+ <https://rubydoc.info/github/ruby-rdf/shacl>
52
+
53
+ ## Implementation Notes
54
+
55
+ Similar to the [ShEx gem][] and to the general strategy for querying graphs in the [SPARQL gem][], the strategy is to parse SHACL shapes into executable operators, which are called recursively to create result sets corresponding to matched nodes and properties.
56
+
57
+ The shape graph is parsed into JSON-LD, and then converted into [S-Expressions][], which match the execution path. These [S-Expressions][] can be parsed to recreate the executable shape constraints.
58
+
59
+ Evaluating the shapes against a graph results in a {SHACL::ValidationReport} indicating conformance, along with a set of individual {SHACL::ValidationResult} instances.
60
+
61
+ The resulting validation report can be compared with other validation reports, used as native Ruby objects, serialized to s-expressions, or used as an RDF::Enumerable to retrieve the RDF representation of the report, as defined in [SHACL Spec][].
62
+
63
+ ### Matching Entailed Triples
64
+ Many tests check for entailed triples, such as entailed super-classes of explicit `rdf:type` values. If this is required for a given application, the [RDF::Reasoner][] gem can be used to create such entailed triples.
65
+
66
+ require 'shacl'
67
+ require 'rdf/reasoner'
68
+ RDF::Reasoner.apply(:rdfs)
69
+ graph = RDF::Graph.load("etc/doap.ttl")
70
+ graph.entail!
71
+ shacl = SHACL.open("etc/doap.shacl")
72
+ results = shacl.execute(graph)
73
+ #=> [ValidationResult, ...]
74
+
75
+ ### Future work
76
+ This implementation is certainly not performant. Some things that can be be considered in future versions:
77
+
78
+ * Support for SHACL-SPARQL
79
+ * Index shapes on `targetNode` and `targetClass` and other targets to allow a more efficient query to find relevant resources in the data graph and not simply iterrate through each top-level shape.
80
+ * Cache target nodes as JSON-LD to reduce the need to separately query for each constraint.
81
+ * Reasoner should support limited RDFS/OWL entailment from the data graph, not just pre-defined vocabularies.
82
+
83
+ ## Dependencies
84
+
85
+ * [Ruby](https://ruby-lang.org/) (>= 2.4)
86
+ * [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.1, => 3.1.8)
87
+ * [SPARQL](https://rubygems.org/gems/sparql) (~> 3.1, => 3.1.4)
88
+ * [json-ld](https://rubygems.org/gems/sparql) (~> 3.1, => 3.1.7)
89
+ * [sxp](https://rubygems.org/gems/sxp) (~> 1.1)
90
+
91
+ ## Installation
92
+
93
+ The recommended installation method is via [RubyGems](https://rubygems.org/).
94
+ To install the latest official release of RDF.rb, do:
95
+
96
+ % [sudo] gem install shacl
97
+
98
+ ## Download
99
+
100
+ To get a local working copy of the development repository, do:
101
+
102
+ % git clone git://github.com/ruby-rdf/shacl.git
103
+
104
+ Alternatively, download the latest development version as a tarball as
105
+ follows:
106
+
107
+ % wget https://github.com/ruby-rdf/shacl/tarball/master
108
+
109
+ ## Resources
110
+
111
+ * <https://rubydoc.info/github/ruby-rdf/shacl>
112
+ * <https://github.com/ruby-rdf/shacl>
113
+ * <https://rubygems.org/gems/shacl>
114
+
115
+ ## Mailing List
116
+
117
+ * <https://lists.w3.org/Archives/Public/public-rdf-ruby/>
118
+
119
+ ## Author
120
+
121
+ * [Gregg Kellogg](https://github.com/gkellogg) - <https://greggkellogg.net/>
122
+
123
+ ## Contributing
124
+
125
+ This repository uses [Git Flow](https://github.com/nvie/gitflow) to mange development and release activity. All submissions _must_ be on a feature branch based on the _develop_ branch to ease staging and integration.
126
+
127
+ * Do your best to adhere to the existing coding conventions and idioms.
128
+ * Don't use hard tabs, and don't leave trailing whitespace on any line.
129
+ Before committing, run `git diff --check` to make sure of this.
130
+ * Do document every method you add using [YARD][] annotations. Read the
131
+ [tutorial][YARD-GS] or just look at the existing code for examples.
132
+ * Don't touch the `.gemspec` or `VERSION` files. If you need to change them,
133
+ do so on your private branch only.
134
+ * Do feel free to add yourself to the `CREDITS` file and the
135
+ corresponding list in the the `README`. Alphabetical order applies.
136
+ * Don't touch the `AUTHORS` file. If your contributions are significant
137
+ enough, be assured we will eventually add you in there.
138
+ * Do note that in order for us to merge any non-trivial changes (as a rule
139
+ of thumb, additions larger than about 15 lines of code), we need an
140
+ explicit [public domain dedication][PDD] on record from you,
141
+ which you will be asked to agree to on the first commit to a repo within the organization.
142
+ Note that the agreement applies to all repos in the [Ruby RDF](https://github.com/ruby-rdf/) organization.
143
+
144
+ ## License
145
+
146
+ This is free and unencumbered public domain software. For more information,
147
+ see <https://unlicense.org/> or the accompanying {file:LICENSE} file.
148
+
149
+ [RDF]: https://www.w3.org/RDF/
150
+ [YARD]: https://yardoc.org/
151
+ [YARD-GS]: https://rubydoc.info/docs/yard/file/docs/GettingStarted.md
152
+ [PDD]: https://unlicense.org/#unlicensing-contributions
153
+ [S-Expressions]: https://en.wikipedia.org/wiki/S-expression
154
+ [RDF.rb]: https://ruby-rdf.github.com/rdf
155
+ [RDF::Reasoner]: https://ruby-rdf.github.com/rdf-reasoner
156
+ [SPARQL gem]: https://ruby-rdf.github.com/sparql
157
+ [SXP gem]: https://ruby-rdf.github.com/sxp
158
+ [SHACL Spec]: https://www.w3.org/TR/shacl/
159
+ [ShEx gem]: https://ruby-rdf.github.com/shex
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,35 @@
1
+ @prefix dc: <http://purl.org/dc/terms/> .
2
+ @prefix doap: <http://usefulinc.com/ns/doap#> .
3
+ @prefix earl: <http://www.w3.org/ns/earl#> .
4
+ @prefix ex: <http://example.org/> .
5
+ @prefix foaf: <http://xmlns.com/foaf/0.1/> .
6
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
7
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
8
+ @prefix sh: <http://www.w3.org/ns/shacl#> .
9
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
10
+
11
+ <https://rubygems.org/gems/shacl> a doap:Project, earl:TestSubject, earl:Software ;
12
+ sh:shapesGraph <doap-shacl.ttl>;
13
+ doap:name "Ruby SHACL" ;
14
+ doap:homepage <https://ruby-rdf.github.com/shacl> ;
15
+ doap:license <https://unlicense.org/1.0/> ;
16
+ doap:shortdesc "shacl is a Shapes Constraint engine for Ruby."@en ;
17
+ doap:description "shacl is an Shape Constraint engine for the RDF.rb library suite."@en ;
18
+ doap:created "2020-11-26"^^xsd:date ;
19
+ doap:programming-language "Ruby" ;
20
+ doap:implements <https://www.w3.org/TR/shacl/> ;
21
+ doap:category <http://dbpedia.org/resource/Resource_Description_Framework>,
22
+ <http://dbpedia.org/resource/Ruby_(programming_language)> ;
23
+ doap:download-page <https://rubygems.org/gems/shacl> ;
24
+ doap:mailing-list <https://lists.w3.org/Archives/Public/public-rdf-ruby/> ;
25
+ doap:bug-database <https://github.com/ruby-rdf/shacl/issues> ;
26
+ doap:blog <https://greggkellogg.net/> ;
27
+ doap:developer <https://greggkellogg.net/foaf#me> ;
28
+ doap:maintainer <https://greggkellogg.net/foaf#me> ;
29
+ doap:documenter <https://greggkellogg.net/foaf#me> ;
30
+ foaf:maker <https://greggkellogg.net/foaf#me> ;
31
+ dc:title "Ruby SHACL" ;
32
+ dc:description "shacl is an Shape Constraint engine for the RDF.rb library suite."@en ;
33
+ dc:date "2020-11-26"^^xsd:date ;
34
+ dc:creator <https://greggkellogg.net/foaf#me> ;
35
+ dc:isPartOf <https://rubygems.org/gems/rdf> .
@@ -0,0 +1,2073 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # frozen_string_literal: true
3
+ # This file generated automatically using rdf vocabulary format from http://www.w3.org/ns/shacl#
4
+ require 'rdf'
5
+ module RDF::Vocab
6
+ # @!parse
7
+ # # Vocabulary for <http://www.w3.org/ns/shacl#>
8
+ # #
9
+ # # W3C Shapes Constraint Language (SHACL) Vocabulary
10
+ # #
11
+ # # This vocabulary defines terms used in SHACL, the W3C Shapes Constraint Language.
12
+ # class SHACL < RDF::StrictVocabulary
13
+ # # The base class of validation results, typically not instantiated directly.
14
+ # # @return [RDF::Vocabulary::Term]
15
+ # attr_reader :AbstractResult
16
+ #
17
+ # # The class of constraint components.
18
+ # # @return [RDF::Vocabulary::Term]
19
+ # attr_reader :ConstraintComponent
20
+ #
21
+ # # The class of SHACL functions.
22
+ # # @return [RDF::Vocabulary::Term]
23
+ # attr_reader :Function
24
+ #
25
+ # # The class of constraints backed by a JavaScript function.
26
+ # # @return [RDF::Vocabulary::Term]
27
+ # attr_reader :JSConstraint
28
+ #
29
+ # # Abstract base class of resources that declare an executable JavaScript.
30
+ # # @return [RDF::Vocabulary::Term]
31
+ # attr_reader :JSExecutable
32
+ #
33
+ # # The class of SHACL functions that execute a JavaScript function when called.
34
+ # # @return [RDF::Vocabulary::Term]
35
+ # attr_reader :JSFunction
36
+ #
37
+ # # Represents a JavaScript library, typically identified by one or more URLs of files to include.
38
+ # # @return [RDF::Vocabulary::Term]
39
+ # attr_reader :JSLibrary
40
+ #
41
+ # # The class of SHACL rules expressed using JavaScript.
42
+ # # @return [RDF::Vocabulary::Term]
43
+ # attr_reader :JSRule
44
+ #
45
+ # # The class of targets that are based on JavaScript functions.
46
+ # # @return [RDF::Vocabulary::Term]
47
+ # attr_reader :JSTarget
48
+ #
49
+ # # The (meta) class for parameterizable targets that are based on JavaScript functions.
50
+ # # @return [RDF::Vocabulary::Term]
51
+ # attr_reader :JSTargetType
52
+ #
53
+ # # A SHACL validator based on JavaScript. This can be used to declare SHACL constraint components that perform JavaScript-based validation when used.
54
+ # # @return [RDF::Vocabulary::Term]
55
+ # attr_reader :JSValidator
56
+ #
57
+ # # The class of all node kinds, including sh:BlankNode, sh:IRI, sh:Literal or the combinations of these: sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral, sh:IRIOrLiteral.
58
+ # # @return [RDF::Vocabulary::Term]
59
+ # attr_reader :NodeKind
60
+ #
61
+ # # A node shape is a shape that specifies constraint that need to be met with respect to focus nodes.
62
+ # # @return [RDF::Vocabulary::Term]
63
+ # attr_reader :NodeShape
64
+ #
65
+ # # The class of parameter declarations, consisting of a path predicate and (possibly) information about allowed value type, cardinality and other characteristics.
66
+ # # @return [RDF::Vocabulary::Term]
67
+ # attr_reader :Parameter
68
+ #
69
+ # # Superclass of components that can take parameters, especially functions and constraint components.
70
+ # # @return [RDF::Vocabulary::Term]
71
+ # attr_reader :Parameterizable
72
+ #
73
+ # # The class of prefix declarations, consisting of pairs of a prefix with a namespace.
74
+ # # @return [RDF::Vocabulary::Term]
75
+ # attr_reader :PrefixDeclaration
76
+ #
77
+ # # Instances of this class represent groups of property shapes that belong together.
78
+ # # @return [RDF::Vocabulary::Term]
79
+ # attr_reader :PropertyGroup
80
+ #
81
+ # # A property shape is a shape that specifies constraints on the values of a focus node for a given property or path.
82
+ # # @return [RDF::Vocabulary::Term]
83
+ # attr_reader :PropertyShape
84
+ #
85
+ # # A class of result annotations, which define the rules to derive the values of a given annotation property as extra values for a validation result.
86
+ # # @return [RDF::Vocabulary::Term]
87
+ # attr_reader :ResultAnnotation
88
+ #
89
+ # # The class of SHACL rules. Never instantiated directly.
90
+ # # @return [RDF::Vocabulary::Term]
91
+ # attr_reader :Rule
92
+ #
93
+ # # The class of SPARQL executables that are based on an ASK query.
94
+ # # @return [RDF::Vocabulary::Term]
95
+ # attr_reader :SPARQLAskExecutable
96
+ #
97
+ # # The class of validators based on SPARQL ASK queries. The queries are evaluated for each value node and are supposed to return true if the given node conforms.
98
+ # # @return [RDF::Vocabulary::Term]
99
+ # attr_reader :SPARQLAskValidator
100
+ #
101
+ # # The class of constraints based on SPARQL SELECT queries.
102
+ # # @return [RDF::Vocabulary::Term]
103
+ # attr_reader :SPARQLConstraint
104
+ #
105
+ # # The class of SPARQL executables that are based on a CONSTRUCT query.
106
+ # # @return [RDF::Vocabulary::Term]
107
+ # attr_reader :SPARQLConstructExecutable
108
+ #
109
+ # # The class of resources that encapsulate a SPARQL query.
110
+ # # @return [RDF::Vocabulary::Term]
111
+ # attr_reader :SPARQLExecutable
112
+ #
113
+ # # A function backed by a SPARQL query - either ASK or SELECT.
114
+ # # @return [RDF::Vocabulary::Term]
115
+ # attr_reader :SPARQLFunction
116
+ #
117
+ # # The class of SHACL rules based on SPARQL CONSTRUCT queries.
118
+ # # @return [RDF::Vocabulary::Term]
119
+ # attr_reader :SPARQLRule
120
+ #
121
+ # # The class of SPARQL executables based on a SELECT query.
122
+ # # @return [RDF::Vocabulary::Term]
123
+ # attr_reader :SPARQLSelectExecutable
124
+ #
125
+ # # The class of validators based on SPARQL SELECT queries. The queries are evaluated for each focus node and are supposed to produce bindings for all focus nodes that do not conform.
126
+ # # @return [RDF::Vocabulary::Term]
127
+ # attr_reader :SPARQLSelectValidator
128
+ #
129
+ # # The class of targets that are based on SPARQL queries.
130
+ # # @return [RDF::Vocabulary::Term]
131
+ # attr_reader :SPARQLTarget
132
+ #
133
+ # # The (meta) class for parameterizable targets that are based on SPARQL queries.
134
+ # # @return [RDF::Vocabulary::Term]
135
+ # attr_reader :SPARQLTargetType
136
+ #
137
+ # # The class of SPARQL executables based on a SPARQL UPDATE.
138
+ # # @return [RDF::Vocabulary::Term]
139
+ # attr_reader :SPARQLUpdateExecutable
140
+ #
141
+ # # The class of validation result severity levels, including violation and warning levels.
142
+ # # @return [RDF::Vocabulary::Term]
143
+ # attr_reader :Severity
144
+ #
145
+ # # A shape is a collection of constraints that may be targeted for certain nodes.
146
+ # # @return [RDF::Vocabulary::Term]
147
+ # attr_reader :Shape
148
+ #
149
+ # # The base class of targets such as those based on SPARQL queries.
150
+ # # @return [RDF::Vocabulary::Term]
151
+ # attr_reader :Target
152
+ #
153
+ # # The (meta) class for parameterizable targets. Instances of this are instantiated as values of the sh:target property.
154
+ # # @return [RDF::Vocabulary::Term]
155
+ # attr_reader :TargetType
156
+ #
157
+ # # @return [RDF::Vocabulary::Term]
158
+ # attr_reader :TripleRule
159
+ #
160
+ # # The class of SHACL validation reports.
161
+ # # @return [RDF::Vocabulary::Term]
162
+ # attr_reader :ValidationReport
163
+ #
164
+ # # The class of validation results.
165
+ # # @return [RDF::Vocabulary::Term]
166
+ # attr_reader :ValidationResult
167
+ #
168
+ # # The class of validators, which provide instructions on how to process a constraint definition. This class serves as base class for the SPARQL-based validators and other possible implementations.
169
+ # # @return [RDF::Vocabulary::Term]
170
+ # attr_reader :Validator
171
+ #
172
+ # # The (single) value of this property must be a list of path elements, representing the elements of alternative paths.
173
+ # # @return [RDF::Vocabulary::Term]
174
+ # attr_reader :alternativePath
175
+ #
176
+ # # RDF list of shapes to validate the value nodes against.
177
+ # # @return [RDF::Vocabulary::Term]
178
+ # attr_reader :and
179
+ #
180
+ # # The annotation property that shall be set.
181
+ # # @return [RDF::Vocabulary::Term]
182
+ # attr_reader :annotationProperty
183
+ #
184
+ # # The (default) values of the annotation property.
185
+ # # @return [RDF::Vocabulary::Term]
186
+ # attr_reader :annotationValue
187
+ #
188
+ # # The name of the SPARQL variable from the SELECT clause that shall be used for the values.
189
+ # # @return [RDF::Vocabulary::Term]
190
+ # attr_reader :annotationVarName
191
+ #
192
+ # # The SPARQL ASK query to execute.
193
+ # # @return [RDF::Vocabulary::Term]
194
+ # attr_reader :ask
195
+ #
196
+ # # The type that all value nodes must have.
197
+ # # @return [RDF::Vocabulary::Term]
198
+ # attr_reader :class
199
+ #
200
+ # # If set to true then the shape is closed.
201
+ # # @return [RDF::Vocabulary::Term]
202
+ # attr_reader :closed
203
+ #
204
+ # # The shapes that the focus nodes need to conform to before a rule is executed on them.
205
+ # # @return [RDF::Vocabulary::Term]
206
+ # attr_reader :condition
207
+ #
208
+ # # True if the validation did not produce any validation results, and false otherwise.
209
+ # # @return [RDF::Vocabulary::Term]
210
+ # attr_reader :conforms
211
+ #
212
+ # # The SPARQL CONSTRUCT query to execute.
213
+ # # @return [RDF::Vocabulary::Term]
214
+ # attr_reader :construct
215
+ #
216
+ # # Specifies an RDF datatype that all value nodes must have.
217
+ # # @return [RDF::Vocabulary::Term]
218
+ # attr_reader :datatype
219
+ #
220
+ # # If set to true then all nodes conform to this.
221
+ # # @return [RDF::Vocabulary::Term]
222
+ # attr_reader :deactivated
223
+ #
224
+ # # Links a resource with its namespace prefix declarations.
225
+ # # @return [RDF::Vocabulary::Term]
226
+ # attr_reader :declare
227
+ #
228
+ # # A default value for a property, for example for user interface tools to pre-populate input fields.
229
+ # # @return [RDF::Vocabulary::Term]
230
+ # attr_reader :defaultValue
231
+ #
232
+ # # Human-readable descriptions for the property in the context of the surrounding shape.
233
+ # # @return [RDF::Vocabulary::Term]
234
+ # attr_reader :description
235
+ #
236
+ # # Links a result with other results that provide more details, for example to describe violations against nested shapes.
237
+ # # @return [RDF::Vocabulary::Term]
238
+ # attr_reader :detail
239
+ #
240
+ # # Specifies a property where the set of values must be disjoint with the value nodes.
241
+ # # @return [RDF::Vocabulary::Term]
242
+ # attr_reader :disjoint
243
+ #
244
+ # # An entailment regime that indicates what kind of inferencing is required by a shapes graph.
245
+ # # @return [RDF::Vocabulary::Term]
246
+ # attr_reader :entailment
247
+ #
248
+ # # Specifies a property that must have the same values as the value nodes.
249
+ # # @return [RDF::Vocabulary::Term]
250
+ # attr_reader :equals
251
+ #
252
+ # # The node expression that must return true for the value nodes.
253
+ # # @return [RDF::Vocabulary::Term]
254
+ # attr_reader :expression
255
+ #
256
+ # # The shape that all input nodes of the expression need to conform to.
257
+ # # @return [RDF::Vocabulary::Term]
258
+ # attr_reader :filterShape
259
+ #
260
+ # # An optional flag to be used with regular expression pattern matching.
261
+ # # @return [RDF::Vocabulary::Term]
262
+ # attr_reader :flags
263
+ #
264
+ # # The focus node that was validated when the result was produced.
265
+ # # @return [RDF::Vocabulary::Term]
266
+ # attr_reader :focusNode
267
+ #
268
+ # # Can be used to link to a property group to indicate that a property shape belongs to a group of related property shapes.
269
+ # # @return [RDF::Vocabulary::Term]
270
+ # attr_reader :group
271
+ #
272
+ # # Specifies a value that must be among the value nodes.
273
+ # # @return [RDF::Vocabulary::Term]
274
+ # attr_reader :hasValue
275
+ #
276
+ # # An optional RDF list of properties that are also permitted in addition to those explicitly enumerated via sh:property/sh:path.
277
+ # # @return [RDF::Vocabulary::Term]
278
+ # attr_reader :ignoredProperties
279
+ #
280
+ # # Specifies a list of allowed values so that each value node must be among the members of the given list.
281
+ # # @return [RDF::Vocabulary::Term]
282
+ # attr_reader :in
283
+ #
284
+ # # A list of node expressions that shall be intersected.
285
+ # # @return [RDF::Vocabulary::Term]
286
+ # attr_reader :intersection
287
+ #
288
+ # # The (single) value of this property represents an inverse path (object to subject).
289
+ # # @return [RDF::Vocabulary::Term]
290
+ # attr_reader :inversePath
291
+ #
292
+ # # Constraints expressed in JavaScript.
293
+ # # @return [RDF::Vocabulary::Term]
294
+ # attr_reader :js
295
+ #
296
+ # # The name of the JavaScript function to execute.
297
+ # # @return [RDF::Vocabulary::Term]
298
+ # attr_reader :jsFunctionName
299
+ #
300
+ # # Declares which JavaScript libraries are needed to execute this.
301
+ # # @return [RDF::Vocabulary::Term]
302
+ # attr_reader :jsLibrary
303
+ #
304
+ # # Declares the URLs of a JavaScript library. This should be the absolute URL of a JavaScript file. Implementations may redirect those to local files.
305
+ # # @return [RDF::Vocabulary::Term]
306
+ # attr_reader :jsLibraryURL
307
+ #
308
+ # # Outlines how human-readable labels of instances of the associated Parameterizable shall be produced. The values can contain `{?paramName}` as placeholders for the actual values of the given parameter.
309
+ # # @return [RDF::Vocabulary::Term]
310
+ # attr_reader :labelTemplate
311
+ #
312
+ # # Specifies a list of language tags that all value nodes must have.
313
+ # # @return [RDF::Vocabulary::Term]
314
+ # attr_reader :languageIn
315
+ #
316
+ # # Specifies a property that must have smaller values than the value nodes.
317
+ # # @return [RDF::Vocabulary::Term]
318
+ # attr_reader :lessThan
319
+ #
320
+ # # Specifies a property that must have smaller or equal values than the value nodes.
321
+ # # @return [RDF::Vocabulary::Term]
322
+ # attr_reader :lessThanOrEquals
323
+ #
324
+ # # Specifies the maximum number of values in the set of value nodes.
325
+ # # @return [RDF::Vocabulary::Term]
326
+ # attr_reader :maxCount
327
+ #
328
+ # # Specifies the maximum exclusive value of each value node.
329
+ # # @return [RDF::Vocabulary::Term]
330
+ # attr_reader :maxExclusive
331
+ #
332
+ # # Specifies the maximum inclusive value of each value node.
333
+ # # @return [RDF::Vocabulary::Term]
334
+ # attr_reader :maxInclusive
335
+ #
336
+ # # Specifies the maximum string length of each value node.
337
+ # # @return [RDF::Vocabulary::Term]
338
+ # attr_reader :maxLength
339
+ #
340
+ # # A human-readable message (possibly with placeholders for variables) explaining the cause of the result.
341
+ # # @return [RDF::Vocabulary::Term]
342
+ # attr_reader :message
343
+ #
344
+ # # Specifies the minimum number of values in the set of value nodes.
345
+ # # @return [RDF::Vocabulary::Term]
346
+ # attr_reader :minCount
347
+ #
348
+ # # Specifies the minimum exclusive value of each value node.
349
+ # # @return [RDF::Vocabulary::Term]
350
+ # attr_reader :minExclusive
351
+ #
352
+ # # Specifies the minimum inclusive value of each value node.
353
+ # # @return [RDF::Vocabulary::Term]
354
+ # attr_reader :minInclusive
355
+ #
356
+ # # Specifies the minimum string length of each value node.
357
+ # # @return [RDF::Vocabulary::Term]
358
+ # attr_reader :minLength
359
+ #
360
+ # # Human-readable labels for the property in the context of the surrounding shape.
361
+ # # @return [RDF::Vocabulary::Term]
362
+ # attr_reader :name
363
+ #
364
+ # # The namespace associated with a prefix in a prefix declaration.
365
+ # # @return [RDF::Vocabulary::Term]
366
+ # attr_reader :namespace
367
+ #
368
+ # # Specifies the node shape that all value nodes must conform to.
369
+ # # @return [RDF::Vocabulary::Term]
370
+ # attr_reader :node
371
+ #
372
+ # # Specifies the node kind (e.g. IRI or literal) each value node.
373
+ # # @return [RDF::Vocabulary::Term]
374
+ # attr_reader :nodeKind
375
+ #
376
+ # # The validator(s) used to evaluate a constraint in the context of a node shape.
377
+ # # @return [RDF::Vocabulary::Term]
378
+ # attr_reader :nodeValidator
379
+ #
380
+ # # The node expression producing the input nodes of a filter shape expression.
381
+ # # @return [RDF::Vocabulary::Term]
382
+ # attr_reader :nodes
383
+ #
384
+ # # Specifies a shape that the value nodes must not conform to.
385
+ # # @return [RDF::Vocabulary::Term]
386
+ # attr_reader :not
387
+ #
388
+ # # An expression producing the nodes that shall be inferred as objects.
389
+ # # @return [RDF::Vocabulary::Term]
390
+ # attr_reader :object
391
+ #
392
+ # # The (single) value of this property represents a path that is matched one or more times.
393
+ # # @return [RDF::Vocabulary::Term]
394
+ # attr_reader :oneOrMorePath
395
+ #
396
+ # # Indicates whether a parameter is optional.
397
+ # # @return [RDF::Vocabulary::Term]
398
+ # attr_reader :optional
399
+ #
400
+ # # Specifies a list of shapes so that the value nodes must conform to at least one of the shapes.
401
+ # # @return [RDF::Vocabulary::Term]
402
+ # attr_reader :or
403
+ #
404
+ # # Specifies the relative order of this compared to its siblings. For example use 0 for the first, 1 for the second.
405
+ # # @return [RDF::Vocabulary::Term]
406
+ # attr_reader :order
407
+ #
408
+ # # The parameters of a function or constraint component.
409
+ # # @return [RDF::Vocabulary::Term]
410
+ # attr_reader :parameter
411
+ #
412
+ # # Specifies the property path of a property shape.
413
+ # # @return [RDF::Vocabulary::Term]
414
+ # attr_reader :path
415
+ #
416
+ # # Specifies a regular expression pattern that the string representations of the value nodes must match.
417
+ # # @return [RDF::Vocabulary::Term]
418
+ # attr_reader :pattern
419
+ #
420
+ # # An expression producing the properties that shall be inferred as predicates.
421
+ # # @return [RDF::Vocabulary::Term]
422
+ # attr_reader :predicate
423
+ #
424
+ # # The prefix of a prefix declaration.
425
+ # # @return [RDF::Vocabulary::Term]
426
+ # attr_reader :prefix
427
+ #
428
+ # # The prefixes that shall be applied before parsing the associated SPARQL query.
429
+ # # @return [RDF::Vocabulary::Term]
430
+ # attr_reader :prefixes
431
+ #
432
+ # # Links a shape to its property shapes.
433
+ # # @return [RDF::Vocabulary::Term]
434
+ # attr_reader :property
435
+ #
436
+ # # The validator(s) used to evaluate a constraint in the context of a property shape.
437
+ # # @return [RDF::Vocabulary::Term]
438
+ # attr_reader :propertyValidator
439
+ #
440
+ # # The maximum number of value nodes that can conform to the shape.
441
+ # # @return [RDF::Vocabulary::Term]
442
+ # attr_reader :qualifiedMaxCount
443
+ #
444
+ # # The minimum number of value nodes that must conform to the shape.
445
+ # # @return [RDF::Vocabulary::Term]
446
+ # attr_reader :qualifiedMinCount
447
+ #
448
+ # # The shape that a specified number of values must conform to.
449
+ # # @return [RDF::Vocabulary::Term]
450
+ # attr_reader :qualifiedValueShape
451
+ #
452
+ # # Can be used to mark the qualified value shape to be disjoint with its sibling shapes.
453
+ # # @return [RDF::Vocabulary::Term]
454
+ # attr_reader :qualifiedValueShapesDisjoint
455
+ #
456
+ # # The validation results contained in a validation report.
457
+ # # @return [RDF::Vocabulary::Term]
458
+ # attr_reader :result
459
+ #
460
+ # # Links a SPARQL validator with zero or more sh:ResultAnnotation instances, defining how to derive additional result properties based on the variables of the SELECT query.
461
+ # # @return [RDF::Vocabulary::Term]
462
+ # attr_reader :resultAnnotation
463
+ #
464
+ # # Human-readable messages explaining the cause of the result.
465
+ # # @return [RDF::Vocabulary::Term]
466
+ # attr_reader :resultMessage
467
+ #
468
+ # # The path of a validation result, based on the path of the validated property shape.
469
+ # # @return [RDF::Vocabulary::Term]
470
+ # attr_reader :resultPath
471
+ #
472
+ # # The severity of the result, e.g. warning.
473
+ # # @return [RDF::Vocabulary::Term]
474
+ # attr_reader :resultSeverity
475
+ #
476
+ # # The expected type of values returned by the associated function.
477
+ # # @return [RDF::Vocabulary::Term]
478
+ # attr_reader :returnType
479
+ #
480
+ # # The rules linked to a shape.
481
+ # # @return [RDF::Vocabulary::Term]
482
+ # attr_reader :rule
483
+ #
484
+ # # The SPARQL SELECT query to execute.
485
+ # # @return [RDF::Vocabulary::Term]
486
+ # attr_reader :select
487
+ #
488
+ # # Defines the severity that validation results produced by a shape must have. Defaults to sh:Violation.
489
+ # # @return [RDF::Vocabulary::Term]
490
+ # attr_reader :severity
491
+ #
492
+ # # Shapes graphs that should be used when validating this data graph.
493
+ # # @return [RDF::Vocabulary::Term]
494
+ # attr_reader :shapesGraph
495
+ #
496
+ # # If true then the validation engine was certain that the shapes graph has passed all SHACL syntax requirements during the validation process.
497
+ # # @return [RDF::Vocabulary::Term]
498
+ # attr_reader :shapesGraphWellFormed
499
+ #
500
+ # # The constraint that was validated when the result was produced.
501
+ # # @return [RDF::Vocabulary::Term]
502
+ # attr_reader :sourceConstraint
503
+ #
504
+ # # The constraint component that is the source of the result.
505
+ # # @return [RDF::Vocabulary::Term]
506
+ # attr_reader :sourceConstraintComponent
507
+ #
508
+ # # The shape that is was validated when the result was produced.
509
+ # # @return [RDF::Vocabulary::Term]
510
+ # attr_reader :sourceShape
511
+ #
512
+ # # Links a shape with SPARQL constraints.
513
+ # # @return [RDF::Vocabulary::Term]
514
+ # attr_reader :sparql
515
+ #
516
+ # # An expression producing the resources that shall be inferred as subjects.
517
+ # # @return [RDF::Vocabulary::Term]
518
+ # attr_reader :subject
519
+ #
520
+ # # Suggested shapes graphs for this ontology. The values of this property may be used in the absence of specific sh:shapesGraph statements.
521
+ # # @return [RDF::Vocabulary::Term]
522
+ # attr_reader :suggestedShapesGraph
523
+ #
524
+ # # Links a shape to a target specified by an extension language, for example instances of sh:SPARQLTarget.
525
+ # # @return [RDF::Vocabulary::Term]
526
+ # attr_reader :target
527
+ #
528
+ # # Links a shape to a class, indicating that all instances of the class must conform to the shape.
529
+ # # @return [RDF::Vocabulary::Term]
530
+ # attr_reader :targetClass
531
+ #
532
+ # # Links a shape to individual nodes, indicating that these nodes must conform to the shape.
533
+ # # @return [RDF::Vocabulary::Term]
534
+ # attr_reader :targetNode
535
+ #
536
+ # # Links a shape to a property, indicating that all all objects of triples that have the given property as their predicate must conform to the shape.
537
+ # # @return [RDF::Vocabulary::Term]
538
+ # attr_reader :targetObjectsOf
539
+ #
540
+ # # Links a shape to a property, indicating that all subjects of triples that have the given property as their predicate must conform to the shape.
541
+ # # @return [RDF::Vocabulary::Term]
542
+ # attr_reader :targetSubjectsOf
543
+ #
544
+ # # A list of node expressions that shall be used together.
545
+ # # @return [RDF::Vocabulary::Term]
546
+ # attr_reader :union
547
+ #
548
+ # # Specifies whether all node values must have a unique (or no) language tag.
549
+ # # @return [RDF::Vocabulary::Term]
550
+ # attr_reader :uniqueLang
551
+ #
552
+ # # The SPARQL UPDATE to execute.
553
+ # # @return [RDF::Vocabulary::Term]
554
+ # attr_reader :update
555
+ #
556
+ # # The validator(s) used to evaluate constraints of either node or property shapes.
557
+ # # @return [RDF::Vocabulary::Term]
558
+ # attr_reader :validator
559
+ #
560
+ # # An RDF node that has caused the result.
561
+ # # @return [RDF::Vocabulary::Term]
562
+ # attr_reader :value
563
+ #
564
+ # # Specifies a list of shapes so that the value nodes must conform to exactly one of the shapes.
565
+ # # @return [RDF::Vocabulary::Term]
566
+ # attr_reader :xone
567
+ #
568
+ # # The (single) value of this property represents a path that is matched zero or more times.
569
+ # # @return [RDF::Vocabulary::Term]
570
+ # attr_reader :zeroOrMorePath
571
+ #
572
+ # # The (single) value of this property represents a path that is matched zero or one times.
573
+ # # @return [RDF::Vocabulary::Term]
574
+ # attr_reader :zeroOrOnePath
575
+ #
576
+ # # A constraint component that can be used to test whether a value node conforms to all members of a provided list of shapes.
577
+ # # @return [RDF::Vocabulary::Term]
578
+ # attr_reader :AndConstraintComponent
579
+ #
580
+ # # The node kind of all blank nodes.
581
+ # # @return [RDF::Vocabulary::Term]
582
+ # attr_reader :BlankNode
583
+ #
584
+ # # The node kind of all blank nodes or IRIs.
585
+ # # @return [RDF::Vocabulary::Term]
586
+ # attr_reader :BlankNodeOrIRI
587
+ #
588
+ # # The node kind of all blank nodes or literals.
589
+ # # @return [RDF::Vocabulary::Term]
590
+ # attr_reader :BlankNodeOrLiteral
591
+ #
592
+ # # A constraint component that can be used to verify that each value node is an instance of a given type.
593
+ # # @return [RDF::Vocabulary::Term]
594
+ # attr_reader :ClassConstraintComponent
595
+ #
596
+ # # A constraint component that can be used to indicate that focus nodes must only have values for those properties that have been explicitly enumerated via sh:property/sh:path.
597
+ # # @return [RDF::Vocabulary::Term]
598
+ # attr_reader :ClosedConstraintComponent
599
+ #
600
+ # # A constraint component that can be used to restrict the datatype of all value nodes.
601
+ # # @return [RDF::Vocabulary::Term]
602
+ # attr_reader :DatatypeConstraintComponent
603
+ #
604
+ # # A constraint component that can be used to verify that the set of value nodes is disjoint with the the set of nodes that have the focus node as subject and the value of a given property as predicate.
605
+ # # @return [RDF::Vocabulary::Term]
606
+ # attr_reader :DisjointConstraintComponent
607
+ #
608
+ # # A constraint component that can be used to verify that the set of value nodes is equal to the set of nodes that have the focus node as subject and the value of a given property as predicate.
609
+ # # @return [RDF::Vocabulary::Term]
610
+ # attr_reader :EqualsConstraintComponent
611
+ #
612
+ # # A constraint component that can be used to verify that a given node expression produces true for all value nodes.
613
+ # # @return [RDF::Vocabulary::Term]
614
+ # attr_reader :ExpressionConstraintComponent
615
+ #
616
+ # # A constraint component that can be used to verify that one of the value nodes is a given RDF node.
617
+ # # @return [RDF::Vocabulary::Term]
618
+ # attr_reader :HasValueConstraintComponent
619
+ #
620
+ # # The node kind of all IRIs.
621
+ # # @return [RDF::Vocabulary::Term]
622
+ # attr_reader :IRI
623
+ #
624
+ # # The node kind of all IRIs or literals.
625
+ # # @return [RDF::Vocabulary::Term]
626
+ # attr_reader :IRIOrLiteral
627
+ #
628
+ # # A constraint component that can be used to exclusively enumerate the permitted value nodes.
629
+ # # @return [RDF::Vocabulary::Term]
630
+ # attr_reader :InConstraintComponent
631
+ #
632
+ # # The severity for an informational validation result.
633
+ # # @return [RDF::Vocabulary::Term]
634
+ # attr_reader :Info
635
+ #
636
+ # # A constraint component with the parameter sh:js linking to a sh:JSConstraint containing a sh:script.
637
+ # # @return [RDF::Vocabulary::Term]
638
+ # attr_reader :JSConstraintComponent
639
+ #
640
+ # # A constraint component that can be used to enumerate language tags that all value nodes must have.
641
+ # # @return [RDF::Vocabulary::Term]
642
+ # attr_reader :LanguageInConstraintComponent
643
+ #
644
+ # # A constraint component that can be used to verify that each value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate.
645
+ # # @return [RDF::Vocabulary::Term]
646
+ # attr_reader :LessThanConstraintComponent
647
+ #
648
+ # # A constraint component that can be used to verify that every value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate.
649
+ # # @return [RDF::Vocabulary::Term]
650
+ # attr_reader :LessThanOrEqualsConstraintComponent
651
+ #
652
+ # # The node kind of all literals.
653
+ # # @return [RDF::Vocabulary::Term]
654
+ # attr_reader :Literal
655
+ #
656
+ # # A constraint component that can be used to restrict the maximum number of value nodes.
657
+ # # @return [RDF::Vocabulary::Term]
658
+ # attr_reader :MaxCountConstraintComponent
659
+ #
660
+ # # A constraint component that can be used to restrict the range of value nodes with a maximum exclusive value.
661
+ # # @return [RDF::Vocabulary::Term]
662
+ # attr_reader :MaxExclusiveConstraintComponent
663
+ #
664
+ # # A constraint component that can be used to restrict the range of value nodes with a maximum inclusive value.
665
+ # # @return [RDF::Vocabulary::Term]
666
+ # attr_reader :MaxInclusiveConstraintComponent
667
+ #
668
+ # # A constraint component that can be used to restrict the maximum string length of value nodes.
669
+ # # @return [RDF::Vocabulary::Term]
670
+ # attr_reader :MaxLengthConstraintComponent
671
+ #
672
+ # # A constraint component that can be used to restrict the minimum number of value nodes.
673
+ # # @return [RDF::Vocabulary::Term]
674
+ # attr_reader :MinCountConstraintComponent
675
+ #
676
+ # # A constraint component that can be used to restrict the range of value nodes with a minimum exclusive value.
677
+ # # @return [RDF::Vocabulary::Term]
678
+ # attr_reader :MinExclusiveConstraintComponent
679
+ #
680
+ # # A constraint component that can be used to restrict the range of value nodes with a minimum inclusive value.
681
+ # # @return [RDF::Vocabulary::Term]
682
+ # attr_reader :MinInclusiveConstraintComponent
683
+ #
684
+ # # A constraint component that can be used to restrict the minimum string length of value nodes.
685
+ # # @return [RDF::Vocabulary::Term]
686
+ # attr_reader :MinLengthConstraintComponent
687
+ #
688
+ # # A constraint component that can be used to verify that all value nodes conform to the given node shape.
689
+ # # @return [RDF::Vocabulary::Term]
690
+ # attr_reader :NodeConstraintComponent
691
+ #
692
+ # # A constraint component that can be used to restrict the RDF node kind of each value node.
693
+ # # @return [RDF::Vocabulary::Term]
694
+ # attr_reader :NodeKindConstraintComponent
695
+ #
696
+ # # A constraint component that can be used to verify that value nodes do not conform to a given shape.
697
+ # # @return [RDF::Vocabulary::Term]
698
+ # attr_reader :NotConstraintComponent
699
+ #
700
+ # # A constraint component that can be used to restrict the value nodes so that they conform to at least one out of several provided shapes.
701
+ # # @return [RDF::Vocabulary::Term]
702
+ # attr_reader :OrConstraintComponent
703
+ #
704
+ # # A constraint component that can be used to verify that every value node matches a given regular expression.
705
+ # # @return [RDF::Vocabulary::Term]
706
+ # attr_reader :PatternConstraintComponent
707
+ #
708
+ # # A constraint component that can be used to verify that all value nodes conform to the given property shape.
709
+ # # @return [RDF::Vocabulary::Term]
710
+ # attr_reader :PropertyConstraintComponent
711
+ #
712
+ # # A constraint component that can be used to verify that a specified maximum number of value nodes conforms to a given shape.
713
+ # # @return [RDF::Vocabulary::Term]
714
+ # attr_reader :QualifiedMaxCountConstraintComponent
715
+ #
716
+ # # A constraint component that can be used to verify that a specified minimum number of value nodes conforms to a given shape.
717
+ # # @return [RDF::Vocabulary::Term]
718
+ # attr_reader :QualifiedMinCountConstraintComponent
719
+ #
720
+ # # A constraint component that can be used to define constraints based on SPARQL queries.
721
+ # # @return [RDF::Vocabulary::Term]
722
+ # attr_reader :SPARQLConstraintComponent
723
+ #
724
+ # # A constraint component that can be used to specify that no pair of value nodes may use the same language tag.
725
+ # # @return [RDF::Vocabulary::Term]
726
+ # attr_reader :UniqueLangConstraintComponent
727
+ #
728
+ # # The severity for a violation validation result.
729
+ # # @return [RDF::Vocabulary::Term]
730
+ # attr_reader :Violation
731
+ #
732
+ # # The severity for a warning validation result.
733
+ # # @return [RDF::Vocabulary::Term]
734
+ # attr_reader :Warning
735
+ #
736
+ # # A constraint component that can be used to restrict the value nodes so that they conform to exactly one out of several provided shapes.
737
+ # # @return [RDF::Vocabulary::Term]
738
+ # attr_reader :XoneConstraintComponent
739
+ #
740
+ # # A node expression that represents the current focus node.
741
+ # # @return [RDF::Vocabulary::Term]
742
+ # attr_reader :this
743
+ #
744
+ # end
745
+ SHACL = Class.new(RDF::StrictVocabulary("http://www.w3.org/ns/shacl#")) do
746
+
747
+ # Ontology definition
748
+ ontology :"http://www.w3.org/ns/shacl#",
749
+ comment: "This vocabulary defines terms used in SHACL, the W3C Shapes Constraint Language.".freeze,
750
+ label: "W3C Shapes Constraint Language (SHACL) Vocabulary".freeze,
751
+ "shacl:declare": term(
752
+ "shacl:namespace": "http://www.w3.org/ns/shacl#".freeze,
753
+ "shacl:prefix": "sh".freeze
754
+ ),
755
+ "shacl:suggestedShapesGraph": "http://www.w3.org/ns/shacl-shacl#".freeze,
756
+ type: "owl:Ontology".freeze
757
+
758
+ # Class definitions
759
+ term :AbstractResult,
760
+ comment: "The base class of validation results, typically not instantiated directly.".freeze,
761
+ isDefinedBy: "shacl:".freeze,
762
+ label: "Abstract result".freeze,
763
+ subClassOf: "rdfs:Resource".freeze,
764
+ type: "rdfs:Class".freeze
765
+ term :ConstraintComponent,
766
+ comment: "The class of constraint components.".freeze,
767
+ isDefinedBy: "shacl:".freeze,
768
+ label: "Constraint component".freeze,
769
+ subClassOf: "shacl:Parameterizable".freeze,
770
+ type: "rdfs:Class".freeze
771
+ term :Function,
772
+ comment: "The class of SHACL functions.".freeze,
773
+ isDefinedBy: "shacl:".freeze,
774
+ label: "Function".freeze,
775
+ subClassOf: "shacl:Parameterizable".freeze,
776
+ type: "rdfs:Class".freeze
777
+ term :JSConstraint,
778
+ comment: "The class of constraints backed by a JavaScript function.".freeze,
779
+ isDefinedBy: "shacl:".freeze,
780
+ label: "JavaScript-based constraint".freeze,
781
+ subClassOf: "shacl:JSExecutable".freeze,
782
+ type: "rdfs:Class".freeze
783
+ term :JSExecutable,
784
+ comment: "Abstract base class of resources that declare an executable JavaScript.".freeze,
785
+ isDefinedBy: "shacl:".freeze,
786
+ label: "JavaScript executable".freeze,
787
+ subClassOf: "rdfs:Resource".freeze,
788
+ type: "rdfs:Class".freeze
789
+ term :JSFunction,
790
+ comment: "The class of SHACL functions that execute a JavaScript function when called.".freeze,
791
+ isDefinedBy: "shacl:".freeze,
792
+ label: "JavaScript function".freeze,
793
+ subClassOf: ["shacl:Function".freeze, "shacl:JSExecutable".freeze],
794
+ type: "rdfs:Class".freeze
795
+ term :JSLibrary,
796
+ comment: "Represents a JavaScript library, typically identified by one or more URLs of files to include.".freeze,
797
+ isDefinedBy: "shacl:".freeze,
798
+ label: "JavaScript library".freeze,
799
+ subClassOf: "rdfs:Resource".freeze,
800
+ type: "rdfs:Class".freeze
801
+ term :JSRule,
802
+ comment: "The class of SHACL rules expressed using JavaScript.".freeze,
803
+ isDefinedBy: "shacl:".freeze,
804
+ label: "JavaScript rule".freeze,
805
+ subClassOf: ["shacl:JSExecutable".freeze, "shacl:Rule".freeze],
806
+ type: "rdfs:Class".freeze
807
+ term :JSTarget,
808
+ comment: "The class of targets that are based on JavaScript functions.".freeze,
809
+ isDefinedBy: "shacl:".freeze,
810
+ label: "JavaScript target".freeze,
811
+ subClassOf: ["shacl:JSExecutable".freeze, "shacl:Target".freeze],
812
+ type: "rdfs:Class".freeze
813
+ term :JSTargetType,
814
+ comment: "The (meta) class for parameterizable targets that are based on JavaScript functions.".freeze,
815
+ isDefinedBy: "shacl:".freeze,
816
+ label: "JavaScript target type".freeze,
817
+ subClassOf: ["shacl:JSExecutable".freeze, "shacl:TargetType".freeze],
818
+ type: "rdfs:Class".freeze
819
+ term :JSValidator,
820
+ comment: "A SHACL validator based on JavaScript. This can be used to declare SHACL constraint components that perform JavaScript-based validation when used.".freeze,
821
+ isDefinedBy: "shacl:".freeze,
822
+ label: "JavaScript validator".freeze,
823
+ subClassOf: ["shacl:JSExecutable".freeze, "shacl:Validator".freeze],
824
+ type: "rdfs:Class".freeze
825
+ term :NodeKind,
826
+ comment: "The class of all node kinds, including sh:BlankNode, sh:IRI, sh:Literal or the combinations of these: sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral, sh:IRIOrLiteral.".freeze,
827
+ isDefinedBy: "shacl:".freeze,
828
+ label: "Node kind".freeze,
829
+ subClassOf: "rdfs:Resource".freeze,
830
+ type: "rdfs:Class".freeze
831
+ term :NodeShape,
832
+ comment: "A node shape is a shape that specifies constraint that need to be met with respect to focus nodes.".freeze,
833
+ isDefinedBy: "shacl:".freeze,
834
+ label: "Node shape".freeze,
835
+ subClassOf: "shacl:Shape".freeze,
836
+ type: "rdfs:Class".freeze
837
+ term :Parameter,
838
+ comment: "The class of parameter declarations, consisting of a path predicate and (possibly) information about allowed value type, cardinality and other characteristics.".freeze,
839
+ isDefinedBy: "shacl:".freeze,
840
+ label: "Parameter".freeze,
841
+ subClassOf: "shacl:PropertyShape".freeze,
842
+ type: "rdfs:Class".freeze
843
+ term :Parameterizable,
844
+ comment: "Superclass of components that can take parameters, especially functions and constraint components.".freeze,
845
+ isDefinedBy: "shacl:".freeze,
846
+ label: "Parameterizable".freeze,
847
+ subClassOf: "rdfs:Resource".freeze,
848
+ type: "rdfs:Class".freeze
849
+ term :PrefixDeclaration,
850
+ comment: "The class of prefix declarations, consisting of pairs of a prefix with a namespace.".freeze,
851
+ isDefinedBy: "shacl:".freeze,
852
+ label: "Prefix declaration".freeze,
853
+ subClassOf: "rdfs:Resource".freeze,
854
+ type: "rdfs:Class".freeze
855
+ term :PropertyGroup,
856
+ comment: "Instances of this class represent groups of property shapes that belong together.".freeze,
857
+ isDefinedBy: "shacl:".freeze,
858
+ label: "Property group".freeze,
859
+ subClassOf: "rdfs:Resource".freeze,
860
+ type: "rdfs:Class".freeze
861
+ term :PropertyShape,
862
+ comment: "A property shape is a shape that specifies constraints on the values of a focus node for a given property or path.".freeze,
863
+ isDefinedBy: "shacl:".freeze,
864
+ label: "Property shape".freeze,
865
+ subClassOf: "shacl:Shape".freeze,
866
+ type: "rdfs:Class".freeze
867
+ term :ResultAnnotation,
868
+ comment: "A class of result annotations, which define the rules to derive the values of a given annotation property as extra values for a validation result.".freeze,
869
+ isDefinedBy: "shacl:".freeze,
870
+ label: "Result annotation".freeze,
871
+ subClassOf: "rdfs:Resource".freeze,
872
+ type: "rdfs:Class".freeze
873
+ term :Rule,
874
+ comment: "The class of SHACL rules. Never instantiated directly.".freeze,
875
+ isDefinedBy: "shacl:".freeze,
876
+ label: "Rule".freeze,
877
+ subClassOf: "rdfs:Resource".freeze,
878
+ type: "rdfs:Class".freeze
879
+ term :SPARQLAskExecutable,
880
+ comment: "The class of SPARQL executables that are based on an ASK query.".freeze,
881
+ isDefinedBy: "shacl:".freeze,
882
+ label: "SPARQL ASK executable".freeze,
883
+ subClassOf: "shacl:SPARQLExecutable".freeze,
884
+ type: "rdfs:Class".freeze
885
+ term :SPARQLAskValidator,
886
+ comment: "The class of validators based on SPARQL ASK queries. The queries are evaluated for each value node and are supposed to return true if the given node conforms.".freeze,
887
+ isDefinedBy: "shacl:".freeze,
888
+ label: "SPARQL ASK validator".freeze,
889
+ subClassOf: ["shacl:SPARQLAskExecutable".freeze, "shacl:Validator".freeze],
890
+ type: "rdfs:Class".freeze
891
+ term :SPARQLConstraint,
892
+ comment: "The class of constraints based on SPARQL SELECT queries.".freeze,
893
+ isDefinedBy: "shacl:".freeze,
894
+ label: "SPARQL constraint".freeze,
895
+ subClassOf: "shacl:SPARQLSelectExecutable".freeze,
896
+ type: "rdfs:Class".freeze
897
+ term :SPARQLConstructExecutable,
898
+ comment: "The class of SPARQL executables that are based on a CONSTRUCT query.".freeze,
899
+ isDefinedBy: "shacl:".freeze,
900
+ label: "SPARQL CONSTRUCT executable".freeze,
901
+ subClassOf: "shacl:SPARQLExecutable".freeze,
902
+ type: "rdfs:Class".freeze
903
+ term :SPARQLExecutable,
904
+ comment: "The class of resources that encapsulate a SPARQL query.".freeze,
905
+ isDefinedBy: "shacl:".freeze,
906
+ label: "SPARQL executable".freeze,
907
+ subClassOf: "rdfs:Resource".freeze,
908
+ type: "rdfs:Class".freeze
909
+ term :SPARQLFunction,
910
+ comment: "A function backed by a SPARQL query - either ASK or SELECT.".freeze,
911
+ isDefinedBy: "shacl:".freeze,
912
+ label: "SPARQL function".freeze,
913
+ subClassOf: ["shacl:Function".freeze, "shacl:SPARQLAskExecutable".freeze, "shacl:SPARQLSelectExecutable".freeze],
914
+ type: "rdfs:Class".freeze
915
+ term :SPARQLRule,
916
+ comment: "The class of SHACL rules based on SPARQL CONSTRUCT queries.".freeze,
917
+ isDefinedBy: "shacl:".freeze,
918
+ label: "SPARQL CONSTRUCT rule".freeze,
919
+ subClassOf: ["shacl:Rule".freeze, "shacl:SPARQLConstructExecutable".freeze],
920
+ type: "rdfs:Class".freeze
921
+ term :SPARQLSelectExecutable,
922
+ comment: "The class of SPARQL executables based on a SELECT query.".freeze,
923
+ isDefinedBy: "shacl:".freeze,
924
+ label: "SPARQL SELECT executable".freeze,
925
+ subClassOf: "shacl:SPARQLExecutable".freeze,
926
+ type: "rdfs:Class".freeze
927
+ term :SPARQLSelectValidator,
928
+ comment: "The class of validators based on SPARQL SELECT queries. The queries are evaluated for each focus node and are supposed to produce bindings for all focus nodes that do not conform.".freeze,
929
+ isDefinedBy: "shacl:".freeze,
930
+ label: "SPARQL SELECT validator".freeze,
931
+ subClassOf: ["shacl:SPARQLSelectExecutable".freeze, "shacl:Validator".freeze],
932
+ type: "rdfs:Class".freeze
933
+ term :SPARQLTarget,
934
+ comment: "The class of targets that are based on SPARQL queries.".freeze,
935
+ isDefinedBy: "shacl:".freeze,
936
+ label: "SPARQL target".freeze,
937
+ subClassOf: ["shacl:SPARQLAskExecutable".freeze, "shacl:SPARQLSelectExecutable".freeze, "shacl:Target".freeze],
938
+ type: "rdfs:Class".freeze
939
+ term :SPARQLTargetType,
940
+ comment: "The (meta) class for parameterizable targets that are based on SPARQL queries.".freeze,
941
+ isDefinedBy: "shacl:".freeze,
942
+ label: "SPARQL target type".freeze,
943
+ subClassOf: ["shacl:SPARQLAskExecutable".freeze, "shacl:SPARQLSelectExecutable".freeze, "shacl:TargetType".freeze],
944
+ type: "rdfs:Class".freeze
945
+ term :SPARQLUpdateExecutable,
946
+ comment: "The class of SPARQL executables based on a SPARQL UPDATE.".freeze,
947
+ isDefinedBy: "shacl:".freeze,
948
+ label: "SPARQL UPDATE executable".freeze,
949
+ subClassOf: "shacl:SPARQLExecutable".freeze,
950
+ type: "rdfs:Class".freeze
951
+ term :Severity,
952
+ comment: "The class of validation result severity levels, including violation and warning levels.".freeze,
953
+ isDefinedBy: "shacl:".freeze,
954
+ label: "Severity".freeze,
955
+ subClassOf: "rdfs:Resource".freeze,
956
+ type: "rdfs:Class".freeze
957
+ term :Shape,
958
+ comment: "A shape is a collection of constraints that may be targeted for certain nodes.".freeze,
959
+ isDefinedBy: "shacl:".freeze,
960
+ label: "Shape".freeze,
961
+ subClassOf: "rdfs:Resource".freeze,
962
+ type: "rdfs:Class".freeze
963
+ term :Target,
964
+ comment: "The base class of targets such as those based on SPARQL queries.".freeze,
965
+ isDefinedBy: "shacl:".freeze,
966
+ label: "Target".freeze,
967
+ subClassOf: "rdfs:Resource".freeze,
968
+ type: "rdfs:Class".freeze
969
+ term :TargetType,
970
+ comment: "The (meta) class for parameterizable targets.\tInstances of this are instantiated as values of the sh:target property.".freeze,
971
+ isDefinedBy: "shacl:".freeze,
972
+ label: "Target type".freeze,
973
+ subClassOf: ["rdfs:Class".freeze, "shacl:Parameterizable".freeze],
974
+ type: "rdfs:Class".freeze
975
+ term :TripleRule,
976
+ isDefinedBy: "shacl:".freeze,
977
+ label: "A rule based on triple (subject, predicate, object) pattern.".freeze,
978
+ subClassOf: "shacl:Rule".freeze,
979
+ type: "rdfs:Class".freeze
980
+ term :ValidationReport,
981
+ comment: "The class of SHACL validation reports.".freeze,
982
+ isDefinedBy: "shacl:".freeze,
983
+ label: "Validation report".freeze,
984
+ subClassOf: "rdfs:Resource".freeze,
985
+ type: "rdfs:Class".freeze
986
+ term :ValidationResult,
987
+ comment: "The class of validation results.".freeze,
988
+ isDefinedBy: "shacl:".freeze,
989
+ label: "Validation result".freeze,
990
+ subClassOf: "shacl:AbstractResult".freeze,
991
+ type: "rdfs:Class".freeze
992
+ term :Validator,
993
+ comment: "The class of validators, which provide instructions on how to process a constraint definition. This class serves as base class for the SPARQL-based validators and other possible implementations.".freeze,
994
+ isDefinedBy: "shacl:".freeze,
995
+ label: "Validator".freeze,
996
+ subClassOf: "rdfs:Resource".freeze,
997
+ type: "rdfs:Class".freeze
998
+
999
+ # Property definitions
1000
+ property :alternativePath,
1001
+ comment: "The (single) value of this property must be a list of path elements, representing the elements of alternative paths.".freeze,
1002
+ isDefinedBy: "shacl:".freeze,
1003
+ label: "alternative path".freeze,
1004
+ range: "rdf:List".freeze,
1005
+ type: "rdf:Property".freeze
1006
+ property :and,
1007
+ comment: "RDF list of shapes to validate the value nodes against.".freeze,
1008
+ isDefinedBy: "shacl:".freeze,
1009
+ label: "and".freeze,
1010
+ range: "rdf:List".freeze,
1011
+ type: "rdf:Property".freeze
1012
+ property :annotationProperty,
1013
+ comment: "The annotation property that shall be set.".freeze,
1014
+ domain: "shacl:ResultAnnotation".freeze,
1015
+ isDefinedBy: "shacl:".freeze,
1016
+ label: "annotation property".freeze,
1017
+ range: "rdf:Property".freeze,
1018
+ type: "rdf:Property".freeze
1019
+ property :annotationValue,
1020
+ comment: "The (default) values of the annotation property.".freeze,
1021
+ domain: "shacl:ResultAnnotation".freeze,
1022
+ isDefinedBy: "shacl:".freeze,
1023
+ label: "annotation value".freeze,
1024
+ type: "rdf:Property".freeze
1025
+ property :annotationVarName,
1026
+ comment: "The name of the SPARQL variable from the SELECT clause that shall be used for the values.".freeze,
1027
+ domain: "shacl:ResultAnnotation".freeze,
1028
+ isDefinedBy: "shacl:".freeze,
1029
+ label: "annotation variable name".freeze,
1030
+ range: "xsd:string".freeze,
1031
+ type: "rdf:Property".freeze
1032
+ property :ask,
1033
+ comment: "The SPARQL ASK query to execute.".freeze,
1034
+ domain: "shacl:SPARQLAskExecutable".freeze,
1035
+ isDefinedBy: "shacl:".freeze,
1036
+ label: "ask".freeze,
1037
+ range: "xsd:string".freeze,
1038
+ type: "rdf:Property".freeze
1039
+ property :class,
1040
+ comment: "The type that all value nodes must have.".freeze,
1041
+ isDefinedBy: "shacl:".freeze,
1042
+ label: "class".freeze,
1043
+ range: "rdfs:Class".freeze,
1044
+ type: "rdf:Property".freeze
1045
+ property :closed,
1046
+ comment: "If set to true then the shape is closed.".freeze,
1047
+ isDefinedBy: "shacl:".freeze,
1048
+ label: "closed".freeze,
1049
+ range: "xsd:boolean".freeze,
1050
+ type: "rdf:Property".freeze
1051
+ property :condition,
1052
+ comment: "The shapes that the focus nodes need to conform to before a rule is executed on them.".freeze,
1053
+ domain: "shacl:Rule".freeze,
1054
+ isDefinedBy: "shacl:".freeze,
1055
+ label: "condition".freeze,
1056
+ range: "shacl:Shape".freeze,
1057
+ type: "rdf:Property".freeze
1058
+ property :conforms,
1059
+ comment: "True if the validation did not produce any validation results, and false otherwise.".freeze,
1060
+ domain: "shacl:ValidationReport".freeze,
1061
+ isDefinedBy: "shacl:".freeze,
1062
+ label: "conforms".freeze,
1063
+ range: "xsd:boolean".freeze,
1064
+ type: "rdf:Property".freeze
1065
+ property :construct,
1066
+ comment: "The SPARQL CONSTRUCT query to execute.".freeze,
1067
+ domain: "shacl:SPARQLConstructExecutable".freeze,
1068
+ isDefinedBy: "shacl:".freeze,
1069
+ label: "construct".freeze,
1070
+ range: "xsd:string".freeze,
1071
+ type: "rdf:Property".freeze
1072
+ property :datatype,
1073
+ comment: "Specifies an RDF datatype that all value nodes must have.".freeze,
1074
+ isDefinedBy: "shacl:".freeze,
1075
+ label: "datatype".freeze,
1076
+ range: "rdfs:Datatype".freeze,
1077
+ type: "rdf:Property".freeze
1078
+ property :deactivated,
1079
+ comment: "If set to true then all nodes conform to this.".freeze,
1080
+ isDefinedBy: "shacl:".freeze,
1081
+ label: "deactivated".freeze,
1082
+ range: "xsd:boolean".freeze,
1083
+ type: "rdf:Property".freeze
1084
+ property :declare,
1085
+ comment: "Links a resource with its namespace prefix declarations.".freeze,
1086
+ domain: "owl:Ontology".freeze,
1087
+ isDefinedBy: "shacl:".freeze,
1088
+ label: "declare".freeze,
1089
+ range: "shacl:PrefixDeclaration".freeze,
1090
+ type: "rdf:Property".freeze
1091
+ property :defaultValue,
1092
+ comment: "A default value for a property, for example for user interface tools to pre-populate input fields.".freeze,
1093
+ domain: "shacl:PropertyShape".freeze,
1094
+ isDefinedBy: "shacl:".freeze,
1095
+ label: "default value".freeze,
1096
+ type: "rdf:Property".freeze
1097
+ property :description,
1098
+ comment: "Human-readable descriptions for the property in the context of the surrounding shape.".freeze,
1099
+ domain: "shacl:PropertyShape".freeze,
1100
+ isDefinedBy: "shacl:".freeze,
1101
+ label: "description".freeze,
1102
+ type: "rdf:Property".freeze
1103
+ property :detail,
1104
+ comment: "Links a result with other results that provide more details, for example to describe violations against nested shapes.".freeze,
1105
+ domain: "shacl:AbstractResult".freeze,
1106
+ isDefinedBy: "shacl:".freeze,
1107
+ label: "detail".freeze,
1108
+ range: "shacl:AbstractResult".freeze,
1109
+ type: "rdf:Property".freeze
1110
+ property :disjoint,
1111
+ comment: "Specifies a property where the set of values must be disjoint with the value nodes.".freeze,
1112
+ isDefinedBy: "shacl:".freeze,
1113
+ label: "disjoint".freeze,
1114
+ range: "rdf:Property".freeze,
1115
+ type: "rdf:Property".freeze
1116
+ property :entailment,
1117
+ comment: "An entailment regime that indicates what kind of inferencing is required by a shapes graph.".freeze,
1118
+ domain: "owl:Ontology".freeze,
1119
+ isDefinedBy: "shacl:".freeze,
1120
+ label: "entailment".freeze,
1121
+ range: "rdfs:Resource".freeze,
1122
+ type: "rdf:Property".freeze
1123
+ property :equals,
1124
+ comment: "Specifies a property that must have the same values as the value nodes.".freeze,
1125
+ isDefinedBy: "shacl:".freeze,
1126
+ label: "equals".freeze,
1127
+ range: "rdf:Property".freeze,
1128
+ type: "rdf:Property".freeze
1129
+ property :expression,
1130
+ comment: "The node expression that must return true for the value nodes.".freeze,
1131
+ isDefinedBy: "shacl:".freeze,
1132
+ label: "expression".freeze,
1133
+ type: "rdf:Property".freeze
1134
+ property :filterShape,
1135
+ comment: "The shape that all input nodes of the expression need to conform to.".freeze,
1136
+ isDefinedBy: "shacl:".freeze,
1137
+ label: "filter shape".freeze,
1138
+ range: "shacl:Shape".freeze,
1139
+ type: "rdf:Property".freeze
1140
+ property :flags,
1141
+ comment: "An optional flag to be used with regular expression pattern matching.".freeze,
1142
+ isDefinedBy: "shacl:".freeze,
1143
+ label: "flags".freeze,
1144
+ range: "xsd:string".freeze,
1145
+ type: "rdf:Property".freeze
1146
+ property :focusNode,
1147
+ comment: "The focus node that was validated when the result was produced.".freeze,
1148
+ domain: "shacl:AbstractResult".freeze,
1149
+ isDefinedBy: "shacl:".freeze,
1150
+ label: "focus node".freeze,
1151
+ type: "rdf:Property".freeze
1152
+ property :group,
1153
+ comment: "Can be used to link to a property group to indicate that a property shape belongs to a group of related property shapes.".freeze,
1154
+ domain: "shacl:PropertyShape".freeze,
1155
+ isDefinedBy: "shacl:".freeze,
1156
+ label: "group".freeze,
1157
+ range: "shacl:PropertyGroup".freeze,
1158
+ type: "rdf:Property".freeze
1159
+ property :hasValue,
1160
+ comment: "Specifies a value that must be among the value nodes.".freeze,
1161
+ isDefinedBy: "shacl:".freeze,
1162
+ label: "has value".freeze,
1163
+ type: "rdf:Property".freeze
1164
+ property :ignoredProperties,
1165
+ comment: "An optional RDF list of properties that are also permitted in addition to those explicitly enumerated via sh:property/sh:path.".freeze,
1166
+ isDefinedBy: "shacl:".freeze,
1167
+ label: "ignored properties".freeze,
1168
+ range: "rdf:List".freeze,
1169
+ type: "rdf:Property".freeze
1170
+ property :in,
1171
+ comment: "Specifies a list of allowed values so that each value node must be among the members of the given list.".freeze,
1172
+ isDefinedBy: "shacl:".freeze,
1173
+ label: "in".freeze,
1174
+ range: "rdf:List".freeze,
1175
+ type: "rdf:Property".freeze
1176
+ property :intersection,
1177
+ comment: "A list of node expressions that shall be intersected.".freeze,
1178
+ isDefinedBy: "shacl:".freeze,
1179
+ label: "intersection".freeze,
1180
+ type: "rdf:Property".freeze
1181
+ property :inversePath,
1182
+ comment: "The (single) value of this property represents an inverse path (object to subject).".freeze,
1183
+ isDefinedBy: "shacl:".freeze,
1184
+ label: "inverse path".freeze,
1185
+ range: "rdfs:Resource".freeze,
1186
+ type: "rdf:Property".freeze
1187
+ property :js,
1188
+ comment: "Constraints expressed in JavaScript.".freeze,
1189
+ isDefinedBy: "shacl:".freeze,
1190
+ label: "JavaScript constraint".freeze,
1191
+ range: "shacl:JSConstraint".freeze,
1192
+ type: "rdf:Property".freeze
1193
+ property :jsFunctionName,
1194
+ comment: "The name of the JavaScript function to execute.".freeze,
1195
+ domain: "shacl:JSExecutable".freeze,
1196
+ isDefinedBy: "shacl:".freeze,
1197
+ label: "JavaScript function name".freeze,
1198
+ range: "xsd:string".freeze,
1199
+ type: "rdf:Property".freeze
1200
+ property :jsLibrary,
1201
+ comment: "Declares which JavaScript libraries are needed to execute this.".freeze,
1202
+ isDefinedBy: "shacl:".freeze,
1203
+ label: "JavaScript library".freeze,
1204
+ range: "shacl:JSLibrary".freeze,
1205
+ type: "rdf:Property".freeze
1206
+ property :jsLibraryURL,
1207
+ comment: "Declares the URLs of a JavaScript library. This should be the absolute URL of a JavaScript file. Implementations may redirect those to local files.".freeze,
1208
+ domain: "shacl:JSLibrary".freeze,
1209
+ isDefinedBy: "shacl:".freeze,
1210
+ label: "JavaScript library URL".freeze,
1211
+ range: "xsd:anyURI".freeze,
1212
+ type: "rdf:Property".freeze
1213
+ property :labelTemplate,
1214
+ comment: "Outlines how human-readable labels of instances of the associated Parameterizable shall be produced. The values can contain {?paramName} as placeholders for the actual values of the given parameter.".freeze,
1215
+ domain: "shacl:Parameterizable".freeze,
1216
+ isDefinedBy: "shacl:".freeze,
1217
+ label: "label template".freeze,
1218
+ type: "rdf:Property".freeze
1219
+ property :languageIn,
1220
+ comment: "Specifies a list of language tags that all value nodes must have.".freeze,
1221
+ isDefinedBy: "shacl:".freeze,
1222
+ label: "language in".freeze,
1223
+ range: "rdf:List".freeze,
1224
+ type: "rdf:Property".freeze
1225
+ property :lessThan,
1226
+ comment: "Specifies a property that must have smaller values than the value nodes.".freeze,
1227
+ isDefinedBy: "shacl:".freeze,
1228
+ label: "less than".freeze,
1229
+ range: "rdf:Property".freeze,
1230
+ type: "rdf:Property".freeze
1231
+ property :lessThanOrEquals,
1232
+ comment: "Specifies a property that must have smaller or equal values than the value nodes.".freeze,
1233
+ isDefinedBy: "shacl:".freeze,
1234
+ label: "less than or equals".freeze,
1235
+ range: "rdf:Property".freeze,
1236
+ type: "rdf:Property".freeze
1237
+ property :maxCount,
1238
+ comment: "Specifies the maximum number of values in the set of value nodes.".freeze,
1239
+ isDefinedBy: "shacl:".freeze,
1240
+ label: "max count".freeze,
1241
+ range: "xsd:integer".freeze,
1242
+ type: "rdf:Property".freeze
1243
+ property :maxExclusive,
1244
+ comment: "Specifies the maximum exclusive value of each value node.".freeze,
1245
+ isDefinedBy: "shacl:".freeze,
1246
+ label: "max exclusive".freeze,
1247
+ type: "rdf:Property".freeze
1248
+ property :maxInclusive,
1249
+ comment: "Specifies the maximum inclusive value of each value node.".freeze,
1250
+ isDefinedBy: "shacl:".freeze,
1251
+ label: "max inclusive".freeze,
1252
+ type: "rdf:Property".freeze
1253
+ property :maxLength,
1254
+ comment: "Specifies the maximum string length of each value node.".freeze,
1255
+ isDefinedBy: "shacl:".freeze,
1256
+ label: "max length".freeze,
1257
+ range: "xsd:integer".freeze,
1258
+ type: "rdf:Property".freeze
1259
+ property :message,
1260
+ comment: "A human-readable message (possibly with placeholders for variables) explaining the cause of the result.".freeze,
1261
+ isDefinedBy: "shacl:".freeze,
1262
+ label: "message".freeze,
1263
+ type: "rdf:Property".freeze
1264
+ property :minCount,
1265
+ comment: "Specifies the minimum number of values in the set of value nodes.".freeze,
1266
+ isDefinedBy: "shacl:".freeze,
1267
+ label: "min count".freeze,
1268
+ range: "xsd:integer".freeze,
1269
+ type: "rdf:Property".freeze
1270
+ property :minExclusive,
1271
+ comment: "Specifies the minimum exclusive value of each value node.".freeze,
1272
+ isDefinedBy: "shacl:".freeze,
1273
+ label: "min exclusive".freeze,
1274
+ type: "rdf:Property".freeze
1275
+ property :minInclusive,
1276
+ comment: "Specifies the minimum inclusive value of each value node.".freeze,
1277
+ isDefinedBy: "shacl:".freeze,
1278
+ label: "min inclusive".freeze,
1279
+ type: "rdf:Property".freeze
1280
+ property :minLength,
1281
+ comment: "Specifies the minimum string length of each value node.".freeze,
1282
+ isDefinedBy: "shacl:".freeze,
1283
+ label: "min length".freeze,
1284
+ range: "xsd:integer".freeze,
1285
+ type: "rdf:Property".freeze
1286
+ property :name,
1287
+ comment: "Human-readable labels for the property in the context of the surrounding shape.".freeze,
1288
+ domain: "shacl:PropertyShape".freeze,
1289
+ isDefinedBy: "shacl:".freeze,
1290
+ label: "name".freeze,
1291
+ type: "rdf:Property".freeze
1292
+ property :namespace,
1293
+ comment: "The namespace associated with a prefix in a prefix declaration.".freeze,
1294
+ domain: "shacl:PrefixDeclaration".freeze,
1295
+ isDefinedBy: "shacl:".freeze,
1296
+ label: "namespace".freeze,
1297
+ range: "xsd:anyURI".freeze,
1298
+ type: "rdf:Property".freeze
1299
+ property :node,
1300
+ comment: "Specifies the node shape that all value nodes must conform to.".freeze,
1301
+ isDefinedBy: "shacl:".freeze,
1302
+ label: "node".freeze,
1303
+ range: "shacl:NodeShape".freeze,
1304
+ type: "rdf:Property".freeze
1305
+ property :nodeKind,
1306
+ comment: "Specifies the node kind (e.g. IRI or literal) each value node.".freeze,
1307
+ isDefinedBy: "shacl:".freeze,
1308
+ label: "node kind".freeze,
1309
+ range: "shacl:NodeKind".freeze,
1310
+ type: "rdf:Property".freeze
1311
+ property :nodeValidator,
1312
+ comment: "The validator(s) used to evaluate a constraint in the context of a node shape.".freeze,
1313
+ domain: "shacl:ConstraintComponent".freeze,
1314
+ isDefinedBy: "shacl:".freeze,
1315
+ label: "shape validator".freeze,
1316
+ range: "shacl:Validator".freeze,
1317
+ type: "rdf:Property".freeze
1318
+ property :nodes,
1319
+ comment: "The node expression producing the input nodes of a filter shape expression.".freeze,
1320
+ isDefinedBy: "shacl:".freeze,
1321
+ label: "nodes".freeze,
1322
+ type: "rdf:Property".freeze
1323
+ property :not,
1324
+ comment: "Specifies a shape that the value nodes must not conform to.".freeze,
1325
+ isDefinedBy: "shacl:".freeze,
1326
+ label: "not".freeze,
1327
+ range: "shacl:Shape".freeze,
1328
+ type: "rdf:Property".freeze
1329
+ property :object,
1330
+ comment: "An expression producing the nodes that shall be inferred as objects.".freeze,
1331
+ domain: "shacl:TripleRule".freeze,
1332
+ isDefinedBy: "shacl:".freeze,
1333
+ label: "object".freeze,
1334
+ type: "rdf:Property".freeze
1335
+ property :oneOrMorePath,
1336
+ comment: "The (single) value of this property represents a path that is matched one or more times.".freeze,
1337
+ isDefinedBy: "shacl:".freeze,
1338
+ label: "one or more path".freeze,
1339
+ range: "rdfs:Resource".freeze,
1340
+ type: "rdf:Property".freeze
1341
+ property :optional,
1342
+ comment: "Indicates whether a parameter is optional.".freeze,
1343
+ domain: "shacl:Parameter".freeze,
1344
+ isDefinedBy: "shacl:".freeze,
1345
+ label: "optional".freeze,
1346
+ range: "xsd:boolean".freeze,
1347
+ type: "rdf:Property".freeze
1348
+ property :or,
1349
+ comment: "Specifies a list of shapes so that the value nodes must conform to at least one of the shapes.".freeze,
1350
+ isDefinedBy: "shacl:".freeze,
1351
+ label: "or".freeze,
1352
+ range: "rdf:List".freeze,
1353
+ type: "rdf:Property".freeze
1354
+ property :order,
1355
+ comment: "Specifies the relative order of this compared to its siblings. For example use 0 for the first, 1 for the second.".freeze,
1356
+ isDefinedBy: "shacl:".freeze,
1357
+ label: "order".freeze,
1358
+ type: "rdf:Property".freeze
1359
+ property :parameter,
1360
+ comment: "The parameters of a function or constraint component.".freeze,
1361
+ domain: "shacl:Parameterizable".freeze,
1362
+ isDefinedBy: "shacl:".freeze,
1363
+ label: "parameter".freeze,
1364
+ range: "shacl:Parameter".freeze,
1365
+ type: "rdf:Property".freeze
1366
+ property :path,
1367
+ comment: "Specifies the property path of a property shape.".freeze,
1368
+ domain: "shacl:PropertyShape".freeze,
1369
+ isDefinedBy: "shacl:".freeze,
1370
+ label: "path".freeze,
1371
+ range: "rdfs:Resource".freeze,
1372
+ type: "rdf:Property".freeze
1373
+ property :pattern,
1374
+ comment: "Specifies a regular expression pattern that the string representations of the value nodes must match.".freeze,
1375
+ isDefinedBy: "shacl:".freeze,
1376
+ label: "pattern".freeze,
1377
+ range: "xsd:string".freeze,
1378
+ type: "rdf:Property".freeze
1379
+ property :predicate,
1380
+ comment: "An expression producing the properties that shall be inferred as predicates.".freeze,
1381
+ domain: "shacl:TripleRule".freeze,
1382
+ isDefinedBy: "shacl:".freeze,
1383
+ label: "predicate".freeze,
1384
+ type: "rdf:Property".freeze
1385
+ property :prefix,
1386
+ comment: "The prefix of a prefix declaration.".freeze,
1387
+ domain: "shacl:PrefixDeclaration".freeze,
1388
+ isDefinedBy: "shacl:".freeze,
1389
+ label: "prefix".freeze,
1390
+ range: "xsd:string".freeze,
1391
+ type: "rdf:Property".freeze
1392
+ property :prefixes,
1393
+ comment: "The prefixes that shall be applied before parsing the associated SPARQL query.".freeze,
1394
+ domain: "shacl:SPARQLExecutable".freeze,
1395
+ isDefinedBy: "shacl:".freeze,
1396
+ label: "prefixes".freeze,
1397
+ range: "owl:Ontology".freeze,
1398
+ type: "rdf:Property".freeze
1399
+ property :property,
1400
+ comment: "Links a shape to its property shapes.".freeze,
1401
+ domain: "shacl:Shape".freeze,
1402
+ isDefinedBy: "shacl:".freeze,
1403
+ label: "property".freeze,
1404
+ range: "shacl:PropertyShape".freeze,
1405
+ type: "rdf:Property".freeze
1406
+ property :propertyValidator,
1407
+ comment: "The validator(s) used to evaluate a constraint in the context of a property shape.".freeze,
1408
+ domain: "shacl:ConstraintComponent".freeze,
1409
+ isDefinedBy: "shacl:".freeze,
1410
+ label: "property validator".freeze,
1411
+ range: "shacl:Validator".freeze,
1412
+ type: "rdf:Property".freeze
1413
+ property :qualifiedMaxCount,
1414
+ comment: "The maximum number of value nodes that can conform to the shape.".freeze,
1415
+ isDefinedBy: "shacl:".freeze,
1416
+ label: "qualified max count".freeze,
1417
+ range: "xsd:integer".freeze,
1418
+ type: "rdf:Property".freeze
1419
+ property :qualifiedMinCount,
1420
+ comment: "The minimum number of value nodes that must conform to the shape.".freeze,
1421
+ isDefinedBy: "shacl:".freeze,
1422
+ label: "qualified min count".freeze,
1423
+ range: "xsd:integer".freeze,
1424
+ type: "rdf:Property".freeze
1425
+ property :qualifiedValueShape,
1426
+ comment: "The shape that a specified number of values must conform to.".freeze,
1427
+ isDefinedBy: "shacl:".freeze,
1428
+ label: "qualified value shape".freeze,
1429
+ range: "shacl:Shape".freeze,
1430
+ type: "rdf:Property".freeze
1431
+ property :qualifiedValueShapesDisjoint,
1432
+ comment: "Can be used to mark the qualified value shape to be disjoint with its sibling shapes.".freeze,
1433
+ isDefinedBy: "shacl:".freeze,
1434
+ label: "qualified value shapes disjoint".freeze,
1435
+ range: "xsd:boolean".freeze,
1436
+ type: "rdf:Property".freeze
1437
+ property :result,
1438
+ comment: "The validation results contained in a validation report.".freeze,
1439
+ domain: "shacl:ValidationReport".freeze,
1440
+ isDefinedBy: "shacl:".freeze,
1441
+ label: "result".freeze,
1442
+ range: "shacl:ValidationResult".freeze,
1443
+ type: "rdf:Property".freeze
1444
+ property :resultAnnotation,
1445
+ comment: "Links a SPARQL validator with zero or more sh:ResultAnnotation instances, defining how to derive additional result properties based on the variables of the SELECT query.".freeze,
1446
+ domain: "shacl:SPARQLSelectValidator".freeze,
1447
+ isDefinedBy: "shacl:".freeze,
1448
+ label: "result annotation".freeze,
1449
+ range: "shacl:ResultAnnotation".freeze,
1450
+ type: "rdf:Property".freeze
1451
+ property :resultMessage,
1452
+ comment: "Human-readable messages explaining the cause of the result.".freeze,
1453
+ domain: "shacl:AbstractResult".freeze,
1454
+ isDefinedBy: "shacl:".freeze,
1455
+ label: "result message".freeze,
1456
+ type: "rdf:Property".freeze
1457
+ property :resultPath,
1458
+ comment: "The path of a validation result, based on the path of the validated property shape.".freeze,
1459
+ domain: "shacl:AbstractResult".freeze,
1460
+ isDefinedBy: "shacl:".freeze,
1461
+ label: "result path".freeze,
1462
+ range: "rdfs:Resource".freeze,
1463
+ type: "rdf:Property".freeze
1464
+ property :resultSeverity,
1465
+ comment: "The severity of the result, e.g. warning.".freeze,
1466
+ domain: "shacl:AbstractResult".freeze,
1467
+ isDefinedBy: "shacl:".freeze,
1468
+ label: "result severity".freeze,
1469
+ range: "shacl:Severity".freeze,
1470
+ type: "rdf:Property".freeze
1471
+ property :returnType,
1472
+ comment: "The expected type of values returned by the associated function.".freeze,
1473
+ domain: "shacl:Function".freeze,
1474
+ isDefinedBy: "shacl:".freeze,
1475
+ label: "return type".freeze,
1476
+ range: "rdfs:Class".freeze,
1477
+ type: "rdf:Property".freeze
1478
+ property :rule,
1479
+ comment: "The rules linked to a shape.".freeze,
1480
+ domain: "shacl:Shape".freeze,
1481
+ isDefinedBy: "shacl:".freeze,
1482
+ label: "rule".freeze,
1483
+ range: "shacl:Rule".freeze,
1484
+ type: "rdf:Property".freeze
1485
+ property :select,
1486
+ comment: "The SPARQL SELECT query to execute.".freeze,
1487
+ domain: "shacl:SPARQLSelectExecutable".freeze,
1488
+ isDefinedBy: "shacl:".freeze,
1489
+ label: "select".freeze,
1490
+ range: "xsd:string".freeze,
1491
+ type: "rdf:Property".freeze
1492
+ property :severity,
1493
+ comment: "Defines the severity that validation results produced by a shape must have. Defaults to sh:Violation.".freeze,
1494
+ domain: "shacl:Shape".freeze,
1495
+ isDefinedBy: "shacl:".freeze,
1496
+ label: "severity".freeze,
1497
+ range: "shacl:Severity".freeze,
1498
+ type: "rdf:Property".freeze
1499
+ property :shapesGraph,
1500
+ comment: "Shapes graphs that should be used when validating this data graph.".freeze,
1501
+ domain: "owl:Ontology".freeze,
1502
+ isDefinedBy: "shacl:".freeze,
1503
+ label: "shapes graph".freeze,
1504
+ range: "owl:Ontology".freeze,
1505
+ type: "rdf:Property".freeze
1506
+ property :shapesGraphWellFormed,
1507
+ comment: "If true then the validation engine was certain that the shapes graph has passed all SHACL syntax requirements during the validation process.".freeze,
1508
+ domain: "shacl:ValidationReport".freeze,
1509
+ isDefinedBy: "shacl:".freeze,
1510
+ label: "shapes graph well-formed".freeze,
1511
+ range: "xsd:boolean".freeze,
1512
+ type: "rdf:Property".freeze
1513
+ property :sourceConstraint,
1514
+ comment: "The constraint that was validated when the result was produced.".freeze,
1515
+ domain: "shacl:AbstractResult".freeze,
1516
+ isDefinedBy: "shacl:".freeze,
1517
+ label: "source constraint".freeze,
1518
+ type: "rdf:Property".freeze
1519
+ property :sourceConstraintComponent,
1520
+ comment: "The constraint component that is the source of the result.".freeze,
1521
+ domain: "shacl:AbstractResult".freeze,
1522
+ isDefinedBy: "shacl:".freeze,
1523
+ label: "source constraint component".freeze,
1524
+ range: "shacl:ConstraintComponent".freeze,
1525
+ type: "rdf:Property".freeze
1526
+ property :sourceShape,
1527
+ comment: "The shape that is was validated when the result was produced.".freeze,
1528
+ domain: "shacl:AbstractResult".freeze,
1529
+ isDefinedBy: "shacl:".freeze,
1530
+ label: "source shape".freeze,
1531
+ range: "shacl:Shape".freeze,
1532
+ type: "rdf:Property".freeze
1533
+ property :sparql,
1534
+ comment: "Links a shape with SPARQL constraints.".freeze,
1535
+ domain: "shacl:Shape".freeze,
1536
+ isDefinedBy: "shacl:".freeze,
1537
+ label: "constraint (in SPARQL)".freeze,
1538
+ range: "shacl:SPARQLConstraint".freeze,
1539
+ type: "rdf:Property".freeze
1540
+ property :subject,
1541
+ comment: "An expression producing the resources that shall be inferred as subjects.".freeze,
1542
+ domain: "shacl:TripleRule".freeze,
1543
+ isDefinedBy: "shacl:".freeze,
1544
+ label: "subject".freeze,
1545
+ type: "rdf:Property".freeze
1546
+ property :suggestedShapesGraph,
1547
+ comment: "Suggested shapes graphs for this ontology. The values of this property may be used in the absence of specific sh:shapesGraph statements.".freeze,
1548
+ domain: "owl:Ontology".freeze,
1549
+ isDefinedBy: "shacl:".freeze,
1550
+ label: "suggested shapes graph".freeze,
1551
+ range: "owl:Ontology".freeze,
1552
+ type: "rdf:Property".freeze
1553
+ property :target,
1554
+ comment: "Links a shape to a target specified by an extension language, for example instances of sh:SPARQLTarget.".freeze,
1555
+ domain: "shacl:Shape".freeze,
1556
+ isDefinedBy: "shacl:".freeze,
1557
+ label: "target".freeze,
1558
+ range: "shacl:Target".freeze,
1559
+ type: "rdf:Property".freeze
1560
+ property :targetClass,
1561
+ comment: "Links a shape to a class, indicating that all instances of the class must conform to the shape.".freeze,
1562
+ domain: "shacl:Shape".freeze,
1563
+ isDefinedBy: "shacl:".freeze,
1564
+ label: "target class".freeze,
1565
+ range: "rdfs:Class".freeze,
1566
+ type: "rdf:Property".freeze
1567
+ property :targetNode,
1568
+ comment: "Links a shape to individual nodes, indicating that these nodes must conform to the shape.".freeze,
1569
+ domain: "shacl:Shape".freeze,
1570
+ isDefinedBy: "shacl:".freeze,
1571
+ label: "target node".freeze,
1572
+ type: "rdf:Property".freeze
1573
+ property :targetObjectsOf,
1574
+ comment: "Links a shape to a property, indicating that all all objects of triples that have the given property as their predicate must conform to the shape.".freeze,
1575
+ domain: "shacl:Shape".freeze,
1576
+ isDefinedBy: "shacl:".freeze,
1577
+ label: "target objects of".freeze,
1578
+ range: "rdf:Property".freeze,
1579
+ type: "rdf:Property".freeze
1580
+ property :targetSubjectsOf,
1581
+ comment: "Links a shape to a property, indicating that all subjects of triples that have the given property as their predicate must conform to the shape.".freeze,
1582
+ domain: "shacl:Shape".freeze,
1583
+ isDefinedBy: "shacl:".freeze,
1584
+ label: "target subjects of".freeze,
1585
+ range: "rdf:Property".freeze,
1586
+ type: "rdf:Property".freeze
1587
+ property :union,
1588
+ comment: "A list of node expressions that shall be used together.".freeze,
1589
+ isDefinedBy: "shacl:".freeze,
1590
+ label: "union".freeze,
1591
+ type: "rdf:Property".freeze
1592
+ property :uniqueLang,
1593
+ comment: "Specifies whether all node values must have a unique (or no) language tag.".freeze,
1594
+ isDefinedBy: "shacl:".freeze,
1595
+ label: "unique languages".freeze,
1596
+ range: "xsd:boolean".freeze,
1597
+ type: "rdf:Property".freeze
1598
+ property :update,
1599
+ comment: "The SPARQL UPDATE to execute.".freeze,
1600
+ domain: "shacl:SPARQLUpdateExecutable".freeze,
1601
+ isDefinedBy: "shacl:".freeze,
1602
+ label: "update".freeze,
1603
+ range: "xsd:string".freeze,
1604
+ type: "rdf:Property".freeze
1605
+ property :validator,
1606
+ comment: "The validator(s) used to evaluate constraints of either node or property shapes.".freeze,
1607
+ domain: "shacl:ConstraintComponent".freeze,
1608
+ isDefinedBy: "shacl:".freeze,
1609
+ label: "validator".freeze,
1610
+ range: "shacl:Validator".freeze,
1611
+ type: "rdf:Property".freeze
1612
+ property :value,
1613
+ comment: "An RDF node that has caused the result.".freeze,
1614
+ domain: "shacl:AbstractResult".freeze,
1615
+ isDefinedBy: "shacl:".freeze,
1616
+ label: "value".freeze,
1617
+ type: "rdf:Property".freeze
1618
+ property :xone,
1619
+ comment: "Specifies a list of shapes so that the value nodes must conform to exactly one of the shapes.".freeze,
1620
+ isDefinedBy: "shacl:".freeze,
1621
+ label: "exactly one".freeze,
1622
+ range: "rdf:List".freeze,
1623
+ type: "rdf:Property".freeze
1624
+ property :zeroOrMorePath,
1625
+ comment: "The (single) value of this property represents a path that is matched zero or more times.".freeze,
1626
+ isDefinedBy: "shacl:".freeze,
1627
+ label: "zero or more path".freeze,
1628
+ range: "rdfs:Resource".freeze,
1629
+ type: "rdf:Property".freeze
1630
+ property :zeroOrOnePath,
1631
+ comment: "The (single) value of this property represents a path that is matched zero or one times.".freeze,
1632
+ isDefinedBy: "shacl:".freeze,
1633
+ label: "zero or one path".freeze,
1634
+ range: "rdfs:Resource".freeze,
1635
+ type: "rdf:Property".freeze
1636
+
1637
+ # Extra definitions
1638
+ term :AndConstraintComponent,
1639
+ comment: "A constraint component that can be used to test whether a value node conforms to all members of a provided list of shapes.".freeze,
1640
+ isDefinedBy: "shacl:".freeze,
1641
+ label: "And constraint component".freeze,
1642
+ "shacl:parameter": "shacl:AndConstraintComponent-and".freeze,
1643
+ type: "shacl:ConstraintComponent".freeze
1644
+ term :"AndConstraintComponent-and",
1645
+ isDefinedBy: "shacl:".freeze,
1646
+ "shacl:path": "shacl:and".freeze,
1647
+ type: "shacl:Parameter".freeze
1648
+ term :BlankNode,
1649
+ comment: "The node kind of all blank nodes.".freeze,
1650
+ isDefinedBy: "shacl:".freeze,
1651
+ label: "Blank node".freeze,
1652
+ type: "shacl:NodeKind".freeze
1653
+ term :BlankNodeOrIRI,
1654
+ comment: "The node kind of all blank nodes or IRIs.".freeze,
1655
+ isDefinedBy: "shacl:".freeze,
1656
+ label: "Blank node or IRI".freeze,
1657
+ type: "shacl:NodeKind".freeze
1658
+ term :BlankNodeOrLiteral,
1659
+ comment: "The node kind of all blank nodes or literals.".freeze,
1660
+ isDefinedBy: "shacl:".freeze,
1661
+ label: "Blank node or literal".freeze,
1662
+ type: "shacl:NodeKind".freeze
1663
+ term :ClassConstraintComponent,
1664
+ comment: "A constraint component that can be used to verify that each value node is an instance of a given type.".freeze,
1665
+ isDefinedBy: "shacl:".freeze,
1666
+ label: "Class constraint component".freeze,
1667
+ "shacl:parameter": "shacl:ClassConstraintComponent-class".freeze,
1668
+ type: "shacl:ConstraintComponent".freeze
1669
+ term :"ClassConstraintComponent-class",
1670
+ isDefinedBy: "shacl:".freeze,
1671
+ "shacl:nodeKind": "shacl:IRI".freeze,
1672
+ "shacl:path": "shacl:class".freeze,
1673
+ type: "shacl:Parameter".freeze
1674
+ term :ClosedConstraintComponent,
1675
+ comment: "A constraint component that can be used to indicate that focus nodes must only have values for those properties that have been explicitly enumerated via sh:property/sh:path.".freeze,
1676
+ isDefinedBy: "shacl:".freeze,
1677
+ label: "Closed constraint component".freeze,
1678
+ "shacl:parameter": ["shacl:ClosedConstraintComponent-closed".freeze, "shacl:ClosedConstraintComponent-ignoredProperties".freeze],
1679
+ type: "shacl:ConstraintComponent".freeze
1680
+ term :"ClosedConstraintComponent-closed",
1681
+ isDefinedBy: "shacl:".freeze,
1682
+ "shacl:datatype": "xsd:boolean".freeze,
1683
+ "shacl:path": "shacl:closed".freeze,
1684
+ type: "shacl:Parameter".freeze
1685
+ term :"ClosedConstraintComponent-ignoredProperties",
1686
+ isDefinedBy: "shacl:".freeze,
1687
+ "shacl:optional": "true".freeze,
1688
+ "shacl:path": "shacl:ignoredProperties".freeze,
1689
+ type: "shacl:Parameter".freeze
1690
+ term :DatatypeConstraintComponent,
1691
+ comment: "A constraint component that can be used to restrict the datatype of all value nodes.".freeze,
1692
+ isDefinedBy: "shacl:".freeze,
1693
+ label: "Datatype constraint component".freeze,
1694
+ "shacl:parameter": "shacl:DatatypeConstraintComponent-datatype".freeze,
1695
+ type: "shacl:ConstraintComponent".freeze
1696
+ term :"DatatypeConstraintComponent-datatype",
1697
+ isDefinedBy: "shacl:".freeze,
1698
+ "shacl:maxCount": "1".freeze,
1699
+ "shacl:nodeKind": "shacl:IRI".freeze,
1700
+ "shacl:path": "shacl:datatype".freeze,
1701
+ type: "shacl:Parameter".freeze
1702
+ term :DisjointConstraintComponent,
1703
+ comment: "A constraint component that can be used to verify that the set of value nodes is disjoint with the the set of nodes that have the focus node as subject and the value of a given property as predicate.".freeze,
1704
+ isDefinedBy: "shacl:".freeze,
1705
+ label: "Disjoint constraint component".freeze,
1706
+ "shacl:parameter": "shacl:DisjointConstraintComponent-disjoint".freeze,
1707
+ type: "shacl:ConstraintComponent".freeze
1708
+ term :"DisjointConstraintComponent-disjoint",
1709
+ isDefinedBy: "shacl:".freeze,
1710
+ "shacl:nodeKind": "shacl:IRI".freeze,
1711
+ "shacl:path": "shacl:disjoint".freeze,
1712
+ type: "shacl:Parameter".freeze
1713
+ term :EqualsConstraintComponent,
1714
+ comment: "A constraint component that can be used to verify that the set of value nodes is equal to the set of nodes that have the focus node as subject and the value of a given property as predicate.".freeze,
1715
+ isDefinedBy: "shacl:".freeze,
1716
+ label: "Equals constraint component".freeze,
1717
+ "shacl:parameter": "shacl:EqualsConstraintComponent-equals".freeze,
1718
+ type: "shacl:ConstraintComponent".freeze
1719
+ term :"EqualsConstraintComponent-equals",
1720
+ isDefinedBy: "shacl:".freeze,
1721
+ "shacl:nodeKind": "shacl:IRI".freeze,
1722
+ "shacl:path": "shacl:equals".freeze,
1723
+ type: "shacl:Parameter".freeze
1724
+ term :ExpressionConstraintComponent,
1725
+ comment: "A constraint component that can be used to verify that a given node expression produces true for all value nodes.".freeze,
1726
+ isDefinedBy: "shacl:".freeze,
1727
+ label: "Expression constraint component".freeze,
1728
+ "shacl:parameter": "shacl:ExpressionConstraintComponent-expression".freeze,
1729
+ type: "shacl:ConstraintComponent".freeze
1730
+ term :"ExpressionConstraintComponent-expression",
1731
+ isDefinedBy: "shacl:".freeze,
1732
+ "shacl:path": "shacl:expression".freeze,
1733
+ type: "shacl:Parameter".freeze
1734
+ term :HasValueConstraintComponent,
1735
+ comment: "A constraint component that can be used to verify that one of the value nodes is a given RDF node.".freeze,
1736
+ isDefinedBy: "shacl:".freeze,
1737
+ label: "Has-value constraint component".freeze,
1738
+ "shacl:parameter": "shacl:HasValueConstraintComponent-hasValue".freeze,
1739
+ type: "shacl:ConstraintComponent".freeze
1740
+ term :"HasValueConstraintComponent-hasValue",
1741
+ isDefinedBy: "shacl:".freeze,
1742
+ "shacl:path": "shacl:hasValue".freeze,
1743
+ type: "shacl:Parameter".freeze
1744
+ term :IRI,
1745
+ comment: "The node kind of all IRIs.".freeze,
1746
+ isDefinedBy: "shacl:".freeze,
1747
+ label: "IRI".freeze,
1748
+ type: "shacl:NodeKind".freeze
1749
+ term :IRIOrLiteral,
1750
+ comment: "The node kind of all IRIs or literals.".freeze,
1751
+ isDefinedBy: "shacl:".freeze,
1752
+ label: "IRI or literal".freeze,
1753
+ type: "shacl:NodeKind".freeze
1754
+ term :InConstraintComponent,
1755
+ comment: "A constraint component that can be used to exclusively enumerate the permitted value nodes.".freeze,
1756
+ isDefinedBy: "shacl:".freeze,
1757
+ label: "In constraint component".freeze,
1758
+ "shacl:parameter": "shacl:InConstraintComponent-in".freeze,
1759
+ type: "shacl:ConstraintComponent".freeze
1760
+ term :"InConstraintComponent-in",
1761
+ isDefinedBy: "shacl:".freeze,
1762
+ "shacl:maxCount": "1".freeze,
1763
+ "shacl:path": "shacl:in".freeze,
1764
+ type: "shacl:Parameter".freeze
1765
+ term :Info,
1766
+ comment: "The severity for an informational validation result.".freeze,
1767
+ isDefinedBy: "shacl:".freeze,
1768
+ label: "Info".freeze,
1769
+ type: "shacl:Severity".freeze
1770
+ term :"JSConstraint-js",
1771
+ isDefinedBy: "shacl:".freeze,
1772
+ "shacl:path": "shacl:js".freeze,
1773
+ type: "shacl:Parameter".freeze
1774
+ term :JSConstraintComponent,
1775
+ comment: "A constraint component with the parameter sh:js linking to a sh:JSConstraint containing a sh:script.".freeze,
1776
+ isDefinedBy: "shacl:".freeze,
1777
+ label: "JavaScript constraint component".freeze,
1778
+ "shacl:parameter": "shacl:JSConstraint-js".freeze,
1779
+ type: "shacl:ConstraintComponent".freeze
1780
+ term :LanguageInConstraintComponent,
1781
+ comment: "A constraint component that can be used to enumerate language tags that all value nodes must have.".freeze,
1782
+ isDefinedBy: "shacl:".freeze,
1783
+ label: "Language-in constraint component".freeze,
1784
+ "shacl:parameter": "shacl:LanguageInConstraintComponent-languageIn".freeze,
1785
+ type: "shacl:ConstraintComponent".freeze
1786
+ term :"LanguageInConstraintComponent-languageIn",
1787
+ isDefinedBy: "shacl:".freeze,
1788
+ "shacl:maxCount": "1".freeze,
1789
+ "shacl:path": "shacl:languageIn".freeze,
1790
+ type: "shacl:Parameter".freeze
1791
+ term :LessThanConstraintComponent,
1792
+ comment: "A constraint component that can be used to verify that each value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate.".freeze,
1793
+ isDefinedBy: "shacl:".freeze,
1794
+ label: "Less-than constraint component".freeze,
1795
+ "shacl:parameter": "shacl:LessThanConstraintComponent-lessThan".freeze,
1796
+ type: "shacl:ConstraintComponent".freeze
1797
+ term :"LessThanConstraintComponent-lessThan",
1798
+ isDefinedBy: "shacl:".freeze,
1799
+ "shacl:nodeKind": "shacl:IRI".freeze,
1800
+ "shacl:path": "shacl:lessThan".freeze,
1801
+ type: "shacl:Parameter".freeze
1802
+ term :LessThanOrEqualsConstraintComponent,
1803
+ comment: "A constraint component that can be used to verify that every value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate.".freeze,
1804
+ isDefinedBy: "shacl:".freeze,
1805
+ label: "less-than-or-equals constraint component".freeze,
1806
+ "shacl:parameter": "shacl:LessThanOrEqualsConstraintComponent-lessThanOrEquals".freeze,
1807
+ type: "shacl:ConstraintComponent".freeze
1808
+ term :"LessThanOrEqualsConstraintComponent-lessThanOrEquals",
1809
+ isDefinedBy: "shacl:".freeze,
1810
+ "shacl:nodeKind": "shacl:IRI".freeze,
1811
+ "shacl:path": "shacl:lessThanOrEquals".freeze,
1812
+ type: "shacl:Parameter".freeze
1813
+ term :Literal,
1814
+ comment: "The node kind of all literals.".freeze,
1815
+ isDefinedBy: "shacl:".freeze,
1816
+ label: "Literal".freeze,
1817
+ type: "shacl:NodeKind".freeze
1818
+ term :MaxCountConstraintComponent,
1819
+ comment: "A constraint component that can be used to restrict the maximum number of value nodes.".freeze,
1820
+ isDefinedBy: "shacl:".freeze,
1821
+ label: "Max-count constraint component".freeze,
1822
+ "shacl:parameter": "shacl:MaxCountConstraintComponent-maxCount".freeze,
1823
+ type: "shacl:ConstraintComponent".freeze
1824
+ term :"MaxCountConstraintComponent-maxCount",
1825
+ isDefinedBy: "shacl:".freeze,
1826
+ "shacl:datatype": "xsd:integer".freeze,
1827
+ "shacl:maxCount": "1".freeze,
1828
+ "shacl:path": "shacl:maxCount".freeze,
1829
+ type: "shacl:Parameter".freeze
1830
+ term :MaxExclusiveConstraintComponent,
1831
+ comment: "A constraint component that can be used to restrict the range of value nodes with a maximum exclusive value.".freeze,
1832
+ isDefinedBy: "shacl:".freeze,
1833
+ label: "Max-exclusive constraint component".freeze,
1834
+ "shacl:parameter": "shacl:MaxExclusiveConstraintComponent-maxExclusive".freeze,
1835
+ type: "shacl:ConstraintComponent".freeze
1836
+ term :"MaxExclusiveConstraintComponent-maxExclusive",
1837
+ isDefinedBy: "shacl:".freeze,
1838
+ "shacl:maxCount": "1".freeze,
1839
+ "shacl:nodeKind": "shacl:Literal".freeze,
1840
+ "shacl:path": "shacl:maxExclusive".freeze,
1841
+ type: "shacl:Parameter".freeze
1842
+ term :MaxInclusiveConstraintComponent,
1843
+ comment: "A constraint component that can be used to restrict the range of value nodes with a maximum inclusive value.".freeze,
1844
+ isDefinedBy: "shacl:".freeze,
1845
+ label: "Max-inclusive constraint component".freeze,
1846
+ "shacl:parameter": "shacl:MaxInclusiveConstraintComponent-maxInclusive".freeze,
1847
+ type: "shacl:ConstraintComponent".freeze
1848
+ term :"MaxInclusiveConstraintComponent-maxInclusive",
1849
+ isDefinedBy: "shacl:".freeze,
1850
+ "shacl:maxCount": "1".freeze,
1851
+ "shacl:nodeKind": "shacl:Literal".freeze,
1852
+ "shacl:path": "shacl:maxInclusive".freeze,
1853
+ type: "shacl:Parameter".freeze
1854
+ term :MaxLengthConstraintComponent,
1855
+ comment: "A constraint component that can be used to restrict the maximum string length of value nodes.".freeze,
1856
+ isDefinedBy: "shacl:".freeze,
1857
+ label: "Max-length constraint component".freeze,
1858
+ "shacl:parameter": "shacl:MaxLengthConstraintComponent-maxLength".freeze,
1859
+ type: "shacl:ConstraintComponent".freeze
1860
+ term :"MaxLengthConstraintComponent-maxLength",
1861
+ isDefinedBy: "shacl:".freeze,
1862
+ "shacl:datatype": "xsd:integer".freeze,
1863
+ "shacl:maxCount": "1".freeze,
1864
+ "shacl:path": "shacl:maxLength".freeze,
1865
+ type: "shacl:Parameter".freeze
1866
+ term :MinCountConstraintComponent,
1867
+ comment: "A constraint component that can be used to restrict the minimum number of value nodes.".freeze,
1868
+ isDefinedBy: "shacl:".freeze,
1869
+ label: "Min-count constraint component".freeze,
1870
+ "shacl:parameter": "shacl:MinCountConstraintComponent-minCount".freeze,
1871
+ type: "shacl:ConstraintComponent".freeze
1872
+ term :"MinCountConstraintComponent-minCount",
1873
+ isDefinedBy: "shacl:".freeze,
1874
+ "shacl:datatype": "xsd:integer".freeze,
1875
+ "shacl:maxCount": "1".freeze,
1876
+ "shacl:path": "shacl:minCount".freeze,
1877
+ type: "shacl:Parameter".freeze
1878
+ term :MinExclusiveConstraintComponent,
1879
+ comment: "A constraint component that can be used to restrict the range of value nodes with a minimum exclusive value.".freeze,
1880
+ isDefinedBy: "shacl:".freeze,
1881
+ label: "Min-exclusive constraint component".freeze,
1882
+ "shacl:parameter": "shacl:MinExclusiveConstraintComponent-minExclusive".freeze,
1883
+ type: "shacl:ConstraintComponent".freeze
1884
+ term :"MinExclusiveConstraintComponent-minExclusive",
1885
+ isDefinedBy: "shacl:".freeze,
1886
+ "shacl:maxCount": "1".freeze,
1887
+ "shacl:nodeKind": "shacl:Literal".freeze,
1888
+ "shacl:path": "shacl:minExclusive".freeze,
1889
+ type: "shacl:Parameter".freeze
1890
+ term :MinInclusiveConstraintComponent,
1891
+ comment: "A constraint component that can be used to restrict the range of value nodes with a minimum inclusive value.".freeze,
1892
+ isDefinedBy: "shacl:".freeze,
1893
+ label: "Min-inclusive constraint component".freeze,
1894
+ "shacl:parameter": "shacl:MinInclusiveConstraintComponent-minInclusive".freeze,
1895
+ type: "shacl:ConstraintComponent".freeze
1896
+ term :"MinInclusiveConstraintComponent-minInclusive",
1897
+ isDefinedBy: "shacl:".freeze,
1898
+ "shacl:maxCount": "1".freeze,
1899
+ "shacl:nodeKind": "shacl:Literal".freeze,
1900
+ "shacl:path": "shacl:minInclusive".freeze,
1901
+ type: "shacl:Parameter".freeze
1902
+ term :MinLengthConstraintComponent,
1903
+ comment: "A constraint component that can be used to restrict the minimum string length of value nodes.".freeze,
1904
+ isDefinedBy: "shacl:".freeze,
1905
+ label: "Min-length constraint component".freeze,
1906
+ "shacl:parameter": "shacl:MinLengthConstraintComponent-minLength".freeze,
1907
+ type: "shacl:ConstraintComponent".freeze
1908
+ term :"MinLengthConstraintComponent-minLength",
1909
+ isDefinedBy: "shacl:".freeze,
1910
+ "shacl:datatype": "xsd:integer".freeze,
1911
+ "shacl:maxCount": "1".freeze,
1912
+ "shacl:path": "shacl:minLength".freeze,
1913
+ type: "shacl:Parameter".freeze
1914
+ term :NodeConstraintComponent,
1915
+ comment: "A constraint component that can be used to verify that all value nodes conform to the given node shape.".freeze,
1916
+ isDefinedBy: "shacl:".freeze,
1917
+ label: "Node constraint component".freeze,
1918
+ "shacl:parameter": "shacl:NodeConstraintComponent-node".freeze,
1919
+ type: "shacl:ConstraintComponent".freeze
1920
+ term :"NodeConstraintComponent-node",
1921
+ isDefinedBy: "shacl:".freeze,
1922
+ "shacl:path": "shacl:node".freeze,
1923
+ type: "shacl:Parameter".freeze
1924
+ term :NodeKindConstraintComponent,
1925
+ comment: "A constraint component that can be used to restrict the RDF node kind of each value node.".freeze,
1926
+ isDefinedBy: "shacl:".freeze,
1927
+ label: "Node-kind constraint component".freeze,
1928
+ "shacl:parameter": "shacl:NodeKindConstraintComponent-nodeKind".freeze,
1929
+ type: "shacl:ConstraintComponent".freeze
1930
+ term :"NodeKindConstraintComponent-nodeKind",
1931
+ isDefinedBy: "shacl:".freeze,
1932
+ "shacl:in": list("shacl:BlankNode".freeze, "shacl:IRI".freeze, "shacl:Literal".freeze, "shacl:BlankNodeOrIRI".freeze, "shacl:BlankNodeOrLiteral".freeze, "shacl:IRIOrLiteral".freeze),
1933
+ "shacl:maxCount": "1".freeze,
1934
+ "shacl:path": "shacl:nodeKind".freeze,
1935
+ type: "shacl:Parameter".freeze
1936
+ term :NotConstraintComponent,
1937
+ comment: "A constraint component that can be used to verify that value nodes do not conform to a given shape.".freeze,
1938
+ isDefinedBy: "shacl:".freeze,
1939
+ label: "Not constraint component".freeze,
1940
+ "shacl:parameter": "shacl:NotConstraintComponent-not".freeze,
1941
+ type: "shacl:ConstraintComponent".freeze
1942
+ term :"NotConstraintComponent-not",
1943
+ isDefinedBy: "shacl:".freeze,
1944
+ "shacl:path": "shacl:not".freeze,
1945
+ type: "shacl:Parameter".freeze
1946
+ term :OrConstraintComponent,
1947
+ comment: "A constraint component that can be used to restrict the value nodes so that they conform to at least one out of several provided shapes.".freeze,
1948
+ isDefinedBy: "shacl:".freeze,
1949
+ label: "Or constraint component".freeze,
1950
+ "shacl:parameter": "shacl:OrConstraintComponent-or".freeze,
1951
+ type: "shacl:ConstraintComponent".freeze
1952
+ term :"OrConstraintComponent-or",
1953
+ isDefinedBy: "shacl:".freeze,
1954
+ "shacl:path": "shacl:or".freeze,
1955
+ type: "shacl:Parameter".freeze
1956
+ term :PatternConstraintComponent,
1957
+ comment: "A constraint component that can be used to verify that every value node matches a given regular expression.".freeze,
1958
+ isDefinedBy: "shacl:".freeze,
1959
+ label: "Pattern constraint component".freeze,
1960
+ "shacl:parameter": ["shacl:PatternConstraintComponent-flags".freeze, "shacl:PatternConstraintComponent-pattern".freeze],
1961
+ type: "shacl:ConstraintComponent".freeze
1962
+ term :"PatternConstraintComponent-flags",
1963
+ isDefinedBy: "shacl:".freeze,
1964
+ "shacl:datatype": "xsd:string".freeze,
1965
+ "shacl:optional": "true".freeze,
1966
+ "shacl:path": "shacl:flags".freeze,
1967
+ type: "shacl:Parameter".freeze
1968
+ term :"PatternConstraintComponent-pattern",
1969
+ isDefinedBy: "shacl:".freeze,
1970
+ "shacl:datatype": "xsd:string".freeze,
1971
+ "shacl:path": "shacl:pattern".freeze,
1972
+ type: "shacl:Parameter".freeze
1973
+ term :PropertyConstraintComponent,
1974
+ comment: "A constraint component that can be used to verify that all value nodes conform to the given property shape.".freeze,
1975
+ isDefinedBy: "shacl:".freeze,
1976
+ label: "Property constraint component".freeze,
1977
+ "shacl:parameter": "shacl:PropertyConstraintComponent-property".freeze,
1978
+ type: "shacl:ConstraintComponent".freeze
1979
+ term :"PropertyConstraintComponent-property",
1980
+ isDefinedBy: "shacl:".freeze,
1981
+ "shacl:path": "shacl:property".freeze,
1982
+ type: "shacl:Parameter".freeze
1983
+ term :QualifiedMaxCountConstraintComponent,
1984
+ comment: "A constraint component that can be used to verify that a specified maximum number of value nodes conforms to a given shape.".freeze,
1985
+ isDefinedBy: "shacl:".freeze,
1986
+ label: "Qualified-max-count constraint component".freeze,
1987
+ "shacl:parameter": ["shacl:QualifiedMaxCountConstraintComponent-qualifiedMaxCount".freeze, "shacl:QualifiedMaxCountConstraintComponent-qualifiedValueShape".freeze, "shacl:QualifiedMaxCountConstraintComponent-qualifiedValueShapesDisjoint".freeze],
1988
+ type: "shacl:ConstraintComponent".freeze
1989
+ term :"QualifiedMaxCountConstraintComponent-qualifiedMaxCount",
1990
+ isDefinedBy: "shacl:".freeze,
1991
+ "shacl:datatype": "xsd:integer".freeze,
1992
+ "shacl:path": "shacl:qualifiedMaxCount".freeze,
1993
+ type: "shacl:Parameter".freeze
1994
+ term :"QualifiedMaxCountConstraintComponent-qualifiedValueShape",
1995
+ isDefinedBy: "shacl:".freeze,
1996
+ "shacl:path": "shacl:qualifiedValueShape".freeze,
1997
+ type: "shacl:Parameter".freeze
1998
+ term :"QualifiedMaxCountConstraintComponent-qualifiedValueShapesDisjoint",
1999
+ isDefinedBy: "shacl:".freeze,
2000
+ "shacl:datatype": "xsd:boolean".freeze,
2001
+ "shacl:optional": "true".freeze,
2002
+ "shacl:path": "shacl:qualifiedValueShapesDisjoint".freeze,
2003
+ type: "shacl:Parameter".freeze
2004
+ term :QualifiedMinCountConstraintComponent,
2005
+ comment: "A constraint component that can be used to verify that a specified minimum number of value nodes conforms to a given shape.".freeze,
2006
+ isDefinedBy: "shacl:".freeze,
2007
+ label: "Qualified-min-count constraint component".freeze,
2008
+ "shacl:parameter": ["shacl:QualifiedMinCountConstraintComponent-qualifiedMinCount".freeze, "shacl:QualifiedMinCountConstraintComponent-qualifiedValueShape".freeze, "shacl:QualifiedMinCountConstraintComponent-qualifiedValueShapesDisjoint".freeze],
2009
+ type: "shacl:ConstraintComponent".freeze
2010
+ term :"QualifiedMinCountConstraintComponent-qualifiedMinCount",
2011
+ isDefinedBy: "shacl:".freeze,
2012
+ "shacl:datatype": "xsd:integer".freeze,
2013
+ "shacl:path": "shacl:qualifiedMinCount".freeze,
2014
+ type: "shacl:Parameter".freeze
2015
+ term :"QualifiedMinCountConstraintComponent-qualifiedValueShape",
2016
+ isDefinedBy: "shacl:".freeze,
2017
+ "shacl:path": "shacl:qualifiedValueShape".freeze,
2018
+ type: "shacl:Parameter".freeze
2019
+ term :"QualifiedMinCountConstraintComponent-qualifiedValueShapesDisjoint",
2020
+ isDefinedBy: "shacl:".freeze,
2021
+ "shacl:datatype": "xsd:boolean".freeze,
2022
+ "shacl:optional": "true".freeze,
2023
+ "shacl:path": "shacl:qualifiedValueShapesDisjoint".freeze,
2024
+ type: "shacl:Parameter".freeze
2025
+ term :SPARQLConstraintComponent,
2026
+ comment: "A constraint component that can be used to define constraints based on SPARQL queries.".freeze,
2027
+ isDefinedBy: "shacl:".freeze,
2028
+ label: "SPARQL constraint component".freeze,
2029
+ "shacl:parameter": "shacl:SPARQLConstraintComponent-sparql".freeze,
2030
+ type: "shacl:ConstraintComponent".freeze
2031
+ term :"SPARQLConstraintComponent-sparql",
2032
+ isDefinedBy: "shacl:".freeze,
2033
+ "shacl:path": "shacl:sparql".freeze,
2034
+ type: "shacl:Parameter".freeze
2035
+ term :UniqueLangConstraintComponent,
2036
+ comment: "A constraint component that can be used to specify that no pair of value nodes may use the same language tag.".freeze,
2037
+ isDefinedBy: "shacl:".freeze,
2038
+ label: "Unique-languages constraint component".freeze,
2039
+ "shacl:parameter": "shacl:UniqueLangConstraintComponent-uniqueLang".freeze,
2040
+ type: "shacl:ConstraintComponent".freeze
2041
+ term :"UniqueLangConstraintComponent-uniqueLang",
2042
+ isDefinedBy: "shacl:".freeze,
2043
+ "shacl:datatype": "xsd:boolean".freeze,
2044
+ "shacl:maxCount": "1".freeze,
2045
+ "shacl:path": "shacl:uniqueLang".freeze,
2046
+ type: "shacl:Parameter".freeze
2047
+ term :Violation,
2048
+ comment: "The severity for a violation validation result.".freeze,
2049
+ isDefinedBy: "shacl:".freeze,
2050
+ label: "Violation".freeze,
2051
+ type: "shacl:Severity".freeze
2052
+ term :Warning,
2053
+ comment: "The severity for a warning validation result.".freeze,
2054
+ isDefinedBy: "shacl:".freeze,
2055
+ label: "Warning".freeze,
2056
+ type: "shacl:Severity".freeze
2057
+ term :XoneConstraintComponent,
2058
+ comment: "A constraint component that can be used to restrict the value nodes so that they conform to exactly one out of several provided shapes.".freeze,
2059
+ isDefinedBy: "shacl:".freeze,
2060
+ label: "Exactly one constraint component".freeze,
2061
+ "shacl:parameter": "shacl:XoneConstraintComponent-xone".freeze,
2062
+ type: "shacl:ConstraintComponent".freeze
2063
+ term :"XoneConstraintComponent-xone",
2064
+ isDefinedBy: "shacl:".freeze,
2065
+ "shacl:path": "shacl:xone".freeze,
2066
+ type: "shacl:Parameter".freeze
2067
+ term :this,
2068
+ comment: "A node expression that represents the current focus node.".freeze,
2069
+ isDefinedBy: "shacl:".freeze,
2070
+ label: "this".freeze,
2071
+ type: "rdfs:Resource".freeze
2072
+ end
2073
+ end