Skip to content

Commit 14a0656

Browse files
authored
Merge pull request #489 from w3c/profiling-updates
Profiling Introduction
2 parents b05528b + 7c66515 commit 14a0656

File tree

1 file changed

+110
-34
lines changed

1 file changed

+110
-34
lines changed

shacl12-profiling/index.html

Lines changed: 110 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<script class="remove">
88

99
function prepareSyntaxRules() {
10-
document.querySelectorAll("[data-syntax-rule]").forEach(element => {
10+
specification.querySelectorAll("[data-syntax-rule]").forEach(element => {
1111
let ruleId = element.getAttribute("data-syntax-rule");
1212
let tr = document.createElement("tr");
1313
tr.classList.add("syntax-rule-tr");
@@ -420,10 +420,10 @@
420420
<body>
421421
<section id="abstract">
422422
<p>
423-
This document defines extensions of the SHACL Shapes Constraint Language created to allow for the profiling of specifications.
423+
This specification defines elements of the SHACL Shapes Constraint Language created to allow for profiles of SHACL and profiling with SHACL.
424424
</p>
425425
<p>
426-
SHACL is a language for validating RDF graphs against a set of conditions, so this document's scope is limited to the profiling of RDF graph models, including SHACL-defined models.
426+
SHACL is a language for validating RDF graphs against a set of conditions, so this document's scope is limited to profiling of RDF graphs, including graphs containing SHACL Shapes.
427427
</p>
428428

429429
<p style="text-indent: 100px;">
@@ -436,32 +436,103 @@
436436

437437
<section id="sotd"></section>
438438

439-
<section id="introduction">
440-
<h2>Introduction</h2>
441-
<p>SHACL Profiling is the act of creating
442-
a <a href="https://www.w3.org/TR/dx-prof/#dfn-profile">profile</a>
443-
of an <a href="https://www.w3.org/TR/shacl/#dfn-rdf-graph">RDF graph</a>
444-
using SHACL...
439+
<section class="introductory">
440+
<h2>SHACL Specifications</h2>
441+
<p>
442+
This specification is part of the SHACL 1.2 family of specifications. See the SHACL 1.2 Overview for a more detailed introduction to all of them.
443+
</p>
444+
<p>
445+
The specifications are as follows:
446+
</p>
447+
<dl>
448+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-overview/">SHACL 1.2 Overview</a></dt>
449+
<dd>overviews the set of SHACL specifications</dd>
450+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-core/">SHACL 1.2 Core</a></dt>
451+
<dd>defines the Core of SHACL</dd>
452+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-sparql/">SHACL 1.2 SPARQL Extensions</a></dt>
453+
<dd>defines SPARQL-related extensions of the SHACL</dd>
454+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-node-expr/">SHACL 1.2 Node Expressions</a></dt>
455+
<dd>defines graph expressions used to determine focus nodes in SHACL</dd>
456+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-inf-rules/">SHACL 1.2 Inference Rules</a></dt>
457+
<dd>defines SHACL's methods of rule-based inference</dd>
458+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-ui/">SHACL 1.2 UI</a></dt>
459+
<dd>defines SHACL's use for User Interface generation</dd>
460+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-compact-syntax/">SHACL 1.2 Compact Syntax</a></dt>
461+
<dd>defines an RDF syntax for expressing SHACL concepts</dd>
462+
<dt>SHACL 1.2 Profiling (this specification)</dt>
463+
<dd>defines the use of SHACL for profiling data, including SHACL data</dd>
464+
</dl>
465+
</section>
445466

446-
<section id="terminology">
447-
<h3>Terminology</h3>
467+
<section class="introductory">
468+
<h2>Document Outline</h2>
469+
<p>
470+
The introduction provides background concepts of profiling and states this specification's scope.
471+
</p>
472+
<p>
473+
Sections 2 & 3 cover the two main elements within the stated scope.
474+
</p>
475+
</section>
448476

477+
<section id="introduction">
478+
<h2>Introduction</h2>
479+
<section id="what-is">
480+
<h3>What is profiling?</h3>
449481
<p>
450-
Terminology used throughout this document is consistent with several sources:
482+
Profiling is the act of creating a "profile" of something.
483+
</p>
484+
<p>
485+
Generically, in English, a "profile" of something is as follows:
486+
</p>
487+
<p style="padding: 0 50px 0 50px;">
488+
The outline of a physical object or feature, or a representation of this
489+
<br /><br />- Oxford English dictionary, use of the word "profile" since the 17th century
490+
</p>
491+
<p>
492+
Within the world of data, a derived definition of "profile" consistent with the above is —
493+
</p>
494+
<p>
495+
A summary or an extraction
496+
</p>
497+
<p>
498+
In this definition, the essence of the English word is retained, since a summary or extraction of or from a data object <em>may</em> be an outline of it; for example, a 2D representation of a 3D spatial object. or a statistical summary of a dataset having lots of parts.
499+
</p>
500+
<p>
501+
By definition, SHACL constrains (RDF) data. Therefore, any data that is valid according to a shapes graph will be a profile of the data graph that was validated. If a shapes graph validates all elements of a data graph, the resulting valid data will be a "null" profile of the data graph, meaning it is identical to the original data graph.
502+
</p>
503+
<p>
504+
The W3C's <em>Profiles Vocabulary</em> [[dx-prof]] has defined "data profiling" in the context of <em>specifications</em> or <em>data specifications</em>:
505+
</p>
506+
<p style="padding: 0 50px 0 50px;">
507+
<em>A data specification that constrains, extends, combines, or provides guidance or explanation about the use of other data specifications.</em>
508+
</p>
509+
<p>
510+
If a shapes graph is taken to be a "data specification," then not only is the data that is valid according to the shapes graph a profile of the validated data graph, but the shapes graph itself also serves as a profile of the data model used for the data graph.
511+
</p>
512+
</section>
513+
<section id="scope">
514+
<h3>Scope</h3>
515+
<p>
516+
With the above section's concepts in mind, this specification defines the following:
451517
</p>
452518
<ol>
453-
<li>the main SHACL [[shacl]] specification
454-
<ul>
455-
<li>which references terms from RDF [[rdf11-concepts]]</li>
456-
<li>technical terns for SHACL</li>
457-
</ul>
458-
</li>
459-
<li>the Profiles Vocabulary [[dx-prof]], a W3C Dataset Exchange Working Group Note
460-
<ul><li>which defines general terms to do with profiling including the terms "profiling" / "profile"</li></ul>
461-
</li>
519+
<li>profiles of SHACL</li>
520+
<li>profiling with SHACL</li>
462521
</ol>
522+
</section>
523+
<section id="terminology">
524+
<h3>Terminology</h3>
463525
<p>
464-
The SHACL terms include
526+
Terminology used throughout this specification is taken from several sources:
527+
</p>
528+
<dl>
529+
<dt><a href="https://w3c.github.io/data-shapes/shacl12-core/">SHACL 1.2 Core</a> specification</dt>
530+
<dd>technical terms for SHACL and RDF, the latter from [[rdf12-concepts]]</dd>
531+
<dt>Profiles Vocabulary [[dx-prof]]</dt>
532+
<dd>defines general terms to do with profiling including the terms "profiling" &amp; "profile"</dd>
533+
</dl>
534+
<p>
535+
The SHACL &amp; RDF terms include:
465536
<dfn data-lt="bindings">
466537
<a href="https://www.w3.org/TR/shacl/#dfn-binding">binding</a>
467538
</dfn>
@@ -614,7 +685,7 @@ <h3>Terminology</h3>
614685
.
615686
</p>
616687
<p>
617-
The general profiling terms include
688+
The general profiling terms include:
618689
<dfn data-lt="specification|specifications">
619690
<a href="https://www.w3.org/TR/dx-prof/#dfn-specification">specification</a>
620691
</dfn>
@@ -632,7 +703,7 @@ <h3>Terminology</h3>
632703
<section id="conventions">
633704
<h3>Document Conventions</h3>
634705
<p>
635-
Within this document, the following namespace prefix definitions are used:
706+
Within this specification, the following namespace prefix definitions are used:
636707
</p>
637708
<table class="term-table">
638709
<tr>
@@ -649,7 +720,7 @@ <h3>Document Conventions</h3>
649720
</tr>
650721
<tr>
651722
<td><code>sh:</code></td>
652-
<td><code><a href="http://www.w3.org/ns/shacl">http://www.w3.org/ns/shacl#</a></code></td>
723+
<td><code>http://www.w3.org/ns/shacl#</code></td>
653724
</tr>
654725
<tr>
655726
<td><code>xsd:</code></td>
@@ -662,7 +733,7 @@ <h3>Document Conventions</h3>
662733
</table>
663734

664735
<p>
665-
Within this document, the following JSON-LD context is used:
736+
Within this specification, the following JSON-LD context is used:
666737
</p>
667738
<pre class="jsonld">{
668739
"@context": {
@@ -679,11 +750,11 @@ <h3>Document Conventions</h3>
679750
References to the SHACL vocabulary, e.g., via <code>owl:imports</code> should include the <code>#</code>.
680751
</p>
681752
<p>
682-
Throughout the document, color-coded boxes containing RDF graphs in Turtle and JSON-LD will appear.
753+
Throughout the specification, color-coded boxes containing RDF graphs in Turtle and JSON-LD will appear.
683754
The color and title of a box indicate whether it is a Shapes graph, a Data graph, or something else.
684-
The Turtle document fragments use the prefix bindings given above.
685-
The JSON-LD document fragments use the context given above.
686-
Only the Turtle documents will have parts highlighted.
755+
The Turtle specification fragments use the prefix bindings given above.
756+
The JSON-LD specification fragments use the context given above.
757+
Only the Turtle specifications will have parts highlighted.
687758
</p>
688759

689760
<div class="shapes-graph">
@@ -755,13 +826,18 @@ <h3>Document Conventions</h3>
755826
</section>
756827
</section>
757828

758-
<section id="section">
759-
<h2>Section</h2>
829+
<section id="profiles-of-shacl">
830+
<h2>Profiles of SHACL</h2>
831+
<p>Content.</p>
832+
</section>
833+
834+
<section id="profiling-with-shacl">
835+
<h2>Profiling with SHACL</h2>
760836
<p>Content.</p>
761837
</section>
762838

763839
<section id="syntax-rules" class="appendix">
764-
<h2>Summary of Syntax Rules from this Document</h2>
840+
<h2>Summary of Syntax Rules from this Specification</h2>
765841
</section>
766842

767843
<section id="security">
@@ -776,7 +852,7 @@ <h2>Privacy Considerations</h2>
776852

777853
<section id="ack" class="appendix informative">
778854
<h2>Acknowledgements</h2>
779-
<p>Many people contributed to this document, including members of the RDF Data Shapes Working Group.</p>
855+
<p>Many people contributed to this specification, including members of the RDF Data Shapes Working Group.</p>
780856
</section>
781857

782858
<section id="internationalization">

0 commit comments

Comments
 (0)