@prefix ns1: <http://purl.org/np/> .
@prefix this: <http://purl.org/np/RABMVRQW1kq9BZ2mQAMSxSQS6Q3AR4ypH2agpT-xKbxOE> .
@prefix sub: <http://purl.org/np/RABMVRQW1kq9BZ2mQAMSxSQS6Q3AR4ypH2agpT-xKbxOE#> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix orcid: <https://orcid.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .

ns1:RABMVRQW1kq9BZ2mQAMSxSQS6Q3AR4ypH2agpT-xKbxOE a np:Nanopublication;
  np:hasAssertion sub:assertion;
  np:hasProvenance sub:provenance;
  np:hasPublicationInfo sub:pubinfo;
  dct:created "2023-08-15T15:03:37.073+02:00"^^xsd:dateTime;
  dct:creator orcid:0000-0002-1267-0234;
  dct:license <https://creativecommons.org/licenses/by/4.0/>;
  npx:supersedes ns1:RAr2tFRzWYsYNdtfZBkT9b47gbLWiHM_Sd_uenlqcYKt8;
  rdfs:label "Template: Introducing a user";
  nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM;
  nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM,
    ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI;
  nt:wasCreatedFromTemplate ns1:RANjqEfLnGSzLuq0heRSXN0psYWW0oX4v3W8w7osb3xfs .

npx:declaredBy rdfs:label "is declared by" .

npx:hasAlgorithm rdfs:label "has algorithm" .

npx:hasKeyLocation rdfs:label "has key location" .

npx:hasPublicKey rdfs:label "has public key" .

sub:assertion a nt:AssertionTemplate;
  rdfs:label "Introducing a user";
  nt:hasNanopubLabelPattern "User: ${name}";
  nt:hasStatement sub:st1, sub:st2, sub:st3;
  nt:hasTag "Meta";
  nt:hasTargetNanopubType npx:declaredBy;
  prov:wasAttributedTo orcid:0000-0002-1267-0234 .

sub:key-declaration a nt:LocalResource, nt:UriPlaceholder;
  rdfs:label "short id of key declaration" .

sub:key-declaration-ref a nt:RestrictedChoicePlaceholder;
  nt:possibleValue sub:key-declaration .

sub:key-location a nt:UriPlaceholder;
  rdfs:label "URL where the private key is stored" .

sub:name a nt:LiteralPlaceholder;
  rdfs:label "name of the user" .

sub:public-key a nt:LongLiteralPlaceholder;
  rdfs:label "public key" .

sub:st1 rdf:object sub:name;
  rdf:predicate <http://xmlns.com/foaf/0.1/name>;
  rdf:subject sub:user .

sub:st2 a nt:GroupedStatement, nt:RepeatableStatement;
  nt:hasStatement sub:st2a, sub:st2b, sub:st2c .

sub:st2a rdf:object sub:user;
  rdf:predicate npx:declaredBy;
  rdf:subject sub:key-declaration .

sub:st2b rdf:object "RSA";
  rdf:predicate npx:hasAlgorithm;
  rdf:subject sub:key-declaration .

sub:st2c rdf:object sub:public-key;
  rdf:predicate npx:hasPublicKey;
  rdf:subject sub:key-declaration .

sub:st3 a nt:OptionalStatement, nt:RepeatableStatement;
  rdf:object sub:key-location;
  rdf:predicate npx:hasKeyLocation;
  rdf:subject sub:key-declaration-ref .

sub:user a nt:IntroducedResource, nt:UriPlaceholder;
  rdfs:label "ORCID identifier of the user to be introduced";
  nt:hasPrefix "https://orcid.org/";
  nt:hasPrefixLabel "user with ORCID";
  nt:hasRegex "[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]" .

<http://xmlns.com/foaf/0.1/name> rdfs:label "has the name" .

sub:sig npx:hasAlgorithm "RSA";
  npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB";
  npx:hasSignature "hfHdpu+Dc4jQoMWJpOEehCuiDxj/yyV4fQkgqcrEiCQlprHAvJhAx+clyE2LqnX5wWmdCzX7WSTqAskI1sm/Arlk9QOKW24HuPegn4ZNrUHJVVGCVR2TLN/3ihm011EC3RDPd4rWCX/Up/XTUyR64G9SnOjS81H2YqJ4VEA257c=";
  npx:hasSignatureTarget ns1:RABMVRQW1kq9BZ2mQAMSxSQS6Q3AR4ypH2agpT-xKbxOE .

