@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix rdf: . @prefix nt: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix mac: . @prefix npx: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { 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" . rdfs:label "Attribution 4.0 International (CC BY 4.0)" . rdfs:label "FAIR² data article (Frontiers in Bioinformatics)" . rdfs:label "FAIR² Data Package DOI" . rdfs:label "implements" . rdfs:label "FAIR Digital Object (FDO)" . rdfs:label "has format" . rdfs:label "has its metadata in" . 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" . 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 . 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 ; 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 ; rdf:subject sub:fdo . sub:st5 rdf:object sub:fdo; rdf:predicate ; rdf:subject nt:NANOPUB . sub:st5b rdf:object ; rdf:predicate ; rdf:subject nt:NANOPUB . sub:st5c rdf:object ; rdf:predicate dct:license; rdf:subject nt:NANOPUB . sub:st5d rdf:object nt:NANOPUB; rdf:predicate ; 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 ; 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 ; 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 ; rdf:predicate dct:references; rdf:subject sub:fdo . sub:st_f2p rdf:object ; 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 ; 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" . rdfs:label "TriG (RDF named-graph serialization)" . rdfs:label "wild-type SARS-CoV-2 Spike (UniProt P0DTC2)" . rdfs:label "has access URL" . rdfs:label "has contact point" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8888-635X . } sub:pubinfo { this: dct:created "2026-05-27T09:54:53Z"^^xsd:dateTime; dct:creator orcid:0000-0001-8888-635X; dct:license ; rdfs:label "Template: Declaring a Spike RBD Variant (MAC FDT Type 1)"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . 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 this:; npx:signedBy orcid:0000-0001-8888-635X . }