@prefix this: <https://w3id.org/np/RADOnITa1gjGIQtuENvlB2I7hykzrASzake1bIjGLiAtM> .
@prefix sub: <https://w3id.org/np/RADOnITa1gjGIQtuENvlB2I7hykzrASzake1bIjGLiAtM/> .
@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 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#> .
@prefix mac: <https://w3id.org/spaces/mac/r/ontology/> .
@prefix npx: <http://purl.org/nanopub/x/> .

<https://w3id.org/np/RADOnITa1gjGIQtuENvlB2I7hykzrASzake1bIjGLiAtM> a np:Nanopublication;
  np:hasAssertion sub:assertion;
  np:hasProvenance sub:provenance;
  np:hasPublicationInfo sub:pubinfo;
  dct:created "2026-05-27T09:54:53Z"^^xsd:dateTime;
  dct:creator orcid:0000-0001-8888-635X;
  dct:license <https://creativecommons.org/licenses/by/4.0/>;
  rdfs:label "Template: Declaring a Spike RBD Variant (MAC FDT Type 1)";
  nt:wasCreatedFromProvenanceTemplate <https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU>;
  nt:wasCreatedFromPubinfoTemplate <https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw>,
    <https://w3id.org/np/RAMEgudZsQ1bh1fZhfYnkthqH6YSXpghSE_DEN1I-6eAI>, <https://w3id.org/np/RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ>,
    <https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI>;
  nt:wasCreatedFromTemplate <https://w3id.org/np/RA5reLVXOCPQFWr2UiCJb19ES7NwOpQRmudb17e2iB0c4> .

dct:contributor rdfs:label "has contributor" .

dct:creator rdfs:label "has creator" .

dct:isPartOf rdfs:label "is part of" .

dct:license rdfs:label "data usage license" .

dct:publisher rdfs:label "has publisher" .

dct:references rdfs:label "references" .

dct:source rdfs:label "has source" .

dct:subject rdfs:label "has domain" .

rdf:type rdfs:label "is a" .

rdfs:comment rdfs:label "has description" .

rdfs:label rdfs:label "has the label" .

<https://creativecommons.org/licenses/by/4.0/> rdfs:label "Attribution 4.0 International (CC BY 4.0)" .

<https://doi.org/10.3389/fbinf.2025.1634111> rdfs:label "FAIR² data article (Frontiers in Bioinformatics)" .

<https://doi.org/10.71728/hw56-vj34> rdfs:label "FAIR² Data Package DOI" .

<https://w3id.org/fair/fip/terms/implements> rdfs:label "implements" .

<https://w3id.org/fdof/ontology#FAIRDigitalObject> rdfs:label "FAIR Digital Object (FDO)" .

<https://w3id.org/fdof/ontology#hasEncodingFormat> rdfs:label "has format" .

<https://w3id.org/fdof/ontology#hasMetadata> rdfs:label "has its metadata in" .

<https://w3id.org/fdof/ontology#materializes> rdfs:label "is a concrete materialization of" .

sub:assertion a nt:AssertionTemplate;
  dct:description "Template for the central anchor of a MAC FAIR Digital Twin: a SARS-CoV-2 Spike RBD variant. All observation FDOs (Types 2–8) link back to an instance of this template via mac:isObservationOf. Per SPS v1.3, every instance also declares its institutional context via dct:isPartOf → a Project FDO referent URI (mandatory; instance-supplied via guided-choice from the project catalogue). The nanopublication self-materializes: it is its own access mechanism, in TriG, under CC BY 4.0.";
  rdfs:label "Declaring a Spike RBD Variant (MAC FDT Type 1)";
  nt:hasNanopubLabelPattern "Spike RBD Variant ${whoVariantName} (${macSeqId})";
  nt:hasStatement sub:st0, sub:st1, sub:st2, sub:st3, sub:st4, sub:st5, sub:st5b, sub:st5c,
    sub:st5d, sub:st6, sub:st7, sub:st8, sub:st91, sub:st92, sub:st95, sub:st_a, sub:st_f2a,
    sub:st_f2p, sub:st_g, sub:st_m, sub:st_p, sub:st_pp, sub:st_s, sub:st_u, sub:st_w;
  nt:hasTag "MAC";
  prov:wasAttributedTo orcid:0000-0001-8888-635X .

sub:contact a nt:LiteralPlaceholder;
  rdfs:label "contact email" .

sub:contributor a nt:AgentPlaceholder;
  rdfs:label "ORCID of contributor" .

sub:creator a nt:AgentPlaceholder;
  rdfs:label "ORCID of creator";
  nt:hasDefaultValue nt:CREATOR .

sub:description a nt:LongLiteralPlaceholder;
  rdfs:label "free-text description of this variant" .

sub:domain a nt:RestrictedChoicePlaceholder;
  rdfs:label "domain";
  nt:possibleValuesFrom <https://w3id.org/np/RACXDZHEowTYDAzZvdmD0qIGpXZwY5ghMRBBlt6N8Iu5s> .

sub:fdo a nt:IntroducedResource, nt:LocalResource, nt:UriPlaceholder;
  rdfs:label "full URI (e.g. handle.net) or short suffix for this variant FDO" .

sub:fip a nt:GuidedChoicePlaceholder;
  rdfs:label "FAIR Implementation Profile";
  nt:possibleValuesFromApi "http://purl.org/nanopub/api/find_signed_things?type=https%3A%2F%2Fw3id.org%2Ffair%2Ffip%2Fterms%2FFAIR-Implementation-Profile&searchterm=" .

sub:gisaidAccession a nt:LiteralPlaceholder;
  rdfs:label "canonical GISAID accession (e.g. \"EPI_ISL_601443\")";
  nt:hasRegex "^EPI_ISL_\\d+$" .

sub:gisaidSeqId a nt:LiteralPlaceholder;
  rdfs:label "GISAID seq_id — full Spike amino-acid notation (e.g. \"N501Y\")";
  nt:hasRegex "^[ACDEFGHIKLMNPQRSTVWY]\\d{1,3}[ACDEFGHIKLMNPQRSTVWY]$" .

sub:label a nt:LiteralPlaceholder;
  rdfs:label "label or name for this variant (e.g. \"Alpha RBD variant (N169Y)\")" .

sub:macSeqId a nt:LiteralPlaceholder;
  rdfs:label "MAC seq_id — RBD amino-acid notation (e.g. \"N169Y\")";
  nt:hasRegex "^[ACDEFGHIKLMNPQRSTVWY]\\d{1,3}[ACDEFGHIKLMNPQRSTVWY]$" .

sub:pangoLineage a nt:LiteralPlaceholder;
  rdfs:label "Pango lineage (e.g. \"B.1.1.7\", \"B.1.427 + B.1.429\")" .

sub:project a nt:GuidedChoicePlaceholder;
  rdfs:label "project";
  nt:possibleValuesFromApi "https://w3id.org/np/l/nanopub-query-1.1/api/RAFTZ8GqPOOJQOBcEo5IB8lg5vZCFiIyr_RVLKZDQBHMk/get-projects?searchterm=" .

sub:publisher a nt:ExternalUriPlaceholder;
  rdfs:label "ROR of the publishing entity" .

sub:rbdSequence a nt:LongLiteralPlaceholder;
  rdfs:label "RBD amino-acid sequence (one-letter code, 195 residues)";
  nt:hasRegex "^[ACDEFGHIKLMNPQRSTVWY]{195}$" .

sub:st0 rdf:object <https://w3id.org/fdof/ontology#FAIRDigitalObject>;
  rdf:predicate rdf:type;
  rdf:subject sub:fdo .

sub:st1 a nt:OptionalStatement;
  rdf:object sub:label;
  rdf:predicate rdfs:label;
  rdf:subject sub:fdo .

sub:st2 a nt:OptionalStatement;
  rdf:object sub:description;
  rdf:predicate rdfs:comment;
  rdf:subject sub:fdo .

sub:st3 rdf:object mac:SpikeRBDVariant;
  rdf:predicate rdf:type;
  rdf:subject sub:fdo .

sub:st4 rdf:object nt:NANOPUB;
  rdf:predicate <https://w3id.org/fdof/ontology#hasMetadata>;
  rdf:subject sub:fdo .

sub:st5 rdf:object sub:fdo;
  rdf:predicate <https://w3id.org/fdof/ontology#materializes>;
  rdf:subject nt:NANOPUB .

sub:st5b rdf:object <https://www.iana.org/assignments/media-types/application/trig>;
  rdf:predicate <https://w3id.org/fdof/ontology#hasEncodingFormat>;
  rdf:subject nt:NANOPUB .

sub:st5c rdf:object <https://creativecommons.org/licenses/by/4.0/>;
  rdf:predicate dct:license;
  rdf:subject nt:NANOPUB .

sub:st5d rdf:object nt:NANOPUB;
  rdf:predicate <https://www.w3.org/ns/dcat#accessURL>;
  rdf:subject nt:NANOPUB .

sub:st6 a nt:RepeatableStatement;
  rdf:object sub:creator;
  rdf:predicate dct:creator;
  rdf:subject sub:fdo .

sub:st7 a nt:OptionalStatement, nt:RepeatableStatement;
  rdf:object sub:contributor;
  rdf:predicate dct:contributor;
  rdf:subject sub:fdo .

sub:st8 rdf:object sub:contact;
  rdf:predicate <https://www.w3.org/ns/dcat#contactPoint>;
  rdf:subject sub:fdo .

sub:st91 a nt:OptionalStatement;
  rdf:object sub:domain;
  rdf:predicate dct:subject;
  rdf:subject sub:fdo .

sub:st92 rdf:object sub:publisher;
  rdf:predicate dct:publisher;
  rdf:subject sub:fdo .

sub:st95 a nt:OptionalStatement;
  rdf:object sub:fip;
  rdf:predicate <https://w3id.org/fair/fip/terms/implements>;
  rdf:subject sub:fdo .

sub:st_a a nt:OptionalStatement;
  rdf:object sub:gisaidAccession;
  rdf:predicate mac:hasGISAIDAccession;
  rdf:subject sub:fdo .

sub:st_f2a rdf:object <https://doi.org/10.3389/fbinf.2025.1634111>;
  rdf:predicate dct:references;
  rdf:subject sub:fdo .

sub:st_f2p rdf:object <https://doi.org/10.71728/hw56-vj34>;
  rdf:predicate dct:source;
  rdf:subject sub:fdo .

sub:st_g rdf:object sub:gisaidSeqId;
  rdf:predicate mac:hasGISAIDSeqId;
  rdf:subject sub:fdo .

sub:st_m rdf:object sub:macSeqId;
  rdf:predicate mac:hasMACSeqId;
  rdf:subject sub:fdo .

sub:st_p rdf:object sub:pangoLineage;
  rdf:predicate mac:hasPangoLineage;
  rdf:subject sub:fdo .

sub:st_pp rdf:object sub:project;
  rdf:predicate dct:isPartOf;
  rdf:subject sub:fdo .

sub:st_s rdf:object sub:rbdSequence;
  rdf:predicate mac:hasRBDSequence;
  rdf:subject sub:fdo .

sub:st_u rdf:object <https://www.uniprot.org/uniprot/P0DTC2>;
  rdf:predicate mac:hasParentProtein;
  rdf:subject sub:fdo .

sub:st_w rdf:object sub:whoVariantName;
  rdf:predicate mac:hasWHOVariantName;
  rdf:subject sub:fdo .

sub:whoVariantName a nt:LiteralPlaceholder;
  rdfs:label "WHO variant name (e.g. \"Alpha\", \"Epsilon\", \"Eta\")" .

mac:SpikeRBDVariant rdfs:label "Spike RBD Variant" .

mac:hasGISAIDAccession rdfs:label "has GISAID accession number" .

mac:hasGISAIDSeqId rdfs:label "has GISAID seq_id (full Spike notation)" .

mac:hasMACSeqId rdfs:label "has MAC seq_id (RBD notation)" .

mac:hasPangoLineage rdfs:label "has Pango lineage" .

mac:hasParentProtein rdfs:label "has parent protein" .

mac:hasRBDSequence rdfs:label "has RBD amino acid sequence (one-letter code, 195 residues)" .

mac:hasWHOVariantName rdfs:label "has WHO variant name" .

<https://www.iana.org/assignments/media-types/application/trig> rdfs:label "TriG (RDF named-graph serialization)" .

<https://www.uniprot.org/uniprot/P0DTC2> rdfs:label "wild-type SARS-CoV-2 Spike (UniProt P0DTC2)" .

<https://www.w3.org/ns/dcat#accessURL> rdfs:label "has access URL" .

<https://www.w3.org/ns/dcat#contactPoint> rdfs:label "has contact point" .

sub:sig npx:hasAlgorithm "RSA";
  npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3w/IUb755GIzp3ueODYkgELhyq4Clygb5Kspge50xo+n8uC/IvXwi+ukRjEpdfX/JZ09yKUCJ2AMMr/QchrsP1Xhg9Q3fEZ4E12XqFd5jX00Qs0K5XZwjBaV8NdDTJW9I4gpcyh0cry7hSBAWHkXEkqbK+lQvR4UFAKejFq6u/wIDAQAB";
  npx:hasSignature "vwHiy1TSeI8bbTtTx236cIDuIKyWBWMX9kA12FrWbgTM/qx/K30TaQ7YqEm4jqAVFNFRyr9O0CB1gQiuH1LZHOBwt71JL1iZHOkrVi8M+aKXGYPVsJtk2e4drJTyQ1CH/H6/0CUsy+rCO4jdm0fbwElM46zHlbve4P0A7qMQ5M0=";
  npx:hasSignatureTarget <https://w3id.org/np/RADOnITa1gjGIQtuENvlB2I7hykzrASzake1bIjGLiAtM>;
  npx:signedBy orcid:0000-0001-8888-635X .

