@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix rdf: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { rdf:type rdfs:label "is a" . rdfs:label "node shape" . rdfs:label "has max count" . rdfs:label "has min count" . rdfs:label "has the path" . rdfs:label "has the property" . rdfs:label "has the target class" . sub:assertion a nt:AssertionTemplate; dct:description "This template defines a simple SHACL node shape."; rdfs:label "Defining a simple SHACL node shape"; nt:hasStatement sub:st01, sub:st02, sub:st03, sub:st04, sub:st05, sub:st06; nt:hasTag "Validation" . sub:maxCount a nt:LiteralPlaceholder; rdfs:label "maximum property count" . sub:maxCountPropertyShape a nt:RestrictedChoicePlaceholder; rdfs:label "select property shape"; nt:possibleValue sub:propertyShape . sub:minCount a nt:LiteralPlaceholder; rdfs:label "mimum property count" . sub:minCountPropertyShape a nt:RestrictedChoicePlaceholder; rdfs:label "select property shape"; nt:possibleValue sub:propertyShape . sub:nodeShape a nt:IntroducedResource, nt:LocalResource, nt:UriPlaceholder; rdfs:label "short ID suffix of node shape" . sub:pathPredicate a nt:ExternalUriPlaceholder; rdfs:label "path predicate URI" . sub:pathPropertyShape a nt:RestrictedChoicePlaceholder; rdfs:label "select property shape"; nt:possibleValue sub:propertyShape . sub:propertyShape a nt:LocalResource, nt:UriPlaceholder; rdfs:label "short ID suffix for property shape" . sub:st01 rdf:object ; rdf:predicate rdf:type; rdf:subject sub:nodeShape . sub:st02 rdf:object sub:targetClass; rdf:predicate ; rdf:subject sub:nodeShape . sub:st03 a nt:RepeatableStatement; rdf:object sub:propertyShape; rdf:predicate ; rdf:subject sub:nodeShape . sub:st04 a nt:RepeatableStatement; rdf:object sub:pathPredicate; rdf:predicate ; rdf:subject sub:pathPropertyShape . sub:st05 a nt:OptionalStatement, nt:RepeatableStatement; rdf:object sub:maxCount; rdf:predicate ; rdf:subject sub:maxCountPropertyShape . sub:st06 a nt:OptionalStatement, nt:RepeatableStatement; rdf:object sub:minCount; rdf:predicate ; rdf:subject sub:minCountPropertyShape . sub:targetClass a nt:ExternalUriPlaceholder; rdfs:label "target class URI" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2025-05-14T08:27:44.674Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:supersedes ; npx:wasCreatedAt ; rdfs:label "Template: Defining a simple SHACL node shape"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "SFzAlqzN+M4XEE6DpuMQhk1qBrmxWPkWfO2boE5ZaHBa/tGynzk9truHjuWw8nAZEWIXC7Kw/sOAzqIUf5Kg0Jl1F+6rf+V++TP+Tngad0O5/sNHhe/DZxMTP8XOlYvTxs8rKQBebQdWLfiw23nRpJAdbf4tNksq1ImH8vdAETo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }