You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.html
+18-21Lines changed: 18 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -171,7 +171,7 @@ <h2>Conformance</h2>
171
171
specification is normative.</p>
172
172
173
173
<p>
174
-
All ShEx documents MUST conform to the <ahref="#schema-requirements" class="sectionRef">Schema Requirements</a>.
174
+
All ShEx documents <spanclass="MUST">MUST</span> conform to the <ahref="#schema-requirements" class="sectionRef">Schema Requirements</a>.
175
175
Additional constraints for the specific types of ShEx documents (<a>ShExC</a>, <a>ShExJ</a>, and <a>ShExR</a>) follow:
176
176
</p>
177
177
@@ -236,7 +236,7 @@ <h3>Definitions</h3>
236
236
<spanclass="math"><dfn>predicates</dfn>(G, n)</span> is the set of <adata-lt="predicate">predicates</a> in <spanclass="math"><a>neigh</a>(G, n)</span>.<br/><spanclass="math"><a>predicates</a>(G, n) = <a>predicatesOut</a>(G, n) ∪ <a>predicatesIn</a>(G, n)</span>.
237
237
</li>
238
238
<li>
239
-
<spanclass="math"><dfn>def</dfn>(Sch, label)</span> is the <spanclass="math">decl</span>.<spanclass="param">shapeExpr</span> where <spanclass="math">decl</span>.<spanclass="param">label</span> = <code>label</code>. <code>Sch</code>must have exactly one <code>def(Sch, label)</code>.
239
+
<spanclass="math"><dfn>def</dfn>(Sch, label)</span> is the <spanclass="math">decl</span>.<spanclass="param">shapeExpr</span> where <spanclass="math">decl</span>.<spanclass="param">label</span> = <code>label</code>. Per the <ahref="#shapeExprRef-requirement">Shape Expression Reference Requirement</a>, <code>Sch</code>has exactly one <code>def(Sch, label)</code>.
240
240
</li>
241
241
<li>
242
242
<dfndata-lt="shapemap|fixed ShapeMap" data-dfn-type="dfn" id="dfn-shapemap" data-no-export=""><ahref="http://shex.io/shape-map/#dfn-fixed-shapemap">fixed ShapeMap</a></dfn> is a list of pairs of RDF node label and shape expression label as defined in the [[!shape-map]] specification.
Not captured in this JSON syntax definition is the rule that every <aclass="nobjref">shapeExpr</a> nested in a schema's <aclass="param">shapes</a> must have an <spanclass="param">id</span> and no other <aclass="nobjref">shapeExpr</a> may have an <spanclass="param">id</span>.
426
-
The JSON syntax definitition simplifies this by adding <spanstyle="border: thin solid #888888; background-color: #F8F8F0;"><aclass="param">id</a>:<aclass="nobjref">shapeExprLabel</a>?</span> to every <aclass="nobjref">shapeExpr</a>.
427
-
This example includes a nested shape. Nested shapes are not permitted to have <spanclass="param">ids</span>.
For a node <spanclass="math">n</span> and constraint value <spanclass="math">v</span>, <codeclass="function">nodeSatisfies(<spanclass="math">n</span>, <spanclass="math">v</span>)</code> if <spanclass="math">n</span> is a Literal with the datatype <spanclass="math">v</span> and, if <spanclass="math">v</span> is in the set of <adata-cite="sparql11-query#operandDataTypes">SPARQL operand data types</a>[[!sparql11-query]], an XML schema string with a value of the lexical form of <spanclass="math">n</span> can be cast to the target type <spanclass="math">v</span> per <adata-cite="xpath-functions-31#casting">XPath Functions 3.1 section 19 Casting</a>[[!xpath-functions]].
1009
-
The lexical form and numeric value (where applicable) of all datatypes required by <adata-cite="sparql11-query#FunctionMapping">SPARQL XPath Constructor Functions</a> MUST be tested for conformance with the corresponding XML Schema form.
1006
+
The lexical form and numeric value (where applicable) of all datatypes required by <adata-cite="sparql11-query#FunctionMapping">SPARQL XPath Constructor Functions</a><spanclass="MUST">MUST</span> be tested for conformance with the corresponding XML Schema form.
1010
1007
ShEx extensions MAY add support for other datatypes.
1011
1008
</p>
1012
1009
@@ -1345,7 +1342,7 @@ <h4>Values Constraint</h4>
1345
1342
1346
1343
<divclass="example">
1347
1344
<divclass="example-title marker"><span>Values Constraint example 2</span></div>
1348
-
<p>An employee must have an email address that is the string "N/A" or starts with "engineering-" or "sales-" but not "sales-contacts" or "sales-interns":</p>
1345
+
<p>This schema requires an employee to have an email address that is the string "N/A" or starts with "engineering-" or "sales-" but not "sales-contacts" or "sales-interns":</p>
A shapes schema MUST NOT define a shape label <spanclass="math">sl</span> that belongs to the shapeExprRef closure of its definition <codeclass="function">shapeExprWithId(<spanclass="math">sl</span>)</code>.
2123
+
A shapes schema <spanclass="MUST">MUST</span> NOT define a shape label <spanclass="math">sl</span> that belongs to the shapeExprRef closure of its definition <codeclass="function">shapeExprWithId(<spanclass="math">sl</span>)</code>.
<p>An <spanclass="jobjref"><a>tripleExprRef</a></span> MUST identify a <a>triple expression</a> in the schema.
2322
+
<p>An <spanclass="jobjref"><a>tripleExprRef</a></span><spanclass="MUST">MUST</span> identify a <a>triple expression</a> in the schema.
2326
2323
The function <code><dfn>tripleExprWithId</dfn>(<spanclass="math">tripleExprRef</span>)</code> returns the <a>triple expression</a> with the id <spanclass="math">tripleExprRef</span>.
A shapes schema MUST NOT define a triple expression label <spanclass="math">tl</span> that belongs to the tripleExprRef closure of its definition <codeclass="function">tripleExprWithId(<spanclass="math">tl</span>)</code>.
2341
+
A shapes schema <spanclass="MUST">MUST</span> NOT define a triple expression label <spanclass="math">tl</span> that belongs to the tripleExprRef closure of its definition <codeclass="function">tripleExprWithId(<spanclass="math">tl</span>)</code>.
A schema MUST NOT contain any <a>shapeExprLabel</a> that has a <a>negated reference</a> to itself, either directly or transitively.
2578
-
This is formalized by the requirement that the <a>hierarchy and dependency graph</a> of a schema MUST NOT have a cycle that traverses some <a>negated reference</a>.
2574
+
A schema <spanclass="MUST">MUST</span> NOT contain any <a>shapeExprLabel</a> that has a <a>negated reference</a> to itself, either directly or transitively.
2575
+
This is formalized by the requirement that the <a>hierarchy and dependency graph</a> of a schema <spanclass="MUST">MUST</span> NOT have a cycle that traverses some <a>negated reference</a>.
2579
2576
</p>
2580
2577
2581
2578
<pclass="leadup">
@@ -3074,7 +3071,7 @@ <h3 class="followup">Examples with <span class="jobjref"><a>Shape</a></span><spa
3074
3071
<sectionid="acyclic-extension-requirement">
3075
3072
<h4>Acyclic Extension Requirement</h4>
3076
3073
3077
-
<p>The <a>extension hierarchy graph</a>must be acyclic.</p>
3074
+
<p>The <a>extension hierarchy graph</a><spanclass="MUST">MUST</span> be acyclic.</p>
3078
3075
</section>
3079
3076
3080
3077
<sectionid="extension-coherence-requirement">
@@ -4270,7 +4267,7 @@ <h4>Repeated Property With Dependent Shapes Example</h4>
4270
4267
<sectionid="example-negation">
4271
4268
<h4>Negation Example</h4>
4272
4269
<p>
4273
-
Setting the maximum <a>cardinality</a> of a TripleConstraint with <a>predicate</a><spanclass="math">p</span> to zero (i.e. <span>"max": 0</span> in <a>ShExJ</a> or <code>{0}</code> or <code>{0, 0}</code> in <a>ShExC</a>) asserts that matching nodes must have no triples with <a>predicate</a><spanclass="math">p</span>.
4270
+
Setting the maximum <a>cardinality</a> of a TripleConstraint with <a>predicate</a><spanclass="math">p</span> to zero (i.e. <span>"max": 0</span> in <a>ShExJ</a> or <code>{0}</code> or <code>{0, 0}</code> in <a>ShExC</a>) asserts that matching nodes have no triples with <a>predicate</a><spanclass="math">p</span>.
Value sets identify ranges of RDF nodes by explicit inclusion or by range (indicated by "<code>~</code>").
4999
-
Ranges may include exclusions, which may also be ranges but must not in turn contain exclusions.
4996
+
Ranges may include exclusions, which may also be ranges but <spanclass="MUST">MUST</span> NOT in turn contain exclusions.
5000
4997
A <aclass="param">valueSetValue</a> may be an <aclass="param">objectValue</a> or one of <aclass="param">IriStem</a>, <aclass="param">IriStemRange</a>, <aclass="param">LiteralStem</a>, <aclass="param">LiteralStemRange</a>, <aclass="param">LanguageStem</a>, <aclass="param">LanguageStemRange</a>, .
<trclass="params"><td></td><tdcolspan="3">If "<code>.</code>" matches and <spanclass="prod"><aclass="grammarRef" href="#prod-exclusion">exclusion</a></span> matches one or more times, all matched items must be consistently iri, literal, or language. <codeclass="production prod">valueSetValue</code> returns either a <aclass="obj">IriStemRange</a>, <aclass="obj">LiteralStemRange</a>, or <aclass="obj">LanguageStemRange</a> object with <spanclass="param">exclusions</span> equal to the set of results of <spanclass="prod"><aclass="grammarRef" href="#prod-exclusion">exclusion</a></span>:</td></tr>
5016
+
<trclass="params"><td></td><tdcolspan="3">If "<code>.</code>" matches and <spanclass="prod"><aclass="grammarRef" href="#prod-exclusion">exclusion</a></span> matches one or more times, all matched items <spanclass="MUST">MUST</span>be consistently <code>iri</code>, <code>literal</code>, or <code>language</code>. <codeclass="production prod">valueSetValue</code> returns either a <aclass="obj">IriStemRange</a>, <aclass="obj">LiteralStemRange</a>, or <aclass="obj">LanguageStemRange</a> object with <spanclass="param">exclusions</span> equal to the set of results of <spanclass="prod"><aclass="grammarRef" href="#prod-exclusion">exclusion</a></span>:</td></tr>
<trclass="params"><td></td><tdcolspan="3">Per the <ahref="#tripleExprRef-requirement">triple expression refrence requirement</a>, <spanclass="param">tripleExprLabel</span> property MUST appear in the schema's <aclass="param">shapes</a> map and the corresponding <a>triple expression</a> MUST be a <spanclass="jobjref"><a>Shape</a></span> with a <spanclass="param">tripleExpr</span>.</td></tr>
5134
+
<trclass="params"><td></td><tdcolspan="3">Per the <ahref="#tripleExprRef-requirement">triple expression refrence requirement</a>, <spanclass="param">tripleExprLabel</span> property <spanclass="MUST">MUST</span> appear in the schema's <aclass="param">shapes</a> map and the corresponding <a>triple expression</a><spanclass="MUST">MUST</span> be a <spanclass="jobjref"><a>Shape</a></span> with a <spanclass="param">tripleExpr</span>.</td></tr>
A ShExJ document is a JSON-LD [[!JSON-LD]] document which uses a proscribed structure to define a <a>schema</a> containing <a>shape expressions</a> and <a>triple expressions</a>.
5746
5743
A ShExJ document MAY include an <code>@context</code> property referencing <code>http://www.w3.org/ns/shex.jsonld</code><!-- , and MAY include additional contexts and term definitions -->.
5747
-
In the absense of a top-level <code>@context</code>, ShEx Processors MUST act as if a <code>@context</code> property is present with the value <code>http://www.w3.org/ns/shex.jsonld</code>.
5744
+
In the absense of a top-level <code>@context</code>, ShEx Processors <spanclass="MUST">MUST</span> act as if a <code>@context</code> property is present with the value <code>http://www.w3.org/ns/shex.jsonld</code>.
0 commit comments