diff --git a/shacl12-core/index.html b/shacl12-core/index.html
index 54d74ee4..b45a28d7 100644
--- a/shacl12-core/index.html
+++ b/shacl12-core/index.html
@@ -572,36 +572,6 @@
Our Sample Data (Data Graph)
ex:Calvin a ex:Person ;
ex:birthDate "1971-07-07"^^xsd:date ; # Extra birthDate
ex:worksFor ex:UntypedCompany . # Untyped company
-
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "@type": "ex:Person",
- "ex:ssn": "987-65-432A"
- },
- {
- "@id": "ex:Bob",
- "@type": "ex:Person",
- "ex:ssn": [
- "123-45-6789",
- "124-35-6789"
- ]
- },
- {
- "@id": "ex:Calvin",
- "@type": "ex:Person",
- "ex:birthDate": {
- "@type": "xsd:date",
- "@value": "1971-07-07"
- },
- "ex:worksFor": {
- "@id": "ex:UntypedCompany"
- }
- }
- ]
-}
@@ -666,87 +636,6 @@
Writing the Shapes and Classes (Shapes Graph)
sh:name "works for" ;
sh:description "The companies that a person works for." ;
.
-
-
-
{
- "@graph": [
- {
- "@id": "ex:Person",
- "rdfs:subClassOf": {
- "@id": "rdfs:Resource"
- },
- "@type": "rdfs:Class",
- "rdfs:label": "Person",
- "rdfs:comment": "A human being."
- },
- {
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "rdfs:label": "Person shape",
- "rdfs:comment": "A shape that applies to all instances of Person.",
- "sh:property": [
- {
- "@id": "ex:PersonShape-worksFor"
- },
- {
- "@id": "ex:PersonShape-ssn"
- }
- ],
- "sh:closed": {
- "@value": "true",
- "@type": "xsd:boolean"
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- },
- "sh:ignoredProperties": {
- "@list": [
- {
- "@id": "rdf:type"
- }
- ]
- }
- },
- {
- "@id": "ex:PersonShape-worksFor",
- "@type": "sh:PropertyShape",
- "sh:nodeKind": {
- "@id": "sh:IRI"
- },
- "sh:class": {
- "@id": "ex:Company"
- },
- "sh:name": "works for",
- "sh:path": {
- "@id": "ex:worksFor"
- },
- "sh:description": "The companies that a person works for."
- },
- {
- "@id": "ex:PersonShape-ssn",
- "@type": "sh:PropertyShape",
- "sh:name": "social security number",
- "sh:path": {
- "@id": "ex:ssn"
- },
- "sh:maxCount": {
- "@value": "1",
- "@type": "xsd:integer"
- },
- "sh:description": "A person's unique identifier in the US.",
- "sh:datatype": {
- "@id": "xsd:string"
- },
- "sh:pattern": "^\\d{3}-\\d{2}-\\d{4}$"
- }
- ]
-}
-
- shape ex:PersonShape -> ex:Person {
- closed=true ignoredProperties=[rdf:type] .
- ex:ssn xsd:string [0..1] pattern="^\\d{3}-\\d{2}-\\d{4}$" .
- ex:worksFor IRI ex:Company . # TODO: This needs to be updated
-}
@@ -861,101 +750,6 @@
Running the Validation (Validation Report)
]
] .
-
-
{
- "@type": "sh:ValidationReport",
- "sh:conforms": {
- "@type": "xsd:boolean",
- "@value": "false"
- },
- "sh:result": [
- {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:Alice"
- },
- "sh:resultPath": {
- "@id": "ex:ssn"
- },
- "sh:resultSeverity": {
- "@id": "sh:Violation"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:PatternConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "ex:PersonShape-ssn"
- },
- "sh:value": "987-65-432A",
- "sh:resultMessage": "Value does not match pattern '^\d{3}-\d{2}-\d{4}$'"
- },
- {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:Bob"
- },
- "sh:resultPath": {
- "@id": "ex:ssn"
- },
- "sh:resultSeverity": {
- "@id": "sh:Violation"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:MaxCountConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "ex:PersonShape-ssn"
- },
- "sh:resultMessage": "More than 1 values"
- },
- {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:Calvin"
- },
- "sh:resultPath": {
- "@id": "ex:worksFor"
- },
- "sh:resultSeverity": {
- "@id": "sh:Violation"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:ClassConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "ex:PersonShape-worksFor"
- },
- "sh:value": {
- "@id": "ex:UntypedCompany"
- },
- "sh:resultMessage": "Value does not have class ex:Company"
- },
- {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:Calvin"
- },
- "sh:resultPath": {
- "@id": "ex:birthDate"
- },
- "sh:resultSeverity": {
- "@id": "sh:Violation"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:ClosedConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "ex:PersonShape"
- },
- "sh:value": {
- "@type": "xsd:date",
- "@value": "1971-07-07"
- },
- "sh:resultMessage": "Predicate is not allowed (closed shape)"
- }
- ]
-}
-
How to read the report:
@@ -1224,25 +1018,6 @@ Constraints, Parameters and Constraint Components
sh:class ex:Person ;
] .
-
-
{
- "@id": "ex:InvoiceShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:class": [
- {
- "@id": "ex:Customer"
- },
- {
- "@id": "ex:Person"
- }
- ],
- "sh:path": {
- "@id": "ex:customer"
- }
- }
-}
-
@@ -1267,31 +1042,7 @@
Constraints, Parameters and Constraint Components
sh:pattern "End$" ;
] .
-
-
{
- "@id": "ex:MultiplePatternsShape",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "sh:flags": "i",
- "sh:path": {
- "@id": "ex:name"
- },
- "sh:pattern": "^Start"
- },
- {
- "sh:path": {
- "@id": "ex:name"
- },
- "sh:pattern": "End$"
- }
- ]
-}
-
- shape ex:MultiplePatternsShape {
- ex:name pattern="^Start" flags="i" .
- ex:name pattern="End$" .
-}
+
Constraint components are associated with validators, which provide instructions (for example expressed via SPARQL queries)
@@ -1376,37 +1127,12 @@
Node targets (sh:targetNode)
a sh:NodeShape ;
sh:targetNode ex:Alice .
-
-
{
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:targetNode": {
- "@id": "ex:Alice"
- }
-}
-
- shape ex:PersonShape {
- targetNode=ex:Alice .
-}
+
ex:Alice a ex:Person .
ex:Bob a ex:Person .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "@type": "ex:Person"
- },
- {
- "@id": "ex:Bob",
- "@type": "ex:Person"
- }
- ]
-}
-
@@ -1431,17 +1157,7 @@ Class-based Targets (sh:targetClass)
a sh:NodeShape ;
sh:targetClass ex:Person .
-
-
{
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:targetClass": {
- "@id": "ex:Person"
- }
-}
-
- shape ex:PersonShape -> ex:Person {
-}
+
@@ -1449,24 +1165,6 @@
Class-based Targets (sh:targetClass)
ex:Bob a ex:Person .
ex:NewYork a ex:Place .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "@type": "ex:Person"
- },
- {
- "@id": "ex:Bob",
- "@type": "ex:Person"
- },
- {
- "@id": "ex:NewYork",
- "@type": "ex:Place"
- }
- ]
-}
-
@@ -1484,26 +1182,6 @@
Class-based Targets (sh:targetClass)
ex:Who a ex:Doctor .
ex:House a ex:Nephrologist .
-
-
{
- "@graph": [
- {
- "@id": "ex:Doctor",
- "rdfs:subClassOf": {
- "@id": "ex:Person"
- }
- },
- {
- "@id": "ex:House",
- "@type": "ex:Nephrologist"
- },
- {
- "@id": "ex:Who",
- "@type": "ex:Doctor"
- }
- ]
-}
-
@@ -1555,36 +1233,12 @@
Implicit Class Targets and sh:ShapeClass
ex:Person
a rdfs:Class, sh:NodeShape .
-
-
{
- "@id": "ex:Person",
- "@type": [
- "rdfs:Class",
- "sh:NodeShape"
- ]
-}
-
- shapeClass ex:Person {
-}
+
ex:Alice a ex:Person .
ex:NewYork a ex:Place .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "@type": "ex:Person"
- },
- {
- "@id": "ex:NewYork",
- "@type": "ex:Place"
- }
- ]
-}
-
@@ -1597,12 +1251,6 @@
Implicit Class Targets and sh:ShapeClass
ex:Person
a sh:ShapeClass .
-
-
{
- "@id": "ex:Person",
- "@type": "sh:ShapeClass"
-}
-
@@ -1628,41 +1276,12 @@ Subjects-of targets (sh:targetSubjectsOf)
a sh:NodeShape ;
sh:targetSubjectsOf ex:knows .
-
-
{
- "@id": "ex:TargetSubjectsOfExampleShape",
- "@type": "sh:NodeShape",
- "sh:targetSubjectsOf": {
- "@id": "ex:knows"
- }
-}
-
- shape ex:TargetSubjectsOfExampleShape {
- targetSubjectsOf=ex:knows .
-}
+
ex:Alice ex:knows ex:Bob .
ex:Bob ex:livesIn ex:NewYork .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:knows": {
- "@id": "ex:Bob"
- }
- },
- {
- "@id": "ex:Bob",
- "ex:livesIn": {
- "@id": "ex:NewYork"
- }
- }
- ]
-}
-
@@ -1692,41 +1311,12 @@
Objects-of targets (sh:targetObjectsOf)
a sh:NodeShape ;
sh:targetObjectsOf ex:knows .
-
-
{
- "@id": "ex:TargetObjectsOfExampleShape",
- "@type": "sh:NodeShape",
- "sh:targetObjectsOf": {
- "@id": "ex:knows"
- }
-}
-
- shape ex:TargetObjectsOfExampleShape {
- targetObjectsOf=ex:knows .
-}
+
ex:Alice ex:knows ex:Bob .
ex:Bob ex:livesIn ex:NewYork .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:knows": {
- "@id": "ex:Bob"
- }
- },
- {
- "@id": "ex:Bob",
- "ex:livesIn": {
- "@id": "ex:NewYork"
- }
- }
- ]
-}
-
@@ -1821,70 +1411,12 @@
Declaring the Severity of a Shape or Constraint
sh:message "Zu viele Zeichen"@de ;
] .
-
-
{
- "@id": "ex:MyShape",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "sh:datatype": {
- "@id": "xsd:string"
- },
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:myProperty"
- },
- "sh:severity": {
- "@id": "sh:Warning"
- }
- },
- {
- "sh:maxLength": {
- "@type": "xsd:integer",
- "@value": "10"
- },
- "sh:message": [
- {
- "@language": "en",
- "@value": "Too many characters"
- },
- {
- "@language": "de",
- "@value": "Zu viele Zeichen"
- }
- ],
- "sh:path": {
- "@id": "ex:myProperty"
- }
- }
- ],
- "sh:targetNode": {
- "@id": "ex:MyInstance"
- }
-}
-
- shape ex:MyShape {
- targetNode=ex:MyInstance .
- ex:myProperty xsd:string [1..*] severity=Warning .
- ex:myProperty maxLength=10 message="Too many characters"@en message="Zu viele Zeichen"@de .
-}
+
ex:MyInstance
ex:myProperty "http://toomanycharacters"^^xsd:anyURI .
-
-
{
- "@id": "ex:MyInstance",
- "ex:myProperty": {
- "@type": "xsd:anyURI",
- "@value": "http://toomanycharacters"
- }
-}
-
@@ -1911,71 +1443,6 @@
Declaring the Severity of a Shape or Constraint
]
] .
-
-
{
- "@type": "sh:ValidationReport",
- "sh:conforms": {
- "@type": "xsd:boolean",
- "@value": "false"
- },
- "sh:result": [
- {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:MyInstance"
- },
- "sh:resultPath": {
- "@id": "ex:myProperty"
- },
- "sh:resultSeverity": {
- "@id": "sh:Warning"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:DatatypeConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "_:b1"
- },
- "sh:value": {
- "@type": "xsd:anyURI",
- "@value": "http://toomanycharacters"
- }
- },
- {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:MyInstance"
- },
- "sh:resultMessage": [
- {
- "@language": "en",
- "@value": "Too many characters"
- },
- {
- "@language": "de",
- "@value": "Zu viele Zeichen"
- }
- ],
- "sh:resultPath": {
- "@id": "ex:myProperty"
- },
- "sh:resultSeverity": {
- "@id": "sh:Violation"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:MaxLengthConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "_:b2"
- },
- "sh:value": {
- "@type": "xsd:anyURI",
- "@value": "http://toomanycharacters"
- }
- }
- ]
-}
-
@@ -2001,9 +1468,6 @@
Declaring the Severity of a Shape or Constraint
sh:message "Zu viele Zeichen"@de ;
] .
-
- N/A
-
@@ -2056,9 +1520,6 @@ Declaring Messages for a Shape or Constraint
|}
] .
-
- N/A
-
@@ -2126,37 +1587,6 @@ Deactivating Shapes and Constraints
sh:minCount 1 ;
sh:deactivated true .
-
-
{
- "@graph": [
- {
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "@id": "ex:PersonShape-name"
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- }
- },
- {
- "@id": "ex:PersonShape-name",
- "@type": "sh:PropertyShape",
- "sh:deactivated": {
- "@type": "xsd:boolean",
- "@value": "true"
- },
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:name"
- }
- }
- ]
-}
-
With the following data, no constraint violation will be reported even though the instance does not have any value for ex:name
.
@@ -2165,12 +1595,6 @@
Deactivating Shapes and Constraints
ex:JohnDoe a ex:Person .
-
-
{
- "@id": "ex:JohnDoe",
- "@type": "ex:Person"
-}
-
@@ -2191,8 +1615,6 @@
Deactivating Shapes and Constraints
sh:minCount 1 {| sh:deactivated true |} ;
sh:maxCount 1 .
-
-
@@ -2270,59 +1692,6 @@ Property Shapes
sh:description "We need at least one email value" ;
sh:minCount 1 .
-
-
{
- "@graph": [
- {
- "@id": "ex:ExampleNodeShapeWithPropertyShapes",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "sh:description": "We need at least one email value",
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:name": "e-mail",
- "sh:path": {
- "@id": "ex:email"
- }
- },
- {
- "sh:description": "We need at least one email for everyone you know",
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:name": "Friend's e-mail",
- "sh:path": {
- "@list": [
- {
- "@id": "ex:knows"
- },
- {
- "@id": "ex:email"
- }
- ]
- }
- }
- ]
- },
- {
- "@id": "ex:ExamplePropertyShape",
- "@type": "sh:PropertyShape",
- "sh:description": "We need at least one email value",
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:email"
- }
- }
- ]
-}
-
@@ -2384,69 +1753,6 @@ SHACL Property Paths
sh:alternativePath ( ex:father ex:mother )
] .
-
-
{
- "@graph": [
- {
- "@id": "ex:SomeClass-alternativePathExample",
- "sh:path": {
- "sh:alternativePath": {
- "@list": [
- {
- "@id": "ex:father"
- },
- {
- "@id": "ex:mother"
- }
- ]
- }
- }
- },
- {
- "@id": "ex:SomeClass-complexPathExample",
- "sh:path": {
- "@list": [
- {
- "@id": "rdf:type"
- },
- {
- "sh:zeroOrMorePath": {
- "@id": "rdfs:subClassOf"
- }
- }
- ]
- }
- },
- {
- "@id": "ex:SomeClass-inversePathExample",
- "sh:path": {
- "sh:inversePath": {
- "@id": "ex:parent"
- }
- }
- },
- {
- "@id": "ex:SomeClass-predicateExample",
- "sh:path": {
- "@id": "ex:parent"
- }
- },
- {
- "@id": "ex:SomeClass-sequencePathExample",
- "sh:path": {
- "@list": [
- {
- "@id": "ex:parent"
- },
- {
- "@id": "ex:firstName"
- }
- ]
- }
- }
- ]
-}
-
@@ -2720,19 +2026,6 @@ Linking to shapes graphs (sh:shapesGraph)
sh:shapesGraph ex:graph-shapes1 ;
sh:shapesGraph ex:graph-shapes2 .
-
-
{
- "@id": "http://example.com/myDataGraph",
- "sh:shapesGraph": [
- {
- "@id": "ex:graph-shapes1"
- },
- {
- "@id": "ex:graph-shapes2"
- }
- ]
-}
-
@@ -2892,16 +2185,6 @@ Validation Report
sh:conforms true ;
] .
-
-
{
- "@id": "_:b1",
- "@type": "sh:ValidationReport",
- "sh:conforms": {
- "@type": "xsd:boolean",
- "@value": "true"
- }
-}
-
@@ -2925,35 +2208,6 @@
Validation Report
]
] .
-
-
{
- "@type": "sh:ValidationReport",
- "sh:conforms": {
- "@type": "xsd:boolean",
- "@value": "false"
- },
- "sh:result": {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:Bob"
- },
- "sh:resultMessage": "ex:age expects a literal of datatype xsd:integer.",
- "sh:resultPath": {
- "@id": "ex:age"
- },
- "sh:resultSeverity": {
- "@id": "sh:Violation"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:DatatypeConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "ex:PersonShape-age"
- },
- "sh:value": "twenty two"
- }
-}
-
@@ -3229,68 +2483,13 @@ sh:class
sh:class ex:PostalAddress ;
] .
-
-
{
- "@id": "ex:ClassExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:class": {
- "@id": "ex:PostalAddress"
- },
- "sh:path": {
- "@id": "ex:address"
- }
- },
- "sh:targetNode": [
- {
- "@id": "ex:Bob"
- },
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Carol"
- }
- ]
-}
-
- shape ex:ClassExampleShape {
- targetNode=ex:Bob targetNode=ex:Alice targetNode=ex:Carol .
- ex:address ex:PostalAddress .
-}
+
ex:Alice a ex:Person .
ex:Bob ex:address [ a ex:PostalAddress ; ex:city ex:Berlin ] .
ex:Carol ex:address [ ex:city ex:Cairo ] .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "@type": "ex:Person"
- },
- {
- "@id": "ex:Bob",
- "ex:address": {
- "@type": "ex:PostalAddress",
- "ex:city": {
- "@id": "ex:Berlin"
- }
- }
- },
- {
- "@id": "ex:Carol",
- "ex:address": {
- "ex:city": {
- "@id": "ex:Cairo"
- }
- }
- }
- ]
-}
-
@@ -3308,8 +2507,6 @@
sh:class
sh:class ( ex:Cat ex:Dog ) ;
] .
-
-
@@ -3320,8 +2517,6 @@
sh:class
ex:Alice a ex:Person ; ex:pet ex:Tessie, ex:Rusty .
ex:Bob a ex:Person ; ex:pet ex:Fluffy .
-
-
@@ -3384,65 +2579,13 @@ sh:datatype
sh:datatype xsd:integer ;
] .
-
-
{
- "@id": "ex:DatatypeExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:datatype": {
- "@id": "xsd:integer"
- },
- "sh:path": {
- "@id": "ex:age"
- }
- },
- "sh:targetNode": [
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Bob"
- },
- {
- "@id": "ex:Carol"
- }
- ]
-}
-
- shape ex:DatatypeExampleShape {
- targetNode=ex:Alice targetNode=ex:Bob targetNode=ex:Carol .
- ex:age xsd:integer .
-}
+
ex:Alice ex:age "23"^^xsd:integer .
ex:Bob ex:age "twenty two" .
ex:Carol ex:age "23"^^xsd:int .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:age": {
- "@type": "xsd:integer",
- "@value": "23"
- }
- },
- {
- "@id": "ex:Bob",
- "ex:age": "twenty two"
- },
- {
- "@id": "ex:Carol",
- "ex:age": {
- "@type": "xsd:int",
- "@value": "23"
- }
- }
- ]
-}
-
@@ -3461,16 +2604,12 @@
sh:datatype
sh:datatype ( xsd:string rdf:langString ) ;
] .
-
-
ex:Estonia rdfs:label "Estonia", "Estland"@de .
ex:GreatBritain rdfs:label "Great Britain", "<b>Great</b> Britain"^^rdf:HTML .
-
-
@@ -3486,30 +2625,32 @@ sh:nodeKind
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:nodeKind |
-
- The node kind (IRI, blank node, literal, triple term, or combination of these) of all value nodes.
- A shape has at most one value for sh:nodeKind .
- The value of sh:nodeKind in a shape is either an IRI or a blank node that is a well-formed SHACL list where all members are IRIs.
-
-
- If the values of sh:nodeKind are IRIs, then the values of sh:nodeKind in a shape are one of the following seven instances of the class sh:NodeKind :
- sh:BlankNode , sh:IRI , sh:Literal
- sh:BlankNodeOrIRI , sh:BlankNodeOrLiteral , sh:IRIOrLiteral , and sh:TripleTerm .
+
+
+ sh:nodeKind |
+
+ The node kind (IRI, blank node, literal, triple term, or combination of these) of all value nodes.
+ A shape has at most one value for sh:nodeKind .
+ The value of sh:nodeKind in a shape is either an IRI or a blank node that is a well-formed SHACL list where all members are IRIs.
- If the values of sh:nodeKind are well-formed SHACL lists, then members of those lists in a shape are one of the following four instances of the class sh:NodeKind :
- sh:BlankNode , sh:IRI , sh:Literal , and sh:TripleTerm .
-
- |
-
- |
+
+ If the values of sh:nodeKind
are IRIs, then the values of sh:nodeKind
in a shape are one of the following seven instances of the class sh:NodeKind
:
+ sh:BlankNode
, sh:IRI
, sh:Literal
+ sh:BlankNodeOrIRI
, sh:BlankNodeOrLiteral
, sh:IRIOrLiteral
, and sh:TripleTerm
.
+
+ If the values of sh:nodeKind
are well-formed SHACL lists, then members of those lists in a shape are one of the following four instances of the class sh:NodeKind
:
+ sh:BlankNode
, sh:IRI
, sh:Literal
, and sh:TripleTerm
.
+
+
+
+
+
@@ -3539,42 +2680,12 @@
sh:nodeKind
sh:targetObjectsOf ex:knows ;
sh:nodeKind sh:IRI .
-
-
{
- "@id": "ex:NodeKindExampleShape",
- "@type": "sh:NodeShape",
- "sh:nodeKind": {
- "@id": "sh:IRI"
- },
- "sh:targetObjectsOf": {
- "@id": "ex:knows"
- }
-}
-
-
shape ex:NodeKindExampleShape {
- targetObjectsOf=ex:knows nodeKind=IRI .
-}
+
ex:Bob ex:knows ex:Alice .
ex:Alice ex:knows "Bob" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:knows": "Bob"
- },
- {
- "@id": "ex:Bob",
- "ex:knows": {
- "@id": "ex:Alice"
- }
- }
- ]
-}
-
@@ -3589,25 +2700,6 @@
sh:nodeKind
sh:targetObjectsOf ex:knows ;
sh:nodeKind ( sh:BlankNode sh:IRI ) .
-
-
{
- "@id": "ex:NodeKindExampleShape",
- "@type": "sh:NodeShape",
- "sh:nodeKind": {
- "@list": [
- {
- "@id": "sh:BlankNode"
- },
- {
- "@id": "sh:IRI"
- }
- ]
- },
- "sh:targetObjectsOf": {
- "@id": "ex:knows"
- }
-}
-
@@ -3615,27 +2707,6 @@
sh:nodeKind
ex:Bob ex:knows _:john .
ex:Alice ex:knows "Bob" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:knows": "Bob"
- },
- {
- "@id": "ex:Bob",
- "ex:knows": [
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "_:b1"
- }
- ]
- }
- ]
-}
-
@@ -3658,22 +2729,24 @@ sh:minCount
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:minCount |
-
- The minimum cardinality.
- Node shapes cannot have any value for sh:minCount .
- A property shape has at most one value for sh:minCount .
- The values of sh:minCount in a property shape are literals with datatype xsd:integer .
- |
-
-
+
+
+ sh:minCount |
+
+ The minimum cardinality.
+ Node shapes cannot have any value for sh:minCount .
+ A property shape has at most one value for sh:minCount .
+ The values of sh:minCount in a property shape are literals with datatype xsd:integer .
+ |
+
+
+
@@ -3692,50 +2765,12 @@
sh:minCount
sh:path ex:name ;
sh:minCount 1 .
-
-
{
- "@id": "ex:MinCountExampleShape",
- "@type": "sh:PropertyShape",
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:name"
- },
- "sh:targetNode": [
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Bob"
- }
- ]
-}
-
ex:Alice ex:name "Alice" .
ex:Bob ex:givenName "Bob"@en .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:name": "Alice"
- },
- {
- "@id": "ex:Bob",
- "ex:givenName": {
- "@language": "en",
- "@value": "Bob"
- }
- }
- ]
-}
-
@@ -3751,22 +2786,24 @@ sh:maxCount
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:maxCount |
-
- The maximum cardinality.
- Node shapes cannot have any value for sh:maxCount .
- A property shape has at most one value for sh:maxCount .
- The values of sh:maxCount in a property shape are literals with datatype xsd:integer .
- |
-
-
+
+
+ sh:maxCount |
+
+ The maximum cardinality.
+ Node shapes cannot have any value for sh:maxCount .
+ A property shape has at most one value for sh:maxCount .
+ The values of sh:maxCount in a property shape are literals with datatype xsd:integer .
+ |
+
+
+
@@ -3787,38 +2824,11 @@
sh:maxCount
sh:maxCount 1 ;
] .
-
-
{
- "@id": "ex:MaxCountExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:birthDate"
- }
- },
- "sh:targetNode": {
- "@id": "ex:Bob"
- }
-}
-
-
shape ex:MaxCountExampleShape {
- targetNode=ex:Bob .
- ex:birthDate [0..1] .
-}
+
ex:Bob ex:birthDate "May 5th 1990" .
-
-
{
- "@id": "ex:Bob",
- "ex:birthDate": "May 5th 1990"
-}
-
@@ -3843,40 +2853,7 @@ Value Range Constraint Components
sh:maxInclusive 150 ;
] .
-
-
{
- "@id": "ex:NumericRangeExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:maxInclusive": {
- "@type": "xsd:integer",
- "@value": "150"
- },
- "sh:minInclusive": {
- "@type": "xsd:integer",
- "@value": "0"
- },
- "sh:path": {
- "@id": "ex:age"
- }
- },
- "sh:targetNode": [
- {
- "@id": "ex:Bob"
- },
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Ted"
- }
- ]
-}
-
- shape ex:NumericRangeExampleShape {
- targetNode=ex:Bob targetNode=ex:Alice targetNode=ex:Ted .
- ex:age minInclusive=0 maxInclusive=150 .
-}
+
@@ -3884,30 +2861,6 @@
Value Range Constraint Components
ex:Alice ex:age 220 .
ex:Ted ex:age "twenty one" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:age": {
- "@type": "xsd:integer",
- "@value": "220"
- }
- },
- {
- "@id": "ex:Bob",
- "ex:age": {
- "@type": "xsd:integer",
- "@value": "23"
- }
- },
- {
- "@id": "ex:Ted",
- "ex:age": "twenty one"
- }
- ]
-}
-
@@ -3918,21 +2871,23 @@ sh:minExclusive
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:minExclusive |
-
- The minimum exclusive value.
- The values of sh:minExclusive in a shape are literals.
- A shape has at most one value for sh:minExclusive .
- |
-
-
+
+
+ sh:minExclusive |
+
+ The minimum exclusive value.
+ The values of sh:minExclusive in a shape are literals.
+ A shape has at most one value for sh:minExclusive .
+ |
+
+
+
@@ -3956,21 +2911,23 @@
sh:minInclusive
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:minInclusive |
-
- The minimum inclusive value.
- The values of sh:minInclusive in a shape are literals.
- A shape has at most one value for sh:minInclusive .
- |
-
-
+
+
+ sh:minInclusive |
+
+ The minimum inclusive value.
+ The values of sh:minInclusive in a shape are literals.
+ A shape has at most one value for sh:minInclusive .
+ |
+
+
+
@@ -3989,21 +2946,23 @@
sh:maxExclusive
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:maxExclusive |
-
- The maximum exclusive value.
- The values of sh:maxExclusive in a shape are literals.
- A shape has at most one value for sh:maxExclusive .
- |
-
-
+
+
+ sh:maxExclusive |
+
+ The maximum exclusive value.
+ The values of sh:maxExclusive in a shape are literals.
+ A shape has at most one value for sh:maxExclusive .
+ |
+
+
+
@@ -4022,21 +2981,23 @@
sh:maxInclusive
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:maxInclusive |
-
- The maximum inclusive value.
- The values of sh:maxInclusive in a shape are literals.
- A shape has at most one value for sh:maxInclusive .
- |
-
-
+
+
+ sh:maxInclusive |
+
+ The maximum inclusive value.
+ The values of sh:maxInclusive in a shape are literals.
+ A shape has at most one value for sh:maxInclusive .
+ |
+
+
+
@@ -4067,21 +3028,23 @@
sh:minLength
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:minLength |
-
- The minimum length.
- The values of sh:minLength in a shape are literals with datatype xsd:integer .
- A shape has at most one value for sh:minLength .
- |
-
-
+
+
+ sh:minLength |
+
+ The minimum length.
+ The values of sh:minLength in a shape are literals with datatype xsd:integer .
+ A shape has at most one value for sh:minLength .
+ |
+
+
+
@@ -4112,21 +3075,23 @@
sh:maxLength
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:maxLength |
-
- The maximum length.
- The values of sh:maxLength in a shape are literals with datatype xsd:integer .
- A shape has at most one value for sh:maxLength .
- |
-
-
+
+
+ sh:maxLength |
+
+ The maximum length.
+ The values of sh:maxLength in a shape are literals with datatype xsd:integer .
+ A shape has at most one value for sh:maxLength .
+ |
+
+
+
@@ -4151,56 +3116,12 @@
sh:maxLength
sh:maxLength 10 ;
] .
-
-
{
- "@id": "ex:PasswordExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:maxLength": {
- "@type": "xsd:integer",
- "@value": "10"
- },
- "sh:minLength": {
- "@type": "xsd:integer",
- "@value": "8"
- },
- "sh:path": {
- "@id": "ex:password"
- }
- },
- "sh:targetNode": [
- {
- "@id": "ex:Bob"
- },
- {
- "@id": "ex:Alice"
- }
- ]
-}
-
-
shape ex:PasswordExampleShape {
- targetNode=ex:Bob targetNode=ex:Alice .
- ex:password minLength=8 maxLength=10 .
-}
+
ex:Bob ex:password "123456789" .
ex:Alice ex:password "1234567890ABC" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:password": "1234567890ABC"
- },
- {
- "@id": "ex:Bob",
- "ex:password": "123456789"
- }
- ]
-}
-
@@ -4216,28 +3137,30 @@
sh:pattern
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:pattern |
-
- A regular expression that all value nodes need to match.
- The values of sh:pattern in a shape are literals with datatype xsd:string .
- The values of sh:pattern in a shape are valid pattern arguments for the SPARQL REGEX function.
- |
-
-
- sh:flags |
-
- An optional string of flags, interpreted as in SPARQL 1.2 REGEX.
- The values of sh:flags in a shape are literals with datatype xsd:string .
- |
-
-
+
+
+ sh:pattern |
+
+ A regular expression that all value nodes need to match.
+ The values of sh:pattern in a shape are literals with datatype xsd:string .
+ The values of sh:pattern in a shape are valid pattern arguments for the SPARQL REGEX function.
+ |
+
+
+ sh:flags |
+
+ An optional string of flags, interpreted as in SPARQL 1.2 REGEX.
+ The values of sh:flags in a shape are literals with datatype xsd:string .
+ |
+
+
+
@@ -4264,58 +3187,13 @@
sh:pattern
sh:flags "i" ; # Ignore case
] .
-
-
{
- "@id": "ex:PatternExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:flags": "i",
- "sh:path": {
- "@id": "ex:bCode"
- },
- "sh:pattern": "^B"
- },
- "sh:targetNode": [
- {
- "@id": "ex:Bob"
- },
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Carol"
- }
- ]
-}
-
-
shape ex:PatternExampleShape {
- targetNode=ex:Bob targetNode=ex:Alice targetNode=ex:Carol .
- ex:bCode pattern="^B" flags="i" .
-}
+
ex:Bob ex:bCode "b101" .
ex:Alice ex:bCode "B102" .
ex:Carol ex:bCode "C103" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:bCode": "B102"
- },
- {
- "@id": "ex:Bob",
- "ex:bCode": "b101"
- },
- {
- "@id": "ex:Carol",
- "ex:bCode": "C103"
- }
- ]
-}
-
@@ -4337,21 +3215,23 @@
sh:singleLine
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:singleLine |
-
- true to activate this constraint.
- The values of sh:singleLine in a shape are literals with datatype xsd:boolean .
- A shape has at most one value for sh:singleLine .
- |
-
-
+
+
+ sh:singleLine |
+
+ true to activate this constraint.
+ The values of sh:singleLine in a shape are literals with datatype xsd:boolean .
+ A shape has at most one value for sh:singleLine .
+ |
+
+
+
@@ -4384,51 +3264,6 @@
sh:singleLine
sh:singleLine false ;
] .
-
-
{
- "@id": "ex:SingleLineExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "@type": "sh:PropertyShape",
- "sh:datatype": {
- "@id": "xsd:string"
- },
- "sh:path": {
- "@id": "rdfs:label"
- },
- "sh:singleLine": {
- "@type": "xsd:boolean",
- "@value": "true"
- }
- },
- {
- "@type": "sh:PropertyShape",
- "sh:or": {
- "@list": [
- {
- "sh:datatype": {
- "@id": "xsd:string"
- }
- },
- {
- "sh:datatype": {
- "@id": "rdf:langString"
- }
- }
- ]
- },
- "sh:path": {
- "@id": "rdfs:comment"
- },
- "sh:singleLine": {
- "@type": "xsd:boolean",
- "@value": "false"
- }
- }
- ]
-}
-
@@ -4444,22 +3279,24 @@
sh:languageIn
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:languageIn |
-
- A list of basic language ranges as per [[!BCP47]].
- Each value of sh:languageIn in a shape is a SHACL list.
- Each member of such a list is a literal with datatype xsd:string .
- A shape has at most one value for sh:languageIn .
- |
-
-
+
+
+ sh:languageIn |
+
+ A list of basic language ranges as per [[!BCP47]].
+ Each value of sh:languageIn in a shape is a SHACL list.
+ Each member of such a list is a literal with datatype xsd:string .
+ A shape has at most one value for sh:languageIn .
+ |
+
+
+
@@ -4487,35 +3324,7 @@
sh:languageIn
sh:languageIn ( "en" "mi" ) ;
] .
-
-
{
- "@id": "ex:NewZealandLanguagesShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:languageIn": {
- "@list": [
- "en",
- "mi"
- ]
- },
- "sh:path": {
- "@id": "ex:prefLabel"
- }
- },
- "sh:targetNode": [
- {
- "@id": "ex:Mountain"
- },
- {
- "@id": "ex:Berg"
- }
- ]
-}
-
-
shape ex:NewZealandLanguagesShape {
- targetNode=ex:Mountain targetNode=ex:Berg .
- ex:prefLabel languageIn=["en" "mi"] .
-}
+
From the example instances, ex:Berg
will lead to constraint violations for all
of its labels.
@@ -4532,42 +3341,6 @@
sh:languageIn
ex:prefLabel "Berg"@de ;
ex:prefLabel ex:BergLabel .
-
-
{
- "@graph": [
- {
- "@id": "ex:Berg",
- "ex:prefLabel": [
- "Berg",
- {
- "@language": "de",
- "@value": "Berg"
- },
- {
- "@id": "ex:BergLabel"
- }
- ]
- },
- {
- "@id": "ex:Mountain",
- "ex:prefLabel": [
- {
- "@language": "en",
- "@value": "Mountain"
- },
- {
- "@language": "en-nz",
- "@value": "Hill"
- },
- {
- "@language": "mi",
- "@value": "Maunga"
- }
- ]
- }
- ]
-}
-
@@ -4583,22 +3356,24 @@
sh:uniqueLang
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:uniqueLang |
-
- true to activate this constraint.
- The values of sh:uniqueLang in a shape are literals with datatype xsd:boolean .
- A property shape has at most one value for sh:uniqueLang .
- Node shapes cannot have any value for sh:uniqueLang .
- |
-
-
+
+
+ sh:uniqueLang |
+
+ true to activate this constraint.
+ The values of sh:uniqueLang in a shape are literals with datatype xsd:boolean .
+ A property shape has at most one value for sh:uniqueLang .
+ Node shapes cannot have any value for sh:uniqueLang .
+ |
+
+
+
@@ -4620,33 +3395,7 @@
sh:uniqueLang
sh:uniqueLang true ;
] .
-
-
{
- "@id": "ex:UniqueLangExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:path": {
- "@id": "ex:label"
- },
- "sh:uniqueLang": {
- "@type": "xsd:boolean",
- "@value": "true"
- }
- },
- "sh:targetNode": [
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Bob"
- }
- ]
-}
-
-
shape ex:UniqueLangExampleShape {
- targetNode=ex:Alice targetNode=ex:Bob .
- ex:label uniqueLang=true .
-}
+
ex:Alice
@@ -4658,39 +3407,6 @@
sh:uniqueLang
ex:label "Bob"@en ;
ex:label "Bobby"@en .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:label": [
- "Alice",
- {
- "@language": "en",
- "@value": "Alice"
- },
- {
- "@language": "fr",
- "@value": "Alice"
- }
- ]
- },
- {
- "@id": "ex:Bob",
- "ex:label": [
- {
- "@language": "en",
- "@value": "Bob"
- },
- {
- "@language": "en",
- "@value": "Bobby"
- }
- ]
- }
- ]
-}
-
@@ -4714,20 +3430,22 @@
sh:memberShape
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:memberShape |
-
- The shape that all members of the SHACL list must conform to.
- The value of sh:memberShape must be a well-formed node shape.
- |
-
-
+
+
+ sh:memberShape |
+
+ The shape that all members of the SHACL list must conform to.
+ The value of sh:memberShape must be a well-formed node shape.
+ |
+
+
+
@@ -4760,25 +3478,6 @@
sh:memberShape
] ;
] .
-
-
{
- "@id": "ex:AgendaShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:memberShape": {
- "sh:nodeKind": {
- "@id": "sh:IRI"
- }
- },
- "sh:path": {
- "@id": "ex:speakerOrder"
- }
- },
- "sh:targetClass": {
- "@id": "ex:Agenda"
- }
-}
-
@@ -4788,44 +3487,6 @@
sh:memberShape
ex:agenda2 a ex:Agenda ;
ex:speakerOrder ( ex:Alice ex:Bob "Charlie" ) .
-
-
{
- "@graph": [
- {
- "@id": "ex:agenda1",
- "@type": "ex:Agenda",
- "ex:speakerOrder": {
- "@list": [
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Bob"
- },
- {
- "@id": "ex:Charlie"
- }
- ]
- }
- },
- {
- "@id": "ex:agenda2",
- "@type": "ex:Agenda",
- "ex:speakerOrder": {
- "@list": [
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Bob"
- },
- "Charlie"
- ]
- }
- }
- ]
-}
-
@@ -4841,21 +3502,23 @@
sh:minListLength
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:minListLength |
-
- The minimum number of members in the SHACL list.
- The values of sh:minListLength in a shape are literals with datatype xsd:integer .
- The values of sh:minListLength in a shape are integers greater than or equal to 0.
- |
-
-
+
+
+ sh:minListLength |
+
+ The minimum number of members in the SHACL list.
+ The values of sh:minListLength in a shape are literals with datatype xsd:integer .
+ The values of sh:minListLength in a shape are integers greater than or equal to 0.
+ |
+
+
+
@@ -4881,24 +3544,6 @@
sh:minListLength
sh:minListLength 1 ;
] .
-
-
{
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:minListLength": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:skills"
- }
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- }
-}
-
@@ -4908,29 +3553,6 @@
sh:minListLength
ex:person2 a ex:Person ;
ex:skills () .
-
-
{
- "@graph": [
- {
- "@id": "ex:person1",
- "@type": "ex:Person",
- "ex:skills": {
- "@list": [
- "programming",
- "design"
- ]
- }
- },
- {
- "@id": "ex:person2",
- "@type": "ex:Person",
- "ex:skills": {
- "@list": []
- }
- }
- ]
-}
-
@@ -4946,21 +3568,23 @@
sh:maxListLength
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:maxListLength |
-
- The maximum number of members in the SHACL list.
- The values of sh:maxListLength in a shape are literals with datatype xsd:integer .
- The values of sh:maxListLength in a shape are integers greater than or equal to 0.
- |
-
-
+
+
+ sh:maxListLength |
+
+ The maximum number of members in the SHACL list.
+ The values of sh:maxListLength in a shape are literals with datatype xsd:integer .
+ The values of sh:maxListLength in a shape are integers greater than or equal to 0.
+ |
+
+
+
@@ -4986,24 +3610,6 @@
sh:maxListLength
sh:maxListLength 2 ;
] .
-
-
{
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:maxListLength": {
- "@type": "xsd:integer",
- "@value": "2"
- },
- "sh:path": {
- "@id": "ex:hobbies"
- }
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- }
-}
-
@@ -5013,33 +3619,6 @@
sh:maxListLength
ex:person2 a ex:Person ;
ex:hobbies ( "reading" "writing" "swimming" ) .
-
-
{
- "@graph": [
- {
- "@id": "ex:person1",
- "@type": "ex:Person",
- "ex:hobbies": {
- "@list": [
- "reading",
- "writing"
- ]
- }
- },
- {
- "@id": "ex:person2",
- "@type": "ex:Person",
- "ex:hobbies": {
- "@list": [
- "reading",
- "writing",
- "swimming"
- ]
- }
- }
- ]
-}
-
@@ -5055,20 +3634,22 @@
sh:uniqueMembers
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:uniqueMembers |
-
- A boolean that specifies whether the members of the SHACL list must be unique.
- The values of sh:uniqueMembers in a shape are literals with datatype xsd:boolean .
- |
-
-
+
+
+ sh:uniqueMembers |
+
+ A boolean that specifies whether the members of the SHACL list must be unique.
+ The values of sh:uniqueMembers in a shape are literals with datatype xsd:boolean .
+ |
+
+
+
@@ -5099,24 +3680,6 @@
sh:uniqueMembers
sh:uniqueMembers true ;
] .
-
-
{
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:uniqueMembers": {
- "@type": "xsd:boolean",
- "@value": "true"
- },
- "sh:path": {
- "@id": "ex:preferences"
- }
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- }
-}
-
@@ -5126,35 +3689,6 @@
sh:uniqueMembers
ex:person2 a ex:Person ;
ex:preferences ( "coffee" "tea" "coffee" "tea" "tea" ) .
-
-
{
- "@graph": [
- {
- "@id": "ex:person1",
- "@type": "ex:Person",
- "ex:preferences": {
- "@list": [
- "coffee",
- "tea"
- ]
- }
- },
- {
- "@id": "ex:person2",
- "@type": "ex:Person",
- "ex:preferences": {
- "@list": [
- "coffee",
- "tea",
- "coffee",
- "tea",
- "tea"
- ]
- }
- }
- ]
-}
-
@@ -5178,20 +3712,22 @@
sh:equals
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:equals |
-
- The property to compare with.
- The values of sh:equals in a shape are IRIs.
- |
-
-
+
+
+ sh:equals |
+
+ The property to compare with.
+ The values of sh:equals in a shape are IRIs.
+ |
+
+
+
@@ -5220,40 +3756,13 @@
sh:equals
sh:equals ex:givenName ;
] .
-
-
{
- "@id": "ex:EqualExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:equals": {
- "@id": "ex:givenName"
- },
- "sh:path": {
- "@id": "ex:firstName"
- }
- },
- "sh:targetNode": {
- "@id": "ex:Bob"
- }
-}
-
-
shape ex:EqualExampleShape {
- targetNode=ex:Bob .
- ex:firstName equals=ex:givenName .
-}
+
ex:Bob
ex:firstName "Bob" ;
ex:givenName "Bob" .
-
-
{
- "@id": "ex:Bob",
- "ex:firstName": "Bob",
- "ex:givenName": "Bob"
-}
-
@@ -5272,20 +3781,22 @@
sh:disjoint
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:disjoint |
-
- The property to compare the values with.
- The values of sh:disjoint in a shape are IRIs.
- |
-
-
+
+
+ sh:disjoint |
+
+ The property to compare the values with.
+ The values of sh:disjoint in a shape are IRIs.
+ |
+
+
+
@@ -5311,32 +3822,7 @@
sh:disjoint
sh:disjoint ex:altLabel ;
] .
-
-
{
- "@id": "ex:DisjointExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:disjoint": {
- "@id": "ex:altLabel"
- },
- "sh:path": {
- "@id": "ex:prefLabel"
- }
- },
- "sh:targetNode": [
- {
- "@id": "ex:USA"
- },
- {
- "@id": "ex:Germany"
- }
- ]
-}
-
-
shape ex:DisjointExampleShape {
- targetNode=ex:USA targetNode=ex:Germany .
- ex:prefLabel disjoint=ex:altLabel .
-}
+
ex:USA
@@ -5347,22 +3833,6 @@
sh:disjoint
ex:prefLabel "Germany" ;
ex:altLabel "Germany" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Germany",
- "ex:altLabel": "Germany",
- "ex:prefLabel": "Germany"
- },
- {
- "@id": "ex:USA",
- "ex:altLabel": "United States",
- "ex:prefLabel": "USA"
- }
- ]
-}
-
@@ -5378,21 +3848,23 @@
sh:lessThan
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:lessThan |
-
- The property to compare the values with.
- The values of sh:lessThan in a shape are IRIs.
- Node shapes cannot have any value for sh:lessThan .
- |
-
-
+
+
+ sh:lessThan |
+
+ The property to compare the values with.
+ The values of sh:lessThan in a shape are IRIs.
+ Node shapes cannot have any value for sh:lessThan .
+ |
+
+
+
@@ -5418,23 +3890,7 @@
sh:lessThan
sh:lessThan ex:endDate ;
] .
-
-
{
- "@id": "ex:LessThanExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:lessThan": {
- "@id": "ex:endDate"
- },
- "sh:path": {
- "@id": "ex:startDate"
- }
- }
-}
-
-
shape ex:LessThanExampleShape {
- ex:startDate lessThan=ex:endDate .
-}
+
@@ -5449,21 +3905,23 @@
sh:lessThanOrEquals
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:lessThanOrEquals |
-
- The property to compare the values with.
- The values of sh:lessThanOrEquals in a shape are IRIs.
- Node shapes cannot have any value for sh:lessThanOrEquals .
- |
-
-
+
+
+ sh:lessThanOrEquals |
+
+ The property to compare the values with.
+ The values of sh:lessThanOrEquals in a shape are IRIs.
+ Node shapes cannot have any value for sh:lessThanOrEquals .
+ |
+
+
+
@@ -5495,20 +3953,22 @@
sh:not
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:not |
-
- The shape to negate.
- The values of sh:not in a shape must be well-formed shapes.
- |
-
-
+
+
+ sh:not |
+
+ The shape to negate.
+ The values of sh:not in a shape must be well-formed shapes.
+ |
+
+
+
@@ -5537,36 +3997,11 @@
sh:not
sh:minCount 1 ;
] .
-
-
{
- "@id": "ex:NotExampleShape",
- "@type": "sh:NodeShape",
- "sh:not": {
- "@type": "sh:PropertyShape",
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:property"
- }
- },
- "sh:targetNode": {
- "@id": "ex:InvalidInstance1"
- }
-}
-
ex:InvalidInstance1 ex:property "Some value" .
-
-
{
- "@id": "ex:InvalidInstance1",
- "ex:property": "Some value"
-}
-
@@ -5583,21 +4018,23 @@
sh:and
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:and |
-
- A SHACL list of shapes to validate the value nodes against.
- Each value of sh:and in a shape is a SHACL list.
- Each member of such list must be a well-formed shape.
- |
-
-
+
+
+ sh:and |
+
+ A SHACL list of shapes to validate the value nodes against.
+ Each value of sh:and in a shape is a SHACL list.
+ Each member of such list must be a well-formed shape.
+ |
+
+
+
@@ -5643,53 +4080,6 @@
sh:and
]
) .
-
-
{
- "@graph": [
- {
- "@id": "ex:ExampleAndShape",
- "@type": "sh:NodeShape",
- "sh:and": {
- "@list": [
- {
- "@id": "ex:SuperShape"
- },
- {
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:property"
- }
- }
- ]
- },
- "sh:targetNode": [
- {
- "@id": "ex:ValidInstance"
- },
- {
- "@id": "ex:InvalidInstance"
- }
- ]
- },
- {
- "@id": "ex:SuperShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:property"
- }
- }
- }
- ]
-}
-
@@ -5701,23 +4091,6 @@
sh:and
ex:property "One" ;
ex:property "Two" .
-
-
{
- "@graph": [
- {
- "@id": "ex:InvalidInstance",
- "ex:property": [
- "One",
- "Two"
- ]
- },
- {
- "@id": "ex:ValidInstance",
- "ex:property": "One"
- }
- ]
-}
-
@@ -5734,21 +4107,23 @@
sh:or
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:or |
-
- A SHACL list of shapes to validate the value nodes against.
- Each value of sh:or in a shape is a SHACL list.
- Each member of such list must be a well-formed shape.
- |
-
-
+
+
+ sh:or |
+
+ A SHACL list of shapes to validate the value nodes against.
+ Each value of sh:or in a shape is a SHACL list.
+ Each member of such list must be a well-formed shape.
+ |
+
+
+
@@ -5788,48 +4163,11 @@
sh:or
]
) .
-
-
{
- "@id": "ex:OrConstraintExampleShape",
- "@type": "sh:NodeShape",
- "sh:or": {
- "@list": [
- {
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:firstName"
- }
- },
- {
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:givenName"
- }
- }
- ]
- },
- "sh:targetNode": {
- "@id": "ex:Bob"
- }
-}
-
ex:Bob ex:firstName "Robert" .
-
-
{
- "@id": "ex:Bob",
- "ex:firstName": "Robert"
-}
-
@@ -5855,47 +4193,11 @@
sh:or
)
] .
-
-
{
- "@id": "ex:PersonAddressShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:or": {
- "@list": [
- {
- "sh:datatype": {
- "@id": "xsd:string"
- }
- },
- {
- "sh:class": {
- "@id": "ex:Address"
- }
- }
- ]
- },
- "sh:path": {
- "@id": "ex:address"
- }
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- }
-}
-
-
shape ex:PersonAddressShape -> ex:Person {
- ex:address xsd:string|ex:Address .
-}
+
ex:Bob ex:address "123 Prinzengasse, Vaduz, Liechtenstein" .
-
-
{
- "@id": "ex:Bob",
- "ex:address": "123 Prinzengasse, Vaduz, Liechtenstein"
-}
-
@@ -5911,34 +4213,6 @@ sh:or
(ex:shapeA ex:shapeB),
(ex:shapeC ex:shapeD).
-
-
{
- "@id": "ex:shapeRoot",
- "@type": "sh:NodeShape",
- "sh:or": [
- {
- "@list": [
- {
- "@id": "ex:shapeA"
- },
- {
- "@id": "ex:shapeB"
- }
- ]
- },
- {
- "@list": [
- {
- "@id": "ex:shapeC"
- },
- {
- "@id": "ex:shapeD"
- }
- ]
- }
- ]
-}
-
@@ -5958,21 +4232,23 @@
sh:xone
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:xone |
-
- A SHACL list of shapes to validate the value nodes against.
- Each value of sh:xone in a shape is a SHACL list.
- Each member of such list must be a well-formed shape.
- |
-
-
+
+
+ sh:xone |
+
+ A SHACL list of shapes to validate the value nodes against.
+ Each value of sh:xone in a shape is a SHACL list.
+ Each member of such list must be a well-formed shape.
+ |
+
+
+
@@ -6020,52 +4296,6 @@
sh:xone
]
) .
-
-
{
- "@id": "ex:XoneConstraintExampleShape",
- "@type": "sh:NodeShape",
- "sh:targetClass": {
- "@id": "ex:Person"
- },
- "sh:xone": {
- "@list": [
- {
- "sh:property": {
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:fullName"
- }
- }
- },
- {
- "sh:property": [
- {
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:firstName"
- }
- },
- {
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:lastName"
- }
- }
- ]
- }
- ]
- }
-}
-
@@ -6081,30 +4311,6 @@
sh:xone
ex:lastName "Dunce" ;
ex:fullName "Dory Dunce" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Bob",
- "@type": "ex:Person",
- "ex:firstName": "Robert",
- "ex:lastName": "Coin"
- },
- {
- "@id": "ex:Carla",
- "@type": "ex:Person",
- "ex:fullName": "Carla Miller"
- },
- {
- "@id": "ex:Dory",
- "@type": "ex:Person",
- "ex:firstName": "Dory",
- "ex:fullName": "Dory Dunce",
- "ex:lastName": "Dunce"
- }
- ]
-}
-
@@ -6127,20 +4333,22 @@ sh:node
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:node |
-
- The node shape that all value nodes need to conform to.
- The values of sh:node in a shape must be well-formed node shapes.
- |
-
-
+
+
+ sh:node |
+
+ The node shape that all value nodes need to conform to.
+ The values of sh:node in a shape must be well-formed node shapes.
+ |
+
+
+
@@ -6176,53 +4384,7 @@
sh:node
sh:node ex:AddressShape ;
] .
-
-
{
- "@graph": [
- {
- "@id": "ex:AddressShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:datatype": {
- "@id": "xsd:string"
- },
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:postalCode"
- }
- }
- },
- {
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:node": {
- "@id": "ex:AddressShape"
- },
- "sh:path": {
- "@id": "ex:address"
- }
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- }
- }
- ]
-}
-
-
shape ex:AddressShape {
- ex:postalCode xsd:string [0..1] .
-}
-shape ex:PersonShape -> ex:Person {
- ex:address [1..*] @ex:AddressShape .
-}
+
ex:Bob a ex:Person ;
@@ -6237,37 +4399,6 @@
sh:node
ex:RetosAddress
ex:postalCode 5678 .
-
-
{
- "@graph": [
- {
- "@id": "ex:Bob",
- "@type": "ex:Person",
- "ex:address": {
- "@id": "ex:BobsAddress"
- }
- },
- {
- "@id": "ex:BobsAddress",
- "ex:postalCode": "1234"
- },
- {
- "@id": "ex:Reto",
- "@type": "ex:Person",
- "ex:address": {
- "@id": "ex:RetosAddress"
- }
- },
- {
- "@id": "ex:RetosAddress",
- "ex:postalCode": {
- "@type": "xsd:integer",
- "@value": "5678"
- }
- }
- ]
-}
-
@@ -6285,37 +4416,6 @@
sh:node
]
] .
-
-
{
- "@type": "sh:ValidationReport",
- "sh:conforms": {
- "@type": "xsd:boolean",
- "@value": "false"
- },
- "sh:result": {
- "@type": "sh:ValidationResult",
- "sh:focusNode": {
- "@id": "ex:Reto"
- },
- "sh:resultMessage": "Value does not conform to shape ex:AddressShape.",
- "sh:resultPath": {
- "@id": "ex:address"
- },
- "sh:resultSeverity": {
- "@id": "sh:Violation"
- },
- "sh:sourceConstraintComponent": {
- "@id": "sh:NodeConstraintComponent"
- },
- "sh:sourceShape": {
- "@id": "_:b1"
- },
- "sh:value": {
- "@id": "ex:RetosAddress"
- }
- }
-}
-
@@ -6331,20 +4431,22 @@ sh:property
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:property |
-
- A property shape that all value nodes need to have.
- Each value of sh:property in a shape must be a well-formed property shape.
- |
-
-
+
+
+ sh:property |
+
+ A property shape that all value nodes need to have.
+ Each value of sh:property in a shape must be a well-formed property shape.
+ |
+
+
+
@@ -6430,27 +4532,7 @@
sh:someValue
]
] .
-
-
{
- "@graph": [
- {
- "@id": "ex:DuckFarmerShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:path": {
- "@id": "ex:tendsAnimal"
- },
- "sh:someValue": {
- "sh:class": {
- "@id": "ex:Duck"
- }
- }
- }
- }
- ]
-}
-
sh:someValue
can be regarded as syntactic sugar for a combination of
@@ -6471,46 +4553,48 @@
sh:qualifiedValueShape, sh:qualifiedMinCount, sh:qualifiedMaxCount
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:qualifiedValueShape |
-
- The shape that the specified number of value nodes needs to conform to.
- The values of sh:qualifiedValueShape in a shape must be well-formed shapes.
- Node shapes cannot have any value for sh:qualifiedValueShape .
- This is a mandatory parameter of sh:QualifiedMinCountConstraintComponent and sh:QualifiedMaxCountConstraintComponent .
- |
-
-
- sh:qualifiedValueShapesDisjoint |
-
- This is an optional parameter of sh:QualifiedMinCountConstraintComponent and sh:QualifiedMaxCountConstraintComponent .
- If set to true then (for the counting) the value nodes must not conform to any of the sibling shapes.
- The values of sh:qualifiedValueShapesDisjoint in a shape are literals with datatype xsd:boolean .
- |
-
-
- sh:qualifiedMinCount |
-
- The minimum number of value nodes that conform to the shape.
- The values of sh:qualifiedMinCount in a shape are literals with datatype xsd:integer .
- This is a mandatory parameter of sh:QualifiedMinCountConstraintComponent .
- |
-
-
- sh:qualifiedMaxCount |
-
- The maximum number of value nodes that can conform to the shape.
- The values of sh:qualifiedMaxCount in a shape are literals with datatype xsd:integer .
- This is a mandatory parameter of sh:QualifiedMaxCountConstraintComponent .
- |
-
-
+
+
+ sh:qualifiedValueShape |
+
+ The shape that the specified number of value nodes needs to conform to.
+ The values of sh:qualifiedValueShape in a shape must be well-formed shapes.
+ Node shapes cannot have any value for sh:qualifiedValueShape .
+ This is a mandatory parameter of sh:QualifiedMinCountConstraintComponent and sh:QualifiedMaxCountConstraintComponent .
+ |
+
+
+ sh:qualifiedValueShapesDisjoint |
+
+ This is an optional parameter of sh:QualifiedMinCountConstraintComponent and sh:QualifiedMaxCountConstraintComponent .
+ If set to true then (for the counting) the value nodes must not conform to any of the sibling shapes.
+ The values of sh:qualifiedValueShapesDisjoint in a shape are literals with datatype xsd:boolean .
+ |
+
+
+ sh:qualifiedMinCount |
+
+ The minimum number of value nodes that conform to the shape.
+ The values of sh:qualifiedMinCount in a shape are literals with datatype xsd:integer .
+ This is a mandatory parameter of sh:QualifiedMinCountConstraintComponent .
+ |
+
+
+ sh:qualifiedMaxCount |
+
+ The maximum number of value nodes that can conform to the shape.
+ The values of sh:qualifiedMaxCount in a shape are literals with datatype xsd:integer .
+ This is a mandatory parameter of sh:QualifiedMaxCountConstraintComponent .
+ |
+
+
+
@@ -6574,40 +4658,6 @@
sh:qualifiedValueShape, sh:qualifiedMinCount, sh:qualifiedMaxCount
sh:qualifiedMinCount 1 ;
] .
-
-
{
- "@id": "ex:QualifiedValueShapeExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "2"
- },
- "sh:minCount": {
- "@type": "xsd:integer",
- "@value": "2"
- },
- "sh:path": {
- "@id": "ex:parent"
- },
- "sh:qualifiedMinCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:qualifiedValueShape": {
- "sh:hasValue": {
- "@id": "ex:female"
- },
- "sh:path": {
- "@id": "ex:gender"
- }
- }
- },
- "sh:targetNode": {
- "@id": "ex:QualifiedValueShapeExampleValidResource"
- }
-}
-
@@ -6615,40 +4665,11 @@
sh:qualifiedValueShape, sh:qualifiedMinCount, sh:qualifiedMaxCount
ex:parent ex:John ;
ex:parent ex:Jane .
-ex:John
- ex:gender ex:male .
-
-ex:Jane
- ex:gender ex:female .
-
-
-
{
- "@graph": [
- {
- "@id": "ex:Jane",
- "ex:gender": {
- "@id": "ex:female"
- }
- },
- {
- "@id": "ex:John",
- "ex:gender": {
- "@id": "ex:male"
- }
- },
- {
- "@id": "ex:QualifiedValueShapeExampleValidResource",
- "ex:parent": [
- {
- "@id": "ex:John"
- },
- {
- "@id": "ex:Jane"
- }
- ]
- }
- ]
-}
+ex:John
+ ex:gender ex:male .
+
+ex:Jane
+ ex:gender ex:female .
@@ -6684,70 +4705,6 @@ sh:qualifiedValueShape, sh:qualifiedMinCount, sh:qualifiedMaxCount
sh:qualifiedMaxCount 4 ;
] .
-
-
{
- "@id": "ex:HandShape",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "5"
- },
- "sh:path": {
- "@id": "ex:digit"
- }
- },
- {
- "sh:path": {
- "@id": "ex:digit"
- },
- "sh:qualifiedMaxCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:qualifiedMinCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:qualifiedValueShape": {
- "sh:class": {
- "@id": "ex:Thumb"
- }
- },
- "sh:qualifiedValueShapesDisjoint": {
- "@type": "xsd:boolean",
- "@value": "true"
- }
- },
- {
- "sh:path": {
- "@id": "ex:digit"
- },
- "sh:qualifiedMaxCount": {
- "@type": "xsd:integer",
- "@value": "4"
- },
- "sh:qualifiedMinCount": {
- "@type": "xsd:integer",
- "@value": "4"
- },
- "sh:qualifiedValueShape": {
- "sh:class": {
- "@id": "ex:Finger"
- }
- },
- "sh:qualifiedValueShapesDisjoint": {
- "@type": "xsd:boolean",
- "@value": "true"
- }
- }
- ],
- "sh:targetClass": {
- "@id": "ex:Hand"
- }
-}
-
@@ -6763,31 +4720,33 @@ sh:reifierShape, sh:reificationRequired
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:reifierShape |
-
- The node shape that a reifier for this triple must conform to.
-
- The values of sh:reifierShape must be well-formed node shapes.
- If a value for sh:reifierShape is given, sh:path values are constrained to IRIs.
-
- |
-
-
- sh:reificationRequired |
-
- This is an optional parameter of sh:ReifierShapeConstraintComponent .
- If set to true , there must be at least one reification value for the focus node/path combination in the data graph.
- The values of sh:reificationRequired in a shape are literals with datatype xsd:boolean .
- |
-
-
+
+
+ sh:reifierShape |
+
+ The node shape that a reifier for this triple must conform to.
+
+ The values of sh:reifierShape must be well-formed node shapes.
+ If a value for sh:reifierShape is given, sh:path values are constrained to IRIs.
+
+ |
+
+
+ sh:reificationRequired |
+
+ This is an optional parameter of sh:ReifierShapeConstraintComponent .
+ If set to true , there must be at least one reification value for the focus node/path combination in the data graph.
+ The values of sh:reificationRequired in a shape are literals with datatype xsd:boolean .
+ |
+
+
+
@@ -6834,73 +4793,6 @@
sh:reifierShape, sh:reificationRequired
sh:reifierShape ex:ProvenanceShape ;
sh:reificationRequired true .
-
-
{
- "@graph": [
- {
- "@id": "ex:PersonShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "@id": "ex:PersonShape-age"
- },
- "sh:targetClass": {
- "@id": "ex:Person"
- }
- },
- {
- "@id": "ex:PersonShape-age",
- "@type": "sh:PropertyShape",
- "sh:datatype": {
- "@id": "xsd:integer"
- },
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:age"
- },
- "sh:reificationRequired": {
- "@type": "xsd:boolean",
- "@value": "true"
- },
- "sh:reifierShape": {
- "@id": "ex:ProvenanceShape"
- }
- },
- {
- "@id": "ex:ProvenanceShape",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "sh:datatype": {
- "@id": "xsd:date"
- },
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:date"
- }
- },
- {
- "sh:maxCount": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:nodeKind": {
- "@id": "sh:IRI"
- },
- "sh:path": {
- "@id": "ex:author"
- }
- }
- ]
- }
- ]
-}
-
@@ -6909,24 +4801,6 @@
sh:reifierShape, sh:reificationRequired
ex:author ex:Claire
|}.
-
-
{
- "@id": "Bob",
- "ex:age": {
- "@type": "xsd:integer",
- "@value": "23",
- "@annotation": {
- "ex:author": {
- "@id": "ex:Claire"
- },
- "ex:date": {
- "@type": "xsd:date",
- "@value": "2019-12-05"
- }
- }
- }
-}
-
@@ -6955,29 +4829,31 @@ sh:closed, sh:ignoredProperties
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:closed |
-
- Set to true to close the shape.
- The values of sh:closed in a shape are literals with datatype xsd:boolean
- or the IRI sh:ByTypes .
- |
-
-
- sh:ignoredProperties |
-
- Optional SHACL list of properties that are also permitted in addition to those explicitly enumerated via sh:property .
- The values of sh:ignoredProperties in a shape must be SHACL lists.
- Each member of such a list must be a IRI.
- |
-
-
+
+
+ sh:closed |
+
+ Set to true to close the shape.
+ The values of sh:closed in a shape are literals with datatype xsd:boolean
+ or the IRI sh:ByTypes .
+ |
+
+
+ sh:ignoredProperties |
+
+ Optional SHACL list of properties that are also permitted in addition to those explicitly enumerated via sh:property .
+ The values of sh:ignoredProperties in a shape must be SHACL lists.
+ Each member of such a list must be a IRI.
+ |
+
+
+
@@ -7040,48 +4916,7 @@
sh:closed, sh:ignoredProperties
sh:path ex:lastName ;
] .
-
-
{
- "@id": "ex:ClosedShapeExampleShape",
- "@type": "sh:NodeShape",
- "sh:closed": {
- "@type": "xsd:boolean",
- "@value": "true"
- },
- "sh:ignoredProperties": {
- "@list": [
- {
- "@id": "rdf:type"
- }
- ]
- },
- "sh:property": [
- {
- "sh:path": {
- "@id": "ex:firstName"
- }
- },
- {
- "sh:path": {
- "@id": "ex:lastName"
- }
- }
- ],
- "sh:targetNode": [
- {
- "@id": "ex:Alice"
- },
- {
- "@id": "ex:Bob"
- }
- ]
-}
-
-
shape ex:ClosedShapeExampleShape {
- targetNode=ex:Alice targetNode=ex:Bob closed=true ignoredProperties=[rdf:type] .
- ex:firstName .
- ex:lastName .
-}
+
ex:Alice
@@ -7091,21 +4926,6 @@
sh:closed, sh:ignoredProperties
ex:firstName "Bob" ;
ex:middleInitial "J" .
-
-
{
- "@graph": [
- {
- "@id": "ex:Alice",
- "ex:firstName": "Alice"
- },
- {
- "@id": "ex:Bob",
- "ex:firstName": "Bob",
- "ex:middleInitial": "J"
- }
- ]
-}
-
@@ -7130,19 +4950,21 @@
sh:hasValue
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:hasValue |
-
- A specific required value.
- |
-
-
+
+
+ sh:hasValue |
+
+ A specific required value.
+ |
+
+
+
@@ -7163,46 +4985,13 @@
sh:hasValue
sh:hasValue ex:Stanford ;
] .
-
-
{
- "@id": "ex:StanfordGraduate",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:hasValue": {
- "@id": "ex:Stanford"
- },
- "sh:path": {
- "@id": "ex:alumniOf"
- }
- },
- "sh:targetNode": {
- "@id": "ex:Alice"
- }
-}
-
-
shape ex:StanfordGraduate {
- targetNode=ex:Alice .
- ex:alumniOf hasValue=ex:Stanford .
-}
+
ex:Alice
ex:alumniOf ex:Harvard ;
ex:alumniOf ex:Stanford .
-
-
{
- "@id": "ex:Alice",
- "ex:alumniOf": [
- {
- "@id": "ex:Harvard"
- },
- {
- "@id": "ex:Stanford"
- }
- ]
-}
-
@@ -7218,21 +5007,23 @@ sh:in
Parameters:
-
- Property |
- Summary and Syntax Rules |
-
+
+
+ Property |
+ Summary and Syntax Rules |
+
-
-
- sh:in |
-
- A SHACL list that has the allowed values as members.
- Each value of sh:in in a shape is a SHACL list.
- A shape has at most one value for sh:in .
- |
-
-
+
+
+ sh:in |
+
+ A SHACL list that has the allowed values as members.
+ Each value of sh:in in a shape is a SHACL list.
+ A shape has at most one value for sh:in .
+ |
+
+
+
@@ -7257,46 +5048,11 @@
sh:in
sh:in ( ex:Pink ex:Purple ) ;
] .
-
-
{
- "@id": "ex:InExampleShape",
- "@type": "sh:NodeShape",
- "sh:property": {
- "sh:in": {
- "@list": [
- {
- "@id": "ex:Pink"
- },
- {
- "@id": "ex:Purple"
- }
- ]
- },
- "sh:path": {
- "@id": "ex:color"
- }
- },
- "sh:targetNode": {
- "@id": "ex:RainbowPony"
- }
-}
-
-
shape ex:InExampleShape {
- targetNode=ex:RainbowPony .
- ex:color in=[ex:Pink ex:Purple] .
-}
+
ex:RainbowPony ex:color ex:Pink .
-
-
{
- "@id": "ex:RainbowPony",
- "ex:color": {
- "@id": "ex:Pink"
- }
-}
-
@@ -7424,112 +5180,6 @@ sh:group
sh:order 1 ;
rdfs:label "Address" .
-
-
{
- "@graph": [
- {
- "@id": "ex:AddressGroup",
- "@type": "sh:PropertyGroup",
- "rdfs:label": "Address",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "1"
- }
- },
- {
- "@id": "ex:NameGroup",
- "@type": "sh:PropertyGroup",
- "rdfs:label": "Name",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "0"
- }
- },
- {
- "@id": "ex:PersonFormShape",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "sh:description": "The person's given name(s)",
- "sh:group": {
- "@id": "ex:NameGroup"
- },
- "sh:name": "first name",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "0"
- },
- "sh:path": {
- "@id": "ex:firstName"
- }
- },
- {
- "sh:description": "The person's last name",
- "sh:group": {
- "@id": "ex:NameGroup"
- },
- "sh:name": "last name",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:lastName"
- }
- },
- {
- "sh:description": "The street address including number",
- "sh:group": {
- "@id": "ex:AddressGroup"
- },
- "sh:name": "street address",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "11"
- },
- "sh:path": {
- "@id": "ex:streetAddress"
- }
- },
- {
- "sh:description": "The city or town of the address",
- "sh:group": {
- "@id": "ex:AddressGroup"
- },
- "sh:name": "locality",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "12"
- },
- "sh:path": {
- "@id": "ex:locality"
- }
- },
- {
- "sh:description": "The postal code of the locality",
- "sh:group": {
- "@id": "ex:AddressGroup"
- },
- "sh:name": [
- "postal code",
- {
- "@language": "en-us",
- "@value": "zip code"
- }
- ],
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "13"
- },
- "sh:path": {
- "@id": "ex:postalCode"
- }
- }
- ]
- }
- ]
-}
-
@@ -7619,112 +5269,6 @@
sh:group
sh:order 0 ;
rdfs:label "Name" .
-
-
{
- "@graph": [
- {
- "@id": "ex:AddressGroup",
- "@type": "sh:PropertyGroup",
- "rdfs:label": "Address",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "1"
- }
- },
- {
- "@id": "ex:NameGroup",
- "@type": "sh:PropertyGroup",
- "rdfs:label": "Name",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "0"
- }
- },
- {
- "@id": "ex:PersonFormShape",
- "@type": "sh:NodeShape",
- "sh:property": [
- {
- "sh:description": "The person's last name",
- "sh:group": {
- "@id": "ex:NameGroup"
- },
- "sh:name": "last name",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "1"
- },
- "sh:path": {
- "@id": "ex:lastName"
- }
- },
- {
- "sh:description": "The person's given name(s)",
- "sh:group": {
- "@id": "ex:NameGroup"
- },
- "sh:name": "first name",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "0"
- },
- "sh:path": {
- "@id": "ex:firstName"
- }
- },
- {
- "sh:description": "The postal code of the locality",
- "sh:group": {
- "@id": "ex:AddressGroup"
- },
- "sh:name": [
- "postal code",
- {
- "@language": "en-us",
- "@value": "zip code"
- }
- ],
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "13"
- },
- "sh:path": {
- "@id": "ex:postalCode"
- }
- },
- {
- "sh:description": "The street address including number",
- "sh:group": {
- "@id": "ex:AddressGroup"
- },
- "sh:name": "street address",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "11"
- },
- "sh:path": {
- "@id": "ex:streetAddress"
- }
- },
- {
- "sh:description": "The city or town of the address",
- "sh:group": {
- "@id": "ex:AddressGroup"
- },
- "sh:name": "locality",
- "sh:order": {
- "@type": "xsd:integer",
- "@value": "12"
- },
- "sh:path": {
- "@id": "ex:locality"
- }
- }
- ]
- }
- ]
-}
-
diff --git a/shacl12-node-expr/index.html b/shacl12-node-expr/index.html
index 86073129..84988019 100644
--- a/shacl12-node-expr/index.html
+++ b/shacl12-node-expr/index.html
@@ -324,9 +324,6 @@ Getting started with Node Expressions
]
] .
-
- TODO
-
@@ -368,9 +365,6 @@ Getting started with Node Expressions
"""
] .
-
- TODO
-
@@ -406,9 +400,6 @@ Getting started with Node Expressions
]
] .
-
- TODO
-
@@ -636,9 +627,6 @@ List Parameter Functions
)
] .
-
- TODO
-
@@ -764,9 +752,6 @@ Var Expressions
sh:path ex:loves ;
sh:defaultValue [ shnex:var "focusNode" ] .
-
- TODO
-
@@ -846,9 +831,6 @@ List Expressions
shnex:minus ( owl:Thing rdfs:Resource ) ;
] .
-
- TODO
-
@@ -939,9 +921,6 @@ Path Values Expressions
] ;
] .
-
- TODO
-
@@ -962,9 +941,6 @@
Path Values Expressions
shnex:focusNode skos:Concept ;
] .
-
- TODO
-
@@ -1104,9 +1080,6 @@ If Expressions
shnex:else "red" ;
] .
-
- TODO
-
@@ -1186,9 +1159,6 @@ Distinct Expressions
] ;
] .
-
- TODO
-
@@ -1248,9 +1218,6 @@ Intersection Expressions
)
] .
-
- TODO
-
@@ -1429,9 +1396,6 @@ Filter Shape Expressions
] ;
] .
-
- TODO
-
@@ -1516,9 +1480,6 @@ Limit Expressions
shnex:limit 2 ;
] .
-
- TODO
-
@@ -1603,9 +1564,6 @@ Offset Expressions
shnex:offset 1 ;
] .
-
- TODO
-
@@ -1686,9 +1644,6 @@ Count Expressions
] ;
] .
-
- TODO
-
@@ -1759,9 +1714,6 @@ Min Expressions
] ;
] .
-
- TODO
-
@@ -2265,9 +2217,6 @@ sh:expression
)
] .
-
- TODO
-
@@ -2763,11 +2712,6 @@
Example: Dynamic Minimum Age of Presidents
shnex:else 18 ;
] .
-
@@ -2792,11 +2736,6 @@ Example: Dynamic Enumerations
ex:state "QLD" ;
.
-
@@ -2828,11 +2767,6 @@
Example: Dynamic Enumerations
"AR" ; # ...
.
-
@@ -2852,11 +2786,6 @@
Example: Dynamic Enumerations
shnex:pathValues ( ex:country ex:stateCode )
] .
-