This document defines extensions of the SHACL Shapes Constraint Language created to allow for the profiling of specifications.
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.
The namespace for SHACL Profiling terms is http://www.w3.org/ns/shpr#
The suggested prefix for the SHACL Profiling namespace is shpr
SHACL Profiling is the act of creating
a profile
of an RDF graph
using SHACL...
Terminology used throughout this document is consistent with several sources:
The SHACL terms include
binding
,
blank node
,
conformance
,
constraint
,
constraint component
,
data graph
,
datatype
,
failure
,
focus node
,
RDF graph
,
ill-formed
,
IRI
,
literal
,
local name
,
member
,
node
,
node shape
,
object
,
parameter
,
pre-binding
,
predicate
,
property path
,
property shape
,
RDF term
,
SHACL instance
,
SHACL list
,
SHACL subclass
,
shape
,
shapes graph
,
solution
,
subject
,
target
,
triple
,
validation
,
validation report
,
validation result
,
validator
,
value
,
value node
.
The general profiling terms include
specification
,
[data] profile
,
metadata
.
Within this document, the following namespace prefix definitions are used:
Within this document, the following JSON-LD context is used:
Note that the URI of the graph defining the SHACL vocabulary itself is equivalent to
the namespace above, i.e., it includes the
Throughout the document, color-coded boxes containing RDF graphs in Turtle and JSON-LD will appear.
These fragments of Turtle documents use the prefix bindings given above.
The JSON-LD document fragments use the context given above.
Only the Turtle documents may highlight certain parts.
Grey boxes such as this include syntax rules that apply to the shapes graph.
TODOTerminology
Document Conventions
Prefix
Namespace
rdf:
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs:
http://www.w3.org/2000/01/rdf-schema#
sh:
http://www.w3.org/ns/shacl#
xsd:
http://www.w3.org/2001/XMLSchema#
ex:
http://example.com/ns#
{
"@context": {
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"sh": "http://www.w3.org/ns/shacl#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"ex": "http://example.com/ns#"
}
}
#
.
References to the SHACL vocabulary, e.g., via owl:imports
should include the #
.
// This box represents an input shapes graph
{
"@id": "ex:s",
"ex:p": {
"@id": "ex:o"
}
}
// This box represents an input data graph
{
"@graph": [
{
"@id": "ex:Alice",
"@type": "ex:Person"
},
{
"@id": "ex:Bob",
"@type": "ex:Person"
}
]
}
// This box represents an output results graph
true
denotes the RDF term "true"^^xsd:boolean
.
false
denotes the RDF term "false"^^xsd:boolean
.
Content.
TODO
TODO
Many people contributed to this document, including members of the RDF Data Shapes Working Group.
TODO