@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @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 { a ; ; "extended grlc syntax for multi-value placeholders"; """

Nanopublication query templates extend grlc by supporting placeholders that can have more than one value. Those have the suffix of \"_multi_iri\" (for IRIs) or just \"_multi\" (for literals). Importantly, they only work if there is at least one occurrence of a \"values\" statement like \"values ?_resource_multi_iri {}\", which indicates where the values are filled in. These multi-value placeholders take 1 or more IRIs/literals.

This feature can be combined with optional placeholders, starting with two underscores like \"?__resource_multi_iri\", which can be filled with zero or more IRIs/literals.

""" . } 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 "2026-01-21T15:36:09.433Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces ; npx:wasCreatedAt ; rdfs:label "extended grlc syntax for multi-value placeholders"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "SlUtBt0QjwinpEjHAvC/Uu3caa93Ivg/8vVfj/6eBXmCcDG4/eBPhJ4BB6CE82sZk6K1isNco1jqqwzeoWozr5er+js4etvnL1C88h9Iw6UilgjW+33w9egaMB+zHtJaPbBwfIl/OCid1V49S9KXfPMiH3ySU1UKTBdAp2/7dnk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }