Skip to content

Conversation

@nicholascar
Copy link
Contributor

@nicholascar nicholascar commented Oct 13, 2025

  • introduces a section on the packaging of SHACL to the Profiling deliverable

See this rendered here:

@nicholascar nicholascar self-assigned this Oct 13, 2025
@nicholascar nicholascar added the Profiles For SHACL 1.2 Profiles spec label Oct 13, 2025
@nicholascar nicholascar marked this pull request as ready for review October 25, 2025 13:05
@nicholascar nicholascar requested a review from TallTed October 27, 2025 07:54
Copy link
Member

@TallTed TallTed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getting there...

<p>
Packaging of SHACL is the presentation of SHACL elements - shapes, rules, etc. - in relation to container objects.
</p>
<section id="packaging-motivation">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
These reasons include wanting able to understand the purpose of groups, how changes in one group affect other groups and how to create new groups.
These reasons include wanting to understand the purpose of groups, how changes in one group affect other groups, and how to create new groups.

Comment on lines +571 to +573
<ol>
<li><strong>Instances of <code>owl:Ontology</code> SHOULD be used to contain identifiable collections of SHACL elements</strong></li>
<li><strong>SHACL classes instances SHOULD indicate the <code>owl:Ontology</code> instance that defines them with the <code>rdfs:isDefinedBy</code> predicate</strong></li>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<li><strong>A SHACL Element instance SHOULD indicate an <code>owl:Ontology</code> instance defines it with the <code>rdfs:isDefinedBy</code> predicate</strong></li>
<li><strong>A SHACL Element instance SHOULD indicate <code>owl:Ontology</code> instances that use it, but do not define it, with the <code>rdfs:member</code> predicate</strong></li>
<li><strong>An instances of <code>owl:Ontology</code> being used to group SHACL Elements SHOULD indicate dependence on other groups of SHACL Elements identified using instances of <code>owl:Ontology</code> by using the <code>owl:imports</code> predicate</strong></li>
<li><strong>A instance of SHACL Element SHOULD indicate an instance of <code>owl:Ontology</code> that defines it with the <code>rdfs:isDefinedBy</code> predicate</strong></li>
<li><strong>A instance of SHACL Element SHOULD indicate instances of <code>owl:Ontology</code> that use it, but do not define it, with the <code>rdfs:member</code> predicate</strong></li>
<li><strong>An instance of <code>owl:Ontology</code> being used to group SHACL Elements SHOULD indicate dependence on other groups of SHACL Elements identified using instances of <code>owl:Ontology</code> with the <code>owl:imports</code> predicate</strong></li>

Comment on lines +672 to +674
For example, the <a href="https://www.ogc.org">Open Geospatial Consortium</a>'s
<a href="http://www.opengis.net/doc/IS/geosparql/1.1">GeoSPARQL 1.1</a> standard for spatial RDF data provides a
<a href="http://www.opengis.net/def/geosparql/validator">SHACL validator</a>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
containing 27 <code>sh:NodeShape</code> and a similar number of <code>sh:Property</code> instances within a Turtle
file. The file also contains an instance of <code>owl:Ontology</code> presenting metadata for the validator, such as
modified date, a license for its use and so on.
containing 27 <code>sh:NodeShape</code> instances and a similar number of <code>sh:Property</code> instances within a Turtle
file. The file also contains an instance of <code>owl:Ontology</code> presenting metadata for the validator, such as
its modified date, a license for its use, and so on.

Remove "Shapes graph" heading and convert the above "turtle" to "trig".
</div>
</section>
-->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<h4>Identifying SHACL Element Groups</h4>
<h4>Identifying Groups of SHACL Elements</h4>



<p>
Often, as per the GeoSPARQL example, the SHACL elements are not explicitly linked to the ontology object using
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The use of a specialised object, perhaps a subclass of <code>owl:Ontology</code>, for SHACL element grouping
The use of a specialised object, perhaps a subclass of <code>owl:Ontology</code>, for grouping of SHACL elements

Comment on lines +748 to +749
defined by that group, so the recommendation in the section above is irrelevant. Reuse of SHACL Elements within groups
that do not define them is expected and encouraged, according to Linked Data principles [[?LDP]].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
An example of the use of <code>rdfs:member</code> predicate to indicate SHACL Element inclusion in a group that does
not define it, as well use <code>rdfs:isDefinedBy</code>, as per the example above, is as follows:
An example of the use of the <code>rdfs:member</code> predicate to indicate inclusion of a SHACL Element in a group that does
not define it, as well use of the <code>rdfs:isDefinedBy</code>, as per the example above, is as follows:

</section>
<section id="rec-imports">
<h4>Indicating group dependence</h4>
<p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
An instances of <code>owl:Ontology</code> being used to group SHACL Elements SHOULD indicate dependence on other groups of SHACL Elements identified using instances of <code>owl:Ontology</code> by using the <code>owl:imports</code> predicate.
An instances of <code>owl:Ontology</code> being used to group SHACL Elements SHOULD use the <code>owl:imports</code> predicate to indicate dependence on other groups of SHACL Elements identified using instances of <code>owl:Ontology</code>.

An instances of <code>owl:Ontology</code> being used to group SHACL Elements SHOULD indicate dependence on other groups of SHACL Elements identified using instances of <code>owl:Ontology</code> by using the <code>owl:imports</code> predicate.
</strong>
</p>
<p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need at least one more example engine

Comment on lines +1062 to +1064
that, within RDF databases and without resorting to graph-aware RDF data groupings, the SHACL elements can be
known to be contained by ontology objects.
</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The recommendation to differentiate the relationship between a SHACL element and the ontology that defined it, and
other ontologies is made to allow for a simple form of provenance: a SHACL element characterised in this way may
be seen to have originated in one ontology and reused in others.
The recommendation to differentiate the relationship between a SHACL element, the ontology that defined it, and
other ontologies, is made to allow for a simple form of provenance: a SHACL element characterized in this way may
be seen to have originated in one ontology and reused in others.

</div>
</div>
<div class="todo">
Remove "Shapes graph" heading and convert the above "turtle" to "trig".
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
reusing ontology, <code>ex:ont-n</code> and likely would have been created before it.
reusing ontology, <code>ex:ont-n</code>, and likely would have been created before it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Profiles For SHACL 1.2 Profiles spec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants