@forwardimpact/schema 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +58 -0
- package/bin/fit-schema.js +48 -21
- package/examples/behaviours/outcome_ownership.yaml +1 -1
- package/examples/behaviours/polymathic_knowledge.yaml +1 -1
- package/examples/behaviours/precise_communication.yaml +1 -1
- package/examples/behaviours/relentless_curiosity.yaml +1 -1
- package/examples/behaviours/systems_thinking.yaml +1 -1
- package/examples/capabilities/business.yaml +1 -1
- package/examples/capabilities/delivery.yaml +1 -1
- package/examples/capabilities/people.yaml +1 -1
- package/examples/capabilities/reliability.yaml +1 -1
- package/examples/capabilities/scale.yaml +1 -1
- package/examples/disciplines/data_engineering.yaml +1 -1
- package/examples/disciplines/engineering_management.yaml +1 -1
- package/examples/disciplines/software_engineering.yaml +1 -1
- package/examples/drivers.yaml +1 -1
- package/examples/framework.yaml +1 -1
- package/examples/grades.yaml +1 -1
- package/examples/questions/behaviours/outcome_ownership.yaml +1 -1
- package/examples/questions/behaviours/polymathic_knowledge.yaml +1 -1
- package/examples/questions/behaviours/precise_communication.yaml +1 -1
- package/examples/questions/behaviours/relentless_curiosity.yaml +1 -1
- package/examples/questions/behaviours/systems_thinking.yaml +1 -1
- package/examples/questions/skills/architecture_design.yaml +1 -1
- package/examples/questions/skills/cloud_platforms.yaml +1 -1
- package/examples/questions/skills/code_quality.yaml +1 -1
- package/examples/questions/skills/data_modeling.yaml +1 -1
- package/examples/questions/skills/devops.yaml +1 -1
- package/examples/questions/skills/full_stack_development.yaml +1 -1
- package/examples/questions/skills/sre_practices.yaml +1 -1
- package/examples/questions/skills/stakeholder_management.yaml +1 -1
- package/examples/questions/skills/team_collaboration.yaml +1 -1
- package/examples/questions/skills/technical_writing.yaml +1 -1
- package/examples/self-assessments.yaml +1 -1
- package/examples/stages.yaml +1 -1
- package/examples/tracks/platform.yaml +1 -1
- package/examples/tracks/sre.yaml +1 -1
- package/lib/schema-validation.js +1 -1
- package/package.json +5 -5
- package/schema/json/behaviour-questions.schema.json +1 -1
- package/schema/json/behaviour.schema.json +1 -1
- package/schema/json/capability.schema.json +1 -1
- package/schema/json/defs.schema.json +1 -1
- package/schema/json/discipline.schema.json +1 -1
- package/schema/json/drivers.schema.json +1 -1
- package/schema/json/framework.schema.json +1 -1
- package/schema/json/grades.schema.json +1 -1
- package/schema/json/self-assessments.schema.json +1 -1
- package/schema/json/skill-questions.schema.json +1 -1
- package/schema/json/stages.schema.json +1 -1
- package/schema/json/track.schema.json +1 -1
- package/schema/rdf/behaviour-questions.ttl +96 -0
- package/schema/rdf/behaviour.ttl +130 -0
- package/schema/rdf/capability.ttl +440 -0
- package/schema/rdf/defs.ttl +396 -0
- package/schema/rdf/discipline.ttl +336 -0
- package/schema/rdf/drivers.ttl +84 -0
- package/schema/rdf/framework.ttl +128 -0
- package/schema/rdf/grades.ttl +357 -0
- package/schema/rdf/self-assessments.ttl +147 -0
- package/schema/rdf/skill-questions.ttl +128 -0
- package/schema/rdf/stages.ttl +142 -0
- package/schema/rdf/track.ttl +231 -0
- package/schema/json/index.schema.json +0 -18
- package/schema/rdf/pathway.ttl +0 -2362
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
@prefix fit: <https://www.forwardimpact.team/schema/rdf/> .
|
|
2
|
+
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
|
3
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
4
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
5
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
6
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
7
|
+
|
|
8
|
+
# =============================================================================
|
|
9
|
+
# Engineering Pathway Common Definitions
|
|
10
|
+
# =============================================================================
|
|
11
|
+
# Shared definitions for all pathway schemas: enumerations, common classes,
|
|
12
|
+
# and shared properties.
|
|
13
|
+
# =============================================================================
|
|
14
|
+
|
|
15
|
+
# -----------------------------------------------------------------------------
|
|
16
|
+
# Ontology Definition
|
|
17
|
+
# -----------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
fit: a owl:Ontology ;
|
|
20
|
+
rdfs:label "Engineering Pathway Schema"@en ;
|
|
21
|
+
rdfs:comment "SHACL schema for the Engineering Pathway framework - a unified system for defining engineering roles, skills, behaviours, and AI agent configurations."@en .
|
|
22
|
+
|
|
23
|
+
# =============================================================================
|
|
24
|
+
# ENUMERATIONS (Named Individuals)
|
|
25
|
+
# =============================================================================
|
|
26
|
+
|
|
27
|
+
# -----------------------------------------------------------------------------
|
|
28
|
+
# Skill Levels (5 levels from lowest to highest proficiency)
|
|
29
|
+
# -----------------------------------------------------------------------------
|
|
30
|
+
|
|
31
|
+
fit:SkillLevel a rdfs:Class ;
|
|
32
|
+
rdfs:label "Skill Level"@en ;
|
|
33
|
+
rdfs:comment "Skill proficiency level from lowest to highest"@en .
|
|
34
|
+
|
|
35
|
+
fit:awareness a fit:SkillLevel ;
|
|
36
|
+
rdfs:label "Awareness"@en ;
|
|
37
|
+
fit:ordinal 1 ;
|
|
38
|
+
rdfs:comment "Learning fundamentals, needs guidance"@en .
|
|
39
|
+
|
|
40
|
+
fit:foundational a fit:SkillLevel ;
|
|
41
|
+
rdfs:label "Foundational"@en ;
|
|
42
|
+
fit:ordinal 2 ;
|
|
43
|
+
rdfs:comment "Can apply basics independently"@en .
|
|
44
|
+
|
|
45
|
+
fit:working a fit:SkillLevel ;
|
|
46
|
+
rdfs:label "Working"@en ;
|
|
47
|
+
fit:ordinal 3 ;
|
|
48
|
+
rdfs:comment "Solid competence, handles ambiguity"@en .
|
|
49
|
+
|
|
50
|
+
fit:practitioner a fit:SkillLevel ;
|
|
51
|
+
rdfs:label "Practitioner"@en ;
|
|
52
|
+
fit:ordinal 4 ;
|
|
53
|
+
rdfs:comment "Deep expertise, leads and mentors"@en .
|
|
54
|
+
|
|
55
|
+
fit:expert a fit:SkillLevel ;
|
|
56
|
+
rdfs:label "Expert"@en ;
|
|
57
|
+
fit:ordinal 5 ;
|
|
58
|
+
rdfs:comment "Authority, shapes direction across org"@en .
|
|
59
|
+
|
|
60
|
+
# -----------------------------------------------------------------------------
|
|
61
|
+
# Behaviour Maturities (5 levels from lowest to highest)
|
|
62
|
+
# -----------------------------------------------------------------------------
|
|
63
|
+
|
|
64
|
+
fit:BehaviourMaturity a rdfs:Class ;
|
|
65
|
+
rdfs:label "Behaviour Maturity"@en ;
|
|
66
|
+
rdfs:comment "Behaviour maturity level from lowest to highest"@en .
|
|
67
|
+
|
|
68
|
+
fit:emerging a fit:BehaviourMaturity ;
|
|
69
|
+
rdfs:label "Emerging"@en ;
|
|
70
|
+
fit:ordinal 1 ;
|
|
71
|
+
rdfs:comment "Shows interest, needs prompting"@en .
|
|
72
|
+
|
|
73
|
+
fit:developing a fit:BehaviourMaturity ;
|
|
74
|
+
rdfs:label "Developing"@en ;
|
|
75
|
+
fit:ordinal 2 ;
|
|
76
|
+
rdfs:comment "Regular practice with guidance"@en .
|
|
77
|
+
|
|
78
|
+
fit:practicing a fit:BehaviourMaturity ;
|
|
79
|
+
rdfs:label "Practicing"@en ;
|
|
80
|
+
fit:ordinal 3 ;
|
|
81
|
+
rdfs:comment "Consistent application, proactive"@en .
|
|
82
|
+
|
|
83
|
+
fit:role_modeling a fit:BehaviourMaturity ;
|
|
84
|
+
rdfs:label "Role Modeling"@en ;
|
|
85
|
+
fit:ordinal 4 ;
|
|
86
|
+
rdfs:comment "Influences team culture"@en .
|
|
87
|
+
|
|
88
|
+
fit:exemplifying a fit:BehaviourMaturity ;
|
|
89
|
+
rdfs:label "Exemplifying"@en ;
|
|
90
|
+
fit:ordinal 5 ;
|
|
91
|
+
rdfs:comment "Shapes organizational culture"@en .
|
|
92
|
+
|
|
93
|
+
# -----------------------------------------------------------------------------
|
|
94
|
+
# Lifecycle Stages
|
|
95
|
+
# -----------------------------------------------------------------------------
|
|
96
|
+
|
|
97
|
+
fit:Stage a rdfs:Class ;
|
|
98
|
+
rdfs:label "Stage"@en ;
|
|
99
|
+
rdfs:comment "Engineering lifecycle stage"@en .
|
|
100
|
+
|
|
101
|
+
fit:plan a fit:Stage ;
|
|
102
|
+
rdfs:label "Plan"@en ;
|
|
103
|
+
rdfs:comment "Research, gather context, design"@en .
|
|
104
|
+
|
|
105
|
+
fit:code a fit:Stage ;
|
|
106
|
+
rdfs:label "Code"@en ;
|
|
107
|
+
rdfs:comment "Implement, test, iterate"@en .
|
|
108
|
+
|
|
109
|
+
fit:review a fit:Stage ;
|
|
110
|
+
rdfs:label "Review"@en ;
|
|
111
|
+
rdfs:comment "Verify, approve, document"@en .
|
|
112
|
+
|
|
113
|
+
# =============================================================================
|
|
114
|
+
# COMMON PROPERTIES
|
|
115
|
+
# =============================================================================
|
|
116
|
+
|
|
117
|
+
fit:id a rdf:Property ;
|
|
118
|
+
rdfs:label "id"@en ;
|
|
119
|
+
rdfs:comment "Unique identifier"@en ;
|
|
120
|
+
rdfs:range xsd:string .
|
|
121
|
+
|
|
122
|
+
fit:name a rdf:Property ;
|
|
123
|
+
rdfs:label "name"@en ;
|
|
124
|
+
rdfs:comment "Human-readable name"@en ;
|
|
125
|
+
rdfs:range xsd:string .
|
|
126
|
+
|
|
127
|
+
fit:description a rdf:Property ;
|
|
128
|
+
rdfs:label "description"@en ;
|
|
129
|
+
rdfs:comment "Description text"@en ;
|
|
130
|
+
rdfs:range xsd:string .
|
|
131
|
+
|
|
132
|
+
fit:emojiIcon a rdf:Property ;
|
|
133
|
+
rdfs:label "emojiIcon"@en ;
|
|
134
|
+
rdfs:comment "Emoji for visual representation"@en ;
|
|
135
|
+
rdfs:range xsd:string .
|
|
136
|
+
|
|
137
|
+
fit:displayOrder a rdf:Property ;
|
|
138
|
+
rdfs:label "displayOrder"@en ;
|
|
139
|
+
rdfs:comment "Order for display in UI"@en ;
|
|
140
|
+
rdfs:range xsd:integer .
|
|
141
|
+
|
|
142
|
+
fit:ordinal a rdf:Property ;
|
|
143
|
+
rdfs:label "ordinal"@en ;
|
|
144
|
+
rdfs:comment "Numeric position in ordered sequence"@en ;
|
|
145
|
+
rdfs:range xsd:integer .
|
|
146
|
+
|
|
147
|
+
fit:title a rdf:Property ;
|
|
148
|
+
rdfs:label "title"@en ;
|
|
149
|
+
rdfs:comment "Display title"@en ;
|
|
150
|
+
rdfs:range xsd:string .
|
|
151
|
+
|
|
152
|
+
fit:human a rdf:Property ;
|
|
153
|
+
rdfs:label "human"@en ;
|
|
154
|
+
rdfs:comment "Human-specific content"@en .
|
|
155
|
+
|
|
156
|
+
fit:agent a rdf:Property ;
|
|
157
|
+
rdfs:label "agent"@en ;
|
|
158
|
+
rdfs:comment "Agent-specific content"@en .
|
|
159
|
+
|
|
160
|
+
fit:minGrade a rdf:Property ;
|
|
161
|
+
rdfs:label "minGrade"@en ;
|
|
162
|
+
rdfs:comment "Minimum grade required"@en ;
|
|
163
|
+
rdfs:range fit:Grade .
|
|
164
|
+
|
|
165
|
+
fit:constraints a rdf:Property ;
|
|
166
|
+
rdfs:label "constraints"@en ;
|
|
167
|
+
rdfs:comment "Restrictions or things to avoid"@en ;
|
|
168
|
+
rdfs:range xsd:string .
|
|
169
|
+
|
|
170
|
+
# =============================================================================
|
|
171
|
+
# SHARED NESTED CLASSES
|
|
172
|
+
# =============================================================================
|
|
173
|
+
|
|
174
|
+
fit:LevelDescriptions a rdfs:Class ;
|
|
175
|
+
rdfs:label "Level Descriptions"@en ;
|
|
176
|
+
rdfs:comment "Description of expectations at each skill level"@en .
|
|
177
|
+
|
|
178
|
+
fit:MaturityDescriptions a rdfs:Class ;
|
|
179
|
+
rdfs:label "Maturity Descriptions"@en ;
|
|
180
|
+
rdfs:comment "Description of expectations at each behaviour maturity level"@en .
|
|
181
|
+
|
|
182
|
+
fit:ResponsibilitiesByLevel a rdfs:Class ;
|
|
183
|
+
rdfs:label "Responsibilities By Level"@en ;
|
|
184
|
+
rdfs:comment "Responsibility descriptions by skill level"@en .
|
|
185
|
+
|
|
186
|
+
# -----------------------------------------------------------------------------
|
|
187
|
+
# Level Description Properties
|
|
188
|
+
# -----------------------------------------------------------------------------
|
|
189
|
+
|
|
190
|
+
fit:awarenessDescription a rdf:Property ;
|
|
191
|
+
rdfs:label "awarenessDescription"@en ;
|
|
192
|
+
rdfs:comment "Description for awareness level"@en ;
|
|
193
|
+
rdfs:range xsd:string .
|
|
194
|
+
|
|
195
|
+
fit:foundationalDescription a rdf:Property ;
|
|
196
|
+
rdfs:label "foundationalDescription"@en ;
|
|
197
|
+
rdfs:comment "Description for foundational level"@en ;
|
|
198
|
+
rdfs:range xsd:string .
|
|
199
|
+
|
|
200
|
+
fit:workingDescription a rdf:Property ;
|
|
201
|
+
rdfs:label "workingDescription"@en ;
|
|
202
|
+
rdfs:comment "Description for working level"@en ;
|
|
203
|
+
rdfs:range xsd:string .
|
|
204
|
+
|
|
205
|
+
fit:practitionerDescription a rdf:Property ;
|
|
206
|
+
rdfs:label "practitionerDescription"@en ;
|
|
207
|
+
rdfs:comment "Description for practitioner level"@en ;
|
|
208
|
+
rdfs:range xsd:string .
|
|
209
|
+
|
|
210
|
+
fit:expertDescription a rdf:Property ;
|
|
211
|
+
rdfs:label "expertDescription"@en ;
|
|
212
|
+
rdfs:comment "Description for expert level"@en ;
|
|
213
|
+
rdfs:range xsd:string .
|
|
214
|
+
|
|
215
|
+
# -----------------------------------------------------------------------------
|
|
216
|
+
# Maturity Description Properties
|
|
217
|
+
# -----------------------------------------------------------------------------
|
|
218
|
+
|
|
219
|
+
fit:emergingDescription a rdf:Property ;
|
|
220
|
+
rdfs:label "emergingDescription"@en ;
|
|
221
|
+
rdfs:comment "Description for emerging maturity"@en ;
|
|
222
|
+
rdfs:range xsd:string .
|
|
223
|
+
|
|
224
|
+
fit:developingDescription a rdf:Property ;
|
|
225
|
+
rdfs:label "developingDescription"@en ;
|
|
226
|
+
rdfs:comment "Description for developing maturity"@en ;
|
|
227
|
+
rdfs:range xsd:string .
|
|
228
|
+
|
|
229
|
+
fit:practicingDescription a rdf:Property ;
|
|
230
|
+
rdfs:label "practicingDescription"@en ;
|
|
231
|
+
rdfs:comment "Description for practicing maturity"@en ;
|
|
232
|
+
rdfs:range xsd:string .
|
|
233
|
+
|
|
234
|
+
fit:roleModelingDescription a rdf:Property ;
|
|
235
|
+
rdfs:label "roleModelingDescription"@en ;
|
|
236
|
+
rdfs:comment "Description for role_modeling maturity"@en ;
|
|
237
|
+
rdfs:range xsd:string .
|
|
238
|
+
|
|
239
|
+
fit:exemplifyingDescription a rdf:Property ;
|
|
240
|
+
rdfs:label "exemplifyingDescription"@en ;
|
|
241
|
+
rdfs:comment "Description for exemplifying maturity"@en ;
|
|
242
|
+
rdfs:range xsd:string .
|
|
243
|
+
|
|
244
|
+
# =============================================================================
|
|
245
|
+
# SHARED SHACL SHAPES
|
|
246
|
+
# =============================================================================
|
|
247
|
+
|
|
248
|
+
# -----------------------------------------------------------------------------
|
|
249
|
+
# Level Descriptions Shape
|
|
250
|
+
# -----------------------------------------------------------------------------
|
|
251
|
+
|
|
252
|
+
fit:LevelDescriptionsShape a sh:NodeShape ;
|
|
253
|
+
sh:targetClass fit:LevelDescriptions ;
|
|
254
|
+
sh:property [
|
|
255
|
+
sh:path fit:awarenessDescription ;
|
|
256
|
+
sh:datatype xsd:string ;
|
|
257
|
+
sh:minCount 1 ;
|
|
258
|
+
sh:maxCount 1 ;
|
|
259
|
+
sh:name "awareness" ;
|
|
260
|
+
] ;
|
|
261
|
+
sh:property [
|
|
262
|
+
sh:path fit:foundationalDescription ;
|
|
263
|
+
sh:datatype xsd:string ;
|
|
264
|
+
sh:minCount 1 ;
|
|
265
|
+
sh:maxCount 1 ;
|
|
266
|
+
sh:name "foundational" ;
|
|
267
|
+
] ;
|
|
268
|
+
sh:property [
|
|
269
|
+
sh:path fit:workingDescription ;
|
|
270
|
+
sh:datatype xsd:string ;
|
|
271
|
+
sh:minCount 1 ;
|
|
272
|
+
sh:maxCount 1 ;
|
|
273
|
+
sh:name "working" ;
|
|
274
|
+
] ;
|
|
275
|
+
sh:property [
|
|
276
|
+
sh:path fit:practitionerDescription ;
|
|
277
|
+
sh:datatype xsd:string ;
|
|
278
|
+
sh:minCount 1 ;
|
|
279
|
+
sh:maxCount 1 ;
|
|
280
|
+
sh:name "practitioner" ;
|
|
281
|
+
] ;
|
|
282
|
+
sh:property [
|
|
283
|
+
sh:path fit:expertDescription ;
|
|
284
|
+
sh:datatype xsd:string ;
|
|
285
|
+
sh:minCount 1 ;
|
|
286
|
+
sh:maxCount 1 ;
|
|
287
|
+
sh:name "expert" ;
|
|
288
|
+
] .
|
|
289
|
+
|
|
290
|
+
# -----------------------------------------------------------------------------
|
|
291
|
+
# Maturity Descriptions Shape
|
|
292
|
+
# -----------------------------------------------------------------------------
|
|
293
|
+
|
|
294
|
+
fit:MaturityDescriptionsShape a sh:NodeShape ;
|
|
295
|
+
sh:targetClass fit:MaturityDescriptions ;
|
|
296
|
+
sh:property [
|
|
297
|
+
sh:path fit:emergingDescription ;
|
|
298
|
+
sh:datatype xsd:string ;
|
|
299
|
+
sh:minCount 1 ;
|
|
300
|
+
sh:maxCount 1 ;
|
|
301
|
+
sh:name "emerging" ;
|
|
302
|
+
] ;
|
|
303
|
+
sh:property [
|
|
304
|
+
sh:path fit:developingDescription ;
|
|
305
|
+
sh:datatype xsd:string ;
|
|
306
|
+
sh:minCount 1 ;
|
|
307
|
+
sh:maxCount 1 ;
|
|
308
|
+
sh:name "developing" ;
|
|
309
|
+
] ;
|
|
310
|
+
sh:property [
|
|
311
|
+
sh:path fit:practicingDescription ;
|
|
312
|
+
sh:datatype xsd:string ;
|
|
313
|
+
sh:minCount 1 ;
|
|
314
|
+
sh:maxCount 1 ;
|
|
315
|
+
sh:name "practicing" ;
|
|
316
|
+
] ;
|
|
317
|
+
sh:property [
|
|
318
|
+
sh:path fit:roleModelingDescription ;
|
|
319
|
+
sh:datatype xsd:string ;
|
|
320
|
+
sh:minCount 1 ;
|
|
321
|
+
sh:maxCount 1 ;
|
|
322
|
+
sh:name "role_modeling" ;
|
|
323
|
+
] ;
|
|
324
|
+
sh:property [
|
|
325
|
+
sh:path fit:exemplifyingDescription ;
|
|
326
|
+
sh:datatype xsd:string ;
|
|
327
|
+
sh:minCount 1 ;
|
|
328
|
+
sh:maxCount 1 ;
|
|
329
|
+
sh:name "exemplifying" ;
|
|
330
|
+
] .
|
|
331
|
+
|
|
332
|
+
# -----------------------------------------------------------------------------
|
|
333
|
+
# Responsibilities By Level Shape
|
|
334
|
+
# -----------------------------------------------------------------------------
|
|
335
|
+
|
|
336
|
+
fit:ResponsibilitiesByLevelShape a sh:NodeShape ;
|
|
337
|
+
sh:targetClass fit:ResponsibilitiesByLevel ;
|
|
338
|
+
sh:property [
|
|
339
|
+
sh:path fit:awarenessDescription ;
|
|
340
|
+
sh:datatype xsd:string ;
|
|
341
|
+
sh:minCount 1 ;
|
|
342
|
+
sh:maxCount 1 ;
|
|
343
|
+
sh:name "awareness" ;
|
|
344
|
+
] ;
|
|
345
|
+
sh:property [
|
|
346
|
+
sh:path fit:foundationalDescription ;
|
|
347
|
+
sh:datatype xsd:string ;
|
|
348
|
+
sh:minCount 1 ;
|
|
349
|
+
sh:maxCount 1 ;
|
|
350
|
+
sh:name "foundational" ;
|
|
351
|
+
] ;
|
|
352
|
+
sh:property [
|
|
353
|
+
sh:path fit:workingDescription ;
|
|
354
|
+
sh:datatype xsd:string ;
|
|
355
|
+
sh:minCount 1 ;
|
|
356
|
+
sh:maxCount 1 ;
|
|
357
|
+
sh:name "working" ;
|
|
358
|
+
] ;
|
|
359
|
+
sh:property [
|
|
360
|
+
sh:path fit:practitionerDescription ;
|
|
361
|
+
sh:datatype xsd:string ;
|
|
362
|
+
sh:minCount 1 ;
|
|
363
|
+
sh:maxCount 1 ;
|
|
364
|
+
sh:name "practitioner" ;
|
|
365
|
+
] ;
|
|
366
|
+
sh:property [
|
|
367
|
+
sh:path fit:expertDescription ;
|
|
368
|
+
sh:datatype xsd:string ;
|
|
369
|
+
sh:minCount 1 ;
|
|
370
|
+
sh:maxCount 1 ;
|
|
371
|
+
sh:name "expert" ;
|
|
372
|
+
] .
|
|
373
|
+
|
|
374
|
+
# -----------------------------------------------------------------------------
|
|
375
|
+
# Index Shape (Auto-generated index files)
|
|
376
|
+
# -----------------------------------------------------------------------------
|
|
377
|
+
|
|
378
|
+
fit:Index a rdfs:Class ;
|
|
379
|
+
rdfs:label "Index"@en ;
|
|
380
|
+
rdfs:comment "Auto-generated index file for browser loading"@en .
|
|
381
|
+
|
|
382
|
+
fit:files a rdf:Property ;
|
|
383
|
+
rdfs:label "files"@en ;
|
|
384
|
+
rdfs:comment "List of file basenames in the directory"@en ;
|
|
385
|
+
rdfs:domain fit:Index ;
|
|
386
|
+
rdfs:range xsd:string .
|
|
387
|
+
|
|
388
|
+
fit:IndexShape a sh:NodeShape ;
|
|
389
|
+
sh:targetClass fit:Index ;
|
|
390
|
+
sh:property [
|
|
391
|
+
sh:path fit:files ;
|
|
392
|
+
sh:datatype xsd:string ;
|
|
393
|
+
sh:minCount 1 ;
|
|
394
|
+
sh:name "files" ;
|
|
395
|
+
sh:description "List of file basenames (without extension) in the directory" ;
|
|
396
|
+
] .
|