Skip to content

Commit b43b8e3

Browse files
committed
chore: add shaclc snippets to shacl12-core
1 parent 502679a commit b43b8e3

File tree

1 file changed

+96
-25
lines changed

1 file changed

+96
-25
lines changed

shacl12-core/index.html

Lines changed: 96 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -885,7 +885,11 @@ <h3>SHACL Example</h3>
885885
}
886886
}</pre>
887887
</div>
888-
</div>
888+
<div class="shaclc"><pre class="shaclc">shape ex:PersonShape -&gt; ex:Person {
889+
closed=true ignoredProperties=[rdf:type] .
890+
ex:ssn xsd:string [0..1] pattern="^\\d{3}-\\d{2}-\\d{4}$" .
891+
ex:worksFor IRI ex:Company .
892+
}</pre></div></div>
889893
</aside>
890894
<p>
891895
We can use the shape declaration above to illustrate some of the key terminology used by SHACL.
@@ -1303,7 +1307,10 @@ <h3>Constraints, Parameters and Constraint Components</h3>
13031307
]
13041308
}</pre>
13051309
</div>
1306-
</div>
1310+
<div class="shaclc"><pre class="shaclc">shape ex:MultiplePatternsShape {
1311+
ex:name pattern="^Start" flags="i" .
1312+
ex:name pattern="End$" .
1313+
}</pre></div></div>
13071314
</aside>
13081315
<p>
13091316
Constraint components are associated with <dfn data-lt="validator|validators">validators</dfn>, which provide instructions (for example expressed via SPARQL queries)
@@ -1397,7 +1404,9 @@ <h4>Node targets (sh:targetNode)</h4>
13971404
}
13981405
}</pre>
13991406
</div>
1400-
</div>
1407+
<div class="shaclc"><pre class="shaclc">shape ex:PersonShape {
1408+
targetNode=ex:Alice .
1409+
}</pre></div></div>
14011410
<div class="data-graph">
14021411
<div class="turtle">
14031412
<span class="focus-node-selected">ex:Alice</span> a ex:Person .
@@ -1450,7 +1459,8 @@ <h4>Class-based Targets (sh:targetClass)</h4>
14501459
}
14511460
}</pre>
14521461
</div>
1453-
</div>
1462+
<div class="shaclc"><pre class="shaclc">shape ex:PersonShape -&gt; ex:Person {
1463+
}</pre></div></div>
14541464

14551465
<div class="data-graph">
14561466
<div class="turtle">
@@ -1568,7 +1578,8 @@ <h4>Implicit Class Targets and sh:ShapeClass</h4>
15681578
]
15691579
}</pre>
15701580
</div>
1571-
</div>
1581+
<div class="shaclc"><pre class="shaclc">shapeClass ex:Person {
1582+
}</pre></div></div>
15721583
<div class="data-graph">
15731584
<div class="turtle">
15741585
<span class="focus-node-selected">ex:Alice</span> a ex:Person .
@@ -1640,7 +1651,9 @@ <h4>Subjects-of targets (sh:targetSubjectsOf)</h4>
16401651
}
16411652
}</pre>
16421653
</div>
1643-
</div>
1654+
<div class="shaclc"><pre class="shaclc">shape ex:TargetSubjectsOfExampleShape {
1655+
targetSubjectsOf=ex:knows .
1656+
}</pre></div></div>
16441657
<div class="data-graph">
16451658
<div class="turtle">
16461659
<span class="focus-node-selected">ex:Alice</span> ex:knows ex:Bob .
@@ -1702,7 +1715,9 @@ <h4>Objects-of targets (sh:targetObjectsOf)</h4>
17021715
}
17031716
}</pre>
17041717
</div>
1705-
</div>
1718+
<div class="shaclc"><pre class="shaclc">shape ex:TargetObjectsOfExampleShape {
1719+
targetObjectsOf=ex:knows .
1720+
}</pre></div></div>
17061721
<div class="data-graph">
17071722
<div class="turtle">
17081723
ex:Alice ex:knows <span class="focus-node-selected">ex:Bob</span> .
@@ -1853,7 +1868,11 @@ <h4>Declaring the Severity of a Shape or Constraint</h4>
18531868
}
18541869
}</pre>
18551870
</div>
1856-
</div>
1871+
<div class="shaclc"><pre class="shaclc">shape ex:MyShape {
1872+
targetNode=ex:MyInstance .
1873+
ex:myProperty xsd:string [1..*] severity=Warning .
1874+
ex:myProperty maxLength=10 message="Too many characters"@en message="Zu viele Zeichen"@de .
1875+
}</pre></div></div>
18571876
<div class="data-graph">
18581877
<div class="turtle">
18591878
ex:MyInstance
@@ -3220,7 +3239,10 @@ <h4>sh:class</h4>
32203239
]
32213240
}</pre>
32223241
</div>
3223-
</div>
3242+
<div class="shaclc"><pre class="shaclc">shape ex:ClassExampleShape {
3243+
targetNode=ex:Bob targetNode=ex:Alice targetNode=ex:Carol .
3244+
ex:address ex:PostalAddress .
3245+
}</pre></div></div>
32243246
<div class="data-graph">
32253247
<div class="turtle">
32263248
ex:Alice a ex:Person .
@@ -3372,7 +3394,10 @@ <h4>sh:datatype</h4>
33723394
]
33733395
}</pre>
33743396
</div>
3375-
</div>
3397+
<div class="shaclc"><pre class="shaclc">shape ex:DatatypeExampleShape {
3398+
targetNode=ex:Alice targetNode=ex:Bob targetNode=ex:Carol .
3399+
ex:age xsd:integer .
3400+
}</pre></div></div>
33763401
<div class="data-graph">
33773402
<div class="turtle">
33783403
ex:Alice ex:age "23"^^xsd:integer .
@@ -3499,7 +3524,9 @@ <h4>sh:nodeKind</h4>
34993524
}
35003525
}</pre>
35013526
</div>
3502-
</div>
3527+
<div class="shaclc"><pre class="shaclc">shape ex:NodeKindExampleShape {
3528+
targetObjectsOf=ex:knows nodeKind=IRI .
3529+
}</pre></div></div>
35033530
<div class="data-graph">
35043531
<div class="turtle">
35053532
ex:Bob ex:knows ex:Alice .
@@ -3690,7 +3717,10 @@ <h4>sh:maxCount</h4>
36903717
}
36913718
}</pre>
36923719
</div>
3693-
</div>
3720+
<div class="shaclc"><pre class="shaclc">shape ex:MaxCountExampleShape {
3721+
targetNode=ex:Bob .
3722+
ex:birthDate [0..1] .
3723+
}</pre></div></div>
36943724
<div class="data-graph">
36953725
<div class="turtle">
36963726
ex:Bob ex:birthDate "May 5th 1990" .
@@ -3755,7 +3785,10 @@ <h3>Value Range Constraint Components</h3>
37553785
]
37563786
}</pre>
37573787
</div>
3758-
</div>
3788+
<div class="shaclc"><pre class="shaclc">shape ex:NumericRangeExampleShape {
3789+
targetNode=ex:Bob targetNode=ex:Alice targetNode=ex:Ted .
3790+
ex:age minInclusive=0 maxInclusive=150 .
3791+
}</pre></div></div>
37593792

37603793
<div class="data-graph">
37613794
<div class="turtle">
@@ -4057,7 +4090,10 @@ <h4>sh:maxLength</h4>
40574090
]
40584091
}</pre>
40594092
</div>
4060-
</div>
4093+
<div class="shaclc"><pre class="shaclc">shape ex:PasswordExampleShape {
4094+
targetNode=ex:Bob targetNode=ex:Alice .
4095+
ex:password minLength=8 maxLength=10 .
4096+
}</pre></div></div>
40614097
<div class="data-graph">
40624098
<div class="turtle">
40634099
ex:Bob ex:password "123456789" .
@@ -4164,7 +4200,10 @@ <h4>sh:pattern</h4>
41644200
]
41654201
}</pre>
41664202
</div>
4167-
</div>
4203+
<div class="shaclc"><pre class="shaclc">shape ex:PatternExampleShape {
4204+
targetNode=ex:Bob targetNode=ex:Alice targetNode=ex:Carol .
4205+
ex:bCode pattern="^B" flags="i" .
4206+
}</pre></div></div>
41684207
<div class="data-graph">
41694208
<div class="turtle">
41704209
ex:Bob ex:bCode "b101" .
@@ -4385,7 +4424,10 @@ <h4>sh:languageIn</h4>
43854424
]
43864425
}</pre>
43874426
</div>
4388-
</div>
4427+
<div class="shaclc"><pre class="shaclc">shape ex:NewZealandLanguagesShape {
4428+
targetNode=ex:Mountain targetNode=ex:Berg .
4429+
ex:prefLabel languageIn=["en" "mi"] .
4430+
}</pre></div></div>
43894431
<p>
43904432
From the example instances, <code>ex:Berg</code> will lead to constraint violations for all
43914433
of its labels.
@@ -4513,7 +4555,10 @@ <h4>sh:uniqueLang</h4>
45134555
]
45144556
}</pre>
45154557
</div>
4516-
</div>
4558+
<div class="shaclc"><pre class="shaclc">shape ex:UniqueLangExampleShape {
4559+
targetNode=ex:Alice targetNode=ex:Bob .
4560+
ex:label uniqueLang=true .
4561+
}</pre></div></div>
45174562
<div class="data-graph">
45184563
<div class="turtle">
45194564
ex:Alice
@@ -5104,7 +5149,10 @@ <h4>sh:equals</h4>
51045149
}
51055150
}</pre>
51065151
</div>
5107-
</div>
5152+
<div class="shaclc"><pre class="shaclc">shape ex:EqualExampleShape {
5153+
targetNode=ex:Bob .
5154+
ex:firstName equals=ex:givenName .
5155+
}</pre></div></div>
51085156
<div class="data-graph">
51095157
<div class="turtle">
51105158
ex:Bob
@@ -5197,7 +5245,10 @@ <h4>sh:disjoint</h4>
51975245
]
51985246
}</pre>
51995247
</div>
5200-
</div>
5248+
<div class="shaclc"><pre class="shaclc">shape ex:DisjointExampleShape {
5249+
targetNode=ex:USA targetNode=ex:Germany .
5250+
ex:prefLabel disjoint=ex:altLabel .
5251+
}</pre></div></div>
52015252
<div class="data-graph">
52025253
<div class="turtle">
52035254
ex:USA
@@ -5293,7 +5344,9 @@ <h4>sh:lessThan</h4>
52935344
}
52945345
}</pre>
52955346
</div>
5296-
</div>
5347+
<div class="shaclc"><pre class="shaclc">shape ex:LessThanExampleShape {
5348+
ex:startDate lessThan=ex:endDate .
5349+
}</pre></div></div>
52975350
</aside>
52985351
</section>
52995352

@@ -5742,7 +5795,9 @@ <h4>sh:or</h4>
57425795
}
57435796
}</pre>
57445797
</div>
5745-
</div>
5798+
<div class="shaclc"><pre class="shaclc">shape ex:PersonAddressShape -&gt; ex:Person {
5799+
ex:address xsd:string|ex:Address .
5800+
}</pre></div></div>
57465801
<div class="data-graph">
57475802
<div class="turtle">
57485803
ex:Bob ex:address "123 Prinzengasse, Vaduz, Liechtenstein" .
@@ -6074,7 +6129,12 @@ <h4>sh:node</h4>
60746129
]
60756130
}</pre>
60766131
</div>
6077-
</div>
6132+
<div class="shaclc"><pre class="shaclc">shape ex:AddressShape {
6133+
ex:postalCode xsd:string [0..1] .
6134+
}
6135+
shape ex:PersonShape -&gt; ex:Person {
6136+
ex:address [1..*] @ex:AddressShape .
6137+
}</pre></div></div>
60786138
<div class="data-graph">
60796139
<div class="turtle">
60806140
ex:Bob a ex:Person ;
@@ -7069,7 +7129,11 @@ <h3>sh:closed, sh:ignoredProperties</h3>
70697129
]
70707130
}</pre>
70717131
</div>
7072-
</div>
7132+
<div class="shaclc"><pre class="shaclc">shape ex:ClosedShapeExampleShape {
7133+
targetNode=ex:Alice targetNode=ex:Bob closed=true ignoredProperties=[rdf:type] .
7134+
ex:firstName .
7135+
ex:lastName .
7136+
}</pre></div></div>
70737137
<div class="data-graph">
70747138
<div class="turtle">
70757139
ex:Alice
@@ -7168,7 +7232,10 @@ <h4>sh:hasValue</h4>
71687232
}
71697233
}</pre>
71707234
</div>
7171-
</div>
7235+
<div class="shaclc"><pre class="shaclc">shape ex:StanfordGraduate {
7236+
targetNode=ex:Alice .
7237+
ex:alumniOf hasValue=ex:Stanford .
7238+
}</pre></div></div>
71727239
<div class="data-graph">
71737240
<div class="turtle">
71747241
ex:Alice
@@ -7266,7 +7333,10 @@ <h4>sh:in</h4>
72667333
}
72677334
}</pre>
72687335
</div>
7269-
</div>
7336+
<div class="shaclc"><pre class="shaclc">shape ex:InExampleShape {
7337+
targetNode=ex:RainbowPony .
7338+
ex:color in=[ex:Pink ex:Purple] .
7339+
}</pre></div></div>
72707340
<div class="data-graph">
72717341
<div class="turtle">
72727342
ex:RainbowPony ex:color ex:Pink .
@@ -7850,4 +7920,5 @@ <h2>Changes between SHACL 1.0 Core and SHACL 1.2 Core</h2>
78507920

78517921

78527922

7923+
78537924
</body></html>

0 commit comments

Comments
 (0)