https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/Head https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://www.nanopub.org/nschema#hasAssertion https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/assertion https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://www.nanopub.org/nschema#hasProvenance https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/provenance https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://www.nanopub.org/nschema#hasPublicationInfo https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/pubinfo https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.nanopub.org/nschema#Nanopublication https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/assertion https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/get-fsr-typology-svg http://purl.org/dc/terms/description Returns a single result row with one 'svg' column holding a complete SVG document rendering the FSR typology of the FAIR Implementation Profile (FIP) Ontology, computed dynamically from the published class definitions. This is the query behind the 'FSR typology' SVG view (gen:SvgView) and is specific to the FIP Ontology: it mirrors the hand-drawn FSR typology diagram with three fixed columns headed by FAIR Data Policy, FAIR Specification, and FAIR Supporting Technology, listing each column's subclasses (and their subclasses, indented) as boxes hanging off a vertical spine with a subtype triangle. Classes that are also FAIR-Enabling Resources (directly, or via their parent for nested entries) get a gray background; a legend below the columns explains the FSR/FER distinction. Box labels link root-relatively (/part?id=...) so they resolve inside the rendering Nanodash instance, which appends the page context; labels are shown in full. Box labels are shown in full, wrapping to two lines when needed. Each class that declares the FAIR (sub-)principles it enables (fip:enables, present in the legacy per-term nanopubs, fetched via a federated lookup on the full repo) gets a badge box attached on the right, as in the hand-drawn original; each principle code links to the principle's IRI. The FSR/FER legend boxes link to their class terms likewise. Link text carries a neutral fill that the rendering page's stylesheet overrides with its own link colors. Positions are computed via rank subqueries, so the output is deterministic. The 'resource' parameter (the ontology) is used to derive the class namespace filter. https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/get-fsr-typology-svg http://purl.org/dc/terms/license http://www.apache.org/licenses/LICENSE-2.0 https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/get-fsr-typology-svg http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://w3id.org/kpxl/grlc/grlc-query https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/get-fsr-typology-svg http://www.w3.org/2000/01/rdf-schema#label Get FSR typology diagram as SVG https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/get-fsr-typology-svg https://w3id.org/kpxl/grlc/endpoint https://w3id.org/np/l/nanopub-query-1.1/repo/type/e8cc5bb29ec5597303f8f101c65c545dc124ee0df68ce733764b03adc3237184 https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/get-fsr-typology-svg https://w3id.org/kpxl/grlc/sparql prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix owl: <http://www.w3.org/2002/07/owl#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix xsd: <http://www.w3.org/2001/XMLSchema#> select (concat( '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 860 ', str(96 + max(?iy) * 38 + 24 + 132), '" width="860" height="', str(96 + max(?iy) * 38 + 24 + 132), '" font-family="sans-serif">', group_concat(?frag; separator=""), '<g transform="translate(20,', str((96 + max(?iy) * 38 + 24)), ')">','<rect width="480" height="116" fill="none" stroke="#444" stroke-dasharray="6 4"></rect>','<a href="/part?id=https%3A%2F%2Fw3id.org%2Ffair%2Ffip%2Fterms%2FFAIR-Supporting-Resource"><rect x="16" y="14" width="180" height="30" fill="#ffffff" stroke="#444"></rect>','<text x="106" y="33" text-anchor="middle" font-size="10" font-weight="bold" fill="#111">FAIR Supporting Resource (FSR)</text></a>','<path d="M 41 44 L 36 54 L 46 54 Z" fill="#ffffff" stroke="#444"></path>','<line x1="41" y1="54" x2="41" y2="72" stroke="#444"></line>','<a href="/part?id=https%3A%2F%2Fw3id.org%2Ffair%2Ffip%2Fterms%2FFAIR-Enabling-Resource"><rect x="32" y="72" width="180" height="30" fill="#d8d8d8" stroke="#444"></rect>','<text x="122" y="91" text-anchor="middle" font-size="10" font-weight="bold" fill="#111">FAIR-Enabling Resource (FER)</text></a>','<text x="228" y="28" font-size="10" fill="#111">','<tspan x="228" y="28">All resources in this typology are</tspan>','<tspan x="228" y="42">FAIR Supporting Resources (FSR), but</tspan>','<tspan x="228" y="56">the FAIR-Enabling Resources (FER,</tspan>','<tspan x="228" y="70">gray background) among them are</tspan>','<tspan x="228" y="84">essential for the FAIR Principles.</tspan>','</text></g>', '</svg>') as ?svg) where { # --- one row per rendered box, with rank ?iy inside its column { select ?b ?bx ?c ?clbl ?ind ?fer (count(*) as ?iy) where { { { { select ?b ?bx ?c (coalesce(min(?lu1), min(?la1), replace(str(?c), "^.*[/#]", "")) as ?clbl) where { values (?b ?bx) { (<https://w3id.org/fair/fip/terms/FAIR-Data-Policy> 0) (<https://w3id.org/fair/fip/terms/FAIR-Specification> 1) (<https://w3id.org/fair/fip/terms/FAIR-Supporting-Technology> 2) } graph npa:graph { ?np1 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pk1 ; npx:introduces ?c ; np:hasAssertion ?a1 . filter not exists { ?npi1 npx:invalidates ?np1 ; npa:hasValidSignatureForPublicKeyHash ?pk1 . } } graph ?a1 { ?c a owl:Class ; rdfs:subClassOf ?b . optional { ?c rdfs:label ?lu1 . filter(lang(?lu1) = "") } optional { ?c rdfs:label ?la1 . } } filter(strstarts(str(?c), replace(str(?_resource_iri), "[^/#]*$", ""))) } group by ?b ?bx ?c } bind(0 as ?ind) bind(concat(?clbl, "|", str(?c)) as ?sk) bind(if(exists { graph npa:graph { ?npf2 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pkf2 ; npx:introduces ?c ; np:hasAssertion ?af2 . filter not exists { ?npfi2 npx:invalidates ?npf2 ; npa:hasValidSignatureForPublicKeyHash ?pkf2 . } } graph ?af2 { ?c rdfs:subClassOf <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource> . } }, 1, 0) as ?fer) } union { { select ?b ?bx ?m ?c (coalesce(min(?lu2), min(?la2), replace(str(?m), "^.*[/#]", "")) as ?mlbl) (coalesce(min(?lu3), min(?la3), replace(str(?c), "^.*[/#]", "")) as ?clbl) where { values (?b ?bx) { (<https://w3id.org/fair/fip/terms/FAIR-Data-Policy> 0) (<https://w3id.org/fair/fip/terms/FAIR-Specification> 1) (<https://w3id.org/fair/fip/terms/FAIR-Supporting-Technology> 2) } graph npa:graph { ?np3 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pk3 ; npx:introduces ?m ; np:hasAssertion ?a3 . filter not exists { ?npi3 npx:invalidates ?np3 ; npa:hasValidSignatureForPublicKeyHash ?pk3 . } } graph ?a3 { ?m a owl:Class ; rdfs:subClassOf ?b . optional { ?m rdfs:label ?lu2 . filter(lang(?lu2) = "") } optional { ?m rdfs:label ?la2 . } } filter(strstarts(str(?m), replace(str(?_resource_iri), "[^/#]*$", ""))) graph npa:graph { ?np4 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pk4 ; npx:introduces ?c ; np:hasAssertion ?a4 . filter not exists { ?npi4 npx:invalidates ?np4 ; npa:hasValidSignatureForPublicKeyHash ?pk4 . } } graph ?a4 { ?c a owl:Class ; rdfs:subClassOf ?m . optional { ?c rdfs:label ?lu3 . filter(lang(?lu3) = "") } optional { ?c rdfs:label ?la3 . } } filter(strstarts(str(?c), replace(str(?_resource_iri), "[^/#]*$", ""))) } group by ?b ?bx ?m ?c } bind(1 as ?ind) bind(concat(?mlbl, "~|", ?clbl, "|", str(?c)) as ?sk) bind(if(exists { graph npa:graph { ?npf5 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pkf5 ; npx:introduces ?c ; np:hasAssertion ?af5 . filter not exists { ?npfi5 npx:invalidates ?npf5 ; npa:hasValidSignatureForPublicKeyHash ?pkf5 . } } graph ?af5 { ?c rdfs:subClassOf <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource> . } } || exists { graph npa:graph { ?npf6 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pkf6 ; npx:introduces ?m ; np:hasAssertion ?af6 . filter not exists { ?npfi6 npx:invalidates ?npf6 ; npa:hasValidSignatureForPublicKeyHash ?pkf6 . } } graph ?af6 { ?m rdfs:subClassOf <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource> . } }, 1, 0) as ?fer) } } { select distinct (?b as ?bR) (?sk as ?skR) where { { { select ?b ?bx ?c (coalesce(min(?lu1), min(?la1), replace(str(?c), "^.*[/#]", "")) as ?clbl) where { values (?b ?bx) { (<https://w3id.org/fair/fip/terms/FAIR-Data-Policy> 0) (<https://w3id.org/fair/fip/terms/FAIR-Specification> 1) (<https://w3id.org/fair/fip/terms/FAIR-Supporting-Technology> 2) } graph npa:graph { ?np7 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pk7 ; npx:introduces ?c ; np:hasAssertion ?a7 . filter not exists { ?npi7 npx:invalidates ?np7 ; npa:hasValidSignatureForPublicKeyHash ?pk7 . } } graph ?a7 { ?c a owl:Class ; rdfs:subClassOf ?b . optional { ?c rdfs:label ?lu1 . filter(lang(?lu1) = "") } optional { ?c rdfs:label ?la1 . } } filter(strstarts(str(?c), replace(str(?_resource_iri), "[^/#]*$", ""))) } group by ?b ?bx ?c } bind(0 as ?ind) bind(concat(?clbl, "|", str(?c)) as ?sk) bind(if(exists { graph npa:graph { ?npf8 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pkf8 ; npx:introduces ?c ; np:hasAssertion ?af8 . filter not exists { ?npfi8 npx:invalidates ?npf8 ; npa:hasValidSignatureForPublicKeyHash ?pkf8 . } } graph ?af8 { ?c rdfs:subClassOf <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource> . } }, 1, 0) as ?fer) } union { { select ?b ?bx ?m ?c (coalesce(min(?lu2), min(?la2), replace(str(?m), "^.*[/#]", "")) as ?mlbl) (coalesce(min(?lu3), min(?la3), replace(str(?c), "^.*[/#]", "")) as ?clbl) where { values (?b ?bx) { (<https://w3id.org/fair/fip/terms/FAIR-Data-Policy> 0) (<https://w3id.org/fair/fip/terms/FAIR-Specification> 1) (<https://w3id.org/fair/fip/terms/FAIR-Supporting-Technology> 2) } graph npa:graph { ?np9 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pk9 ; npx:introduces ?m ; np:hasAssertion ?a9 . filter not exists { ?npi9 npx:invalidates ?np9 ; npa:hasValidSignatureForPublicKeyHash ?pk9 . } } graph ?a9 { ?m a owl:Class ; rdfs:subClassOf ?b . optional { ?m rdfs:label ?lu2 . filter(lang(?lu2) = "") } optional { ?m rdfs:label ?la2 . } } filter(strstarts(str(?m), replace(str(?_resource_iri), "[^/#]*$", ""))) graph npa:graph { ?np10 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pk10 ; npx:introduces ?c ; np:hasAssertion ?a10 . filter not exists { ?npi10 npx:invalidates ?np10 ; npa:hasValidSignatureForPublicKeyHash ?pk10 . } } graph ?a10 { ?c a owl:Class ; rdfs:subClassOf ?m . optional { ?c rdfs:label ?lu3 . filter(lang(?lu3) = "") } optional { ?c rdfs:label ?la3 . } } filter(strstarts(str(?c), replace(str(?_resource_iri), "[^/#]*$", ""))) } group by ?b ?bx ?m ?c } bind(1 as ?ind) bind(concat(?mlbl, "~|", ?clbl, "|", str(?c)) as ?sk) bind(if(exists { graph npa:graph { ?npf11 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pkf11 ; npx:introduces ?c ; np:hasAssertion ?af11 . filter not exists { ?npfi11 npx:invalidates ?npf11 ; npa:hasValidSignatureForPublicKeyHash ?pkf11 . } } graph ?af11 { ?c rdfs:subClassOf <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource> . } } || exists { graph npa:graph { ?npf12 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pkf12 ; npx:introduces ?m ; np:hasAssertion ?af12 . filter not exists { ?npfi12 npx:invalidates ?npf12 ; npa:hasValidSignatureForPublicKeyHash ?pkf12 . } } graph ?af12 { ?m rdfs:subClassOf <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource> . } }, 1, 0) as ?fer) } } } filter(?bR = ?b && ?skR <= ?sk) } group by ?b ?bx ?c ?clbl ?ind ?fer } # --- root labels from their own definition nanopubs { select ?b (coalesce(min(?blu), min(?bla), replace(str(?b), "^.*[/#]", "")) as ?blbl) where { values ?b { <https://w3id.org/fair/fip/terms/FAIR-Data-Policy> <https://w3id.org/fair/fip/terms/FAIR-Specification> <https://w3id.org/fair/fip/terms/FAIR-Supporting-Technology> } graph npa:graph { ?np900 npx:hasNanopubType owl:Class ; npa:hasValidSignatureForPublicKeyHash ?pk900 ; npx:introduces ?b ; np:hasAssertion ?a900 . filter not exists { ?npi900 npx:invalidates ?np900 ; npa:hasValidSignatureForPublicKeyHash ?pk900 . } } graph ?a900 { ?b a owl:Class . optional { ?b rdfs:label ?blu . filter(lang(?blu) = "") } optional { ?b rdfs:label ?bla . } } } group by ?b } # --- FAIR (sub-)principle badges from fip:enables (only present in the legacy # per-term nanopubs, hence the federated lookup on the full repo; subjects of # the legacy form …/fair/fip/np/<Term>/RA… are normalized to the term IRI) optional { { select ?c (group_concat(distinct replace(str(?prE), "^.*[/#]", ""); separator=" ") as ?codes) (group_concat(distinct concat('<a href="', replace(replace(replace(str(?prE), "&", "&amp;"), "<", "&lt;"), ">", "&gt;"), '"><tspan>', replace(str(?prE), "^.*[/#]", ""), '</tspan></a>'); separator="<tspan>&#160;</tspan>") as ?codesFrag) where { service <https://w3id.org/np/l/nanopub-query-1.1/repo/full> { graph ?gE { ?cE0 <https://w3id.org/fair/fip/terms/enables> ?prE . } } bind(if(strstarts(str(?cE0), "https://w3id.org/fair/fip/np/"), iri(concat("https://w3id.org/fair/fip/terms/", replace(str(?cE0), "^https://w3id.org/fair/fip/np/([^/]+)/.*$", "$1"))), ?cE0) as ?c) } group by ?c } } bind(20 + ?bx * 280 as ?colX) bind(?colX + 24 as ?spineX) bind(96 + (?iy - 1) * 38 as ?boxY) bind(?boxY + 15 as ?midY) bind(?colX + 38 + ?ind * 14 as ?boxX) bind(175 - ?ind * 14 as ?boxW) bind(if(?fer = 1, "#d8d8d8", "#ffffff") as ?boxFill) # column header (root box + subtype triangle), attached to the first item row bind(if(?iy = 1, concat( '<a href="/part?id=', encode_for_uri(str(?b)), '"><rect x="', str(?colX + 16), '" y="20" width="200" height="36" fill="#ffffff" stroke="#444"></rect>', '<text x="', str(?colX + 116), '" y="42" text-anchor="middle" font-size="11" font-weight="bold" fill="#111">', replace(replace(replace(?blbl, "&", "&amp;"), "<", "&lt;"), ">", "&gt;"), '</text></a>', '<path d="M ', str(?spineX - 5), ' 66 L ', str(?spineX), ' 56 L ', str(?spineX + 5), ' 66 Z" fill="#ffffff" stroke="#444"></path>' ), '') as ?headerFrag) # two-line wrap for labels wider than the box: break at the last space in the # first 21 characters (balanced split); labels are shown in full, no truncation bind(strlen(?clbl) > 30 && regex(?clbl, "^.{1,20}\\s") as ?wrap) bind(if(?wrap, replace(?clbl, "^(.{1,20})\\s.*$", "$1"), ?clbl) as ?l1) bind(if(?wrap, replace(?clbl, "^.{1,20}\\s", ""), "") as ?l2) bind(if(bound(?codes) && ?codes != "", concat( '<rect x="', str(?boxX + ?boxW), '" y="', str(?boxY + 7), '" width="', str(12 + strlen(?codes) * 5), '" height="16" fill="#ffffff" stroke="#444"></rect>', '<text x="', str(?boxX + ?boxW + (12 + strlen(?codes) * 5) / 2), '" y="', str(?boxY + 19), '" text-anchor="middle" font-size="9" fill="#111">', ?codesFrag, '</text>' ), '') as ?badgeFrag) bind(concat( ?headerFrag, '<line x1="', str(?spineX), '" y1="', str(if(?iy = 1, 66, ?midY - 38)), '" x2="', str(?spineX), '" y2="', str(?midY), '" stroke="#444"></line>', '<line x1="', str(?spineX), '" y1="', str(?midY), '" x2="', str(?boxX), '" y2="', str(?midY), '" stroke="#444"></line>', '<a href="/part?id=', encode_for_uri(str(?c)), '">', '<rect x="', str(?boxX), '" y="', str(?boxY), '" width="', str(?boxW), '" height="30" fill="', ?boxFill, '" stroke="#444"></rect>', if(?l2 = "", concat('<text x="', str(?boxX + ?boxW / 2), '" y="', str(?boxY + 19), '" text-anchor="middle" font-size="10" fill="#111">', replace(replace(replace(?clbl, "&", "&amp;"), "<", "&lt;"), ">", "&gt;"), '</text>'), concat('<text x="', str(?boxX + ?boxW / 2), '" y="', str(?boxY + 13), '" text-anchor="middle" font-size="10" fill="#111">', replace(replace(replace(?l1, "&", "&amp;"), "<", "&lt;"), ">", "&gt;"), '<tspan x="', str(?boxX + ?boxW / 2), '" y="', str(?boxY + 25), '">', replace(replace(replace(?l2, "&", "&amp;"), "<", "&lt;"), ">", "&gt;"), '</tspan></text>')), '</a>', ?badgeFrag ) as ?frag) } https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/provenance https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/assertion http://www.w3.org/ns/prov#wasAttributedTo https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/pubinfo https://orcid.org/0000-0002-1267-0234 http://xmlns.com/foaf/0.1/name Tobias Kuhn https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://purl.org/dc/terms/created 2026-08-11T14:31:47Z https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://purl.org/dc/terms/creator https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://purl.org/dc/terms/license https://creativecommons.org/licenses/by/4.0/ https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://purl.org/nanopub/x/embeds https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/get-fsr-typology-svg https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://purl.org/nanopub/x/supersedes https://w3id.org/np/RAs068zJLxsYNgSSPg10tka4yosiLJlHoB_aZLoM9Ebq8 https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 http://www.w3.org/2000/01/rdf-schema#label Get FSR typology diagram as SVG https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8 https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/sig http://purl.org/nanopub/x/hasAlgorithm RSA https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/sig http://purl.org/nanopub/x/hasPublicKey MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/sig http://purl.org/nanopub/x/hasSignature OW06UFehymzA3zomaGsEPeOITwKdTpdDFyzXVqfADI4YWnUA4WbTYVhin3HSmognK6fcp84YcyjPBlhGRjgGMpwRMvYMHqryXwWq7bcNfMyXvZmJuCzkkOIrGXVLWxmMDkBGy69Ov95FrxK7bARtDxUJ+RXS+9dhPRS00k5QXxw= https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/sig http://purl.org/nanopub/x/hasSignatureTarget https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4 https://w3id.org/np/RAl9jT6FY8TLBZ55INeMtmdXO0E5M9xjeRl0hSqR_LUB4/sig http://purl.org/nanopub/x/signedBy https://orcid.org/0000-0002-1267-0234