@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix rdf: . @prefix nt: . @prefix xsd: . @prefix skos: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix foaf: . @prefix npx: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:altlabel a nt:LiteralPlaceholder; rdfs:label "alternative label"; nt:hasLanguageTag "en" . sub:assertion a nt:AssertionTemplate, nt:UnlistedTemplate; dct:description "Demo template for the language-tag picker on literal placeholders (nanodash PR #559). It shows all cases: 'name' has a restricted picker (en/de/fr) with default en and is repeatable (one name per language); 'comment' has an unrestricted picker with free BCP 47 entry (e.g. en-GB) and, being optional, demonstrates that entering text without picking a language blocks submission; 'description' shows the picker on a long-literal textarea; 'alternative label' has a fixed en tag for contrast (no picker)."; rdfs:label "Example: Multilingual descriptions (language-tag picker demo)"; nt:hasNanopubLabelPattern "Example: multilingual descriptions of ${thing}"; nt:hasStatement sub:st1, sub:st2, sub:st3, sub:st4 . sub:comment a nt:LanguageTaggedLiteralPlaceholder, nt:LiteralPlaceholder; rdfs:label "comment" . sub:description a nt:LanguageTaggedLiteralPlaceholder, nt:LongLiteralPlaceholder; rdfs:label "description" . sub:name a nt:LanguageTaggedLiteralPlaceholder, nt:LiteralPlaceholder; rdfs:label "name"; nt:hasLanguageTag "en"; nt:possibleLanguageTag "de", "en", "fr" . sub:st1 a nt:RepeatableStatement; rdf:object sub:name; rdf:predicate rdfs:label; rdf:subject sub:thing; nt:statementOrder "1"^^xsd:integer . sub:st2 a nt:OptionalStatement; rdf:object sub:comment; rdf:predicate rdfs:comment; rdf:subject sub:thing; nt:statementOrder "2"^^xsd:integer . sub:st3 a nt:OptionalStatement; rdf:object sub:description; rdf:predicate dct:description; rdf:subject sub:thing; nt:statementOrder "3"^^xsd:integer . sub:st4 a nt:OptionalStatement; rdf:object sub:altlabel; rdf:predicate skos:altLabel; rdf:subject sub:thing; nt:statementOrder "4"^^xsd:integer . sub:thing a nt:UriPlaceholder; rdfs:label "thing being described" . } 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-07-15T06:56:50Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "MdAvVOCEAU/eMA3CVH7Q+UF5Y2hQ12JVUHg8Eg0F4bh+K3q8uwLojtT/gB+tyWKH3cIcpnXjOFQBgy1Z5tOHPVx4vkrbda/mHAoBmZf3LC9UxozeneU5bfTJECRb3xnd8rx9rFRtRPsg+MflbcJS6ECCrENpx1plIfQYDo03ZAs="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }