Skip to content

Profiling Introduction #489

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Aug 15, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 46 additions & 2 deletions shacl12-profiling/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -420,10 +420,10 @@
<body>
<section id="abstract">
<p>
This document defines extensions of the SHACL Shapes Constraint Language created to allow for the profiling of specifications.
This document defines extensions of the SHACL Shapes Constraint Language created to allow for profiling.
</p>
<p>
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.
SHACL is a language for validating RDF graphs against a set of conditions, so this document's scope is limited to profiling of RDF graph models, including SHACL-defined models.
</p>

<p style="text-indent: 100px;">
Expand All @@ -438,6 +438,50 @@

<section id="introduction">
<h2>Introduction</h2>
<section id="what-is">
<h3>What is profiling?</h3>
<p>
Profiling is the act of creating a "profile" of something.
</p>
<p>
Generically, in English, a "profile" of something is:
</p>
<p style="padding: 0 50px 0 50px;">
The outline of a physical object or feature, or a representation of this
<br /><br />- Oxford English dictionary, use of the word "profile" since the 17th century
</p>
<p>
Within the world of data, a derived definition of "profile" consistent with the above is:
</p>
<p>
A summary or an extraction
</p>
<p>
In this definition, the essence of the English word is retained since a summary or extraction of/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 with lots of parts.
</p>
<p>
SHACL, by definition, constrains (RDF) data, and thus any data valid according to a shapes graph will be a profile of the data graph that was validated. In the case of a shapes graph validating all elements of a data graph, the valid data will be a "null" profile of the data graph, that is identical to it.
</p>
<p>
The W3C's <em>Profiles Vocabulary</em> [[dx-prof]] has defined "data profiling" profiling in the context of <em>specifications</em> or <em>data specifications</em>:
</p>
<p style="padding: 0 50px 0 50px;">
<em>A data specification that constrains, extends, combines, or provides guidance or explanation about the usage of other data specifications.</em>
</p>
<p>
If a shapes graph is taken to be a "data specification", and it can sensibly be, then in addition to data valid according to a shapes graph being a profile of the data graph validated, the shapes graph itself is a profile of the data model used for a data graph.
</p>
</section>
<section id="scope">
<h3>Scope</h3>
<p>
With the above section's concepts in mind, this document defines:
</p>
<ol>
<li>profiles of SHACL</li>
<li>how to make profiles with SHACL</li>
</ol>
</section>
<p>SHACL Profiling is the act of creating
a <a href="https://www.w3.org/TR/dx-prof/#dfn-profile">profile</a>
of an <a href="https://www.w3.org/TR/shacl/#dfn-rdf-graph">RDF graph</a>
Expand Down