@prefix this: . @prefix sub: . @prefix schema: . @prefix gen: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:paragraph a gen:Paragraph; schema:about nt:NanopubTemplate; schema:title "Settings for the whole template"; gen:hasContent """

Besides its statements, a template can declare a few things about itself. nt:hasTag gives the heading under which it is listed. nt:hasNanopubLabelPattern is a pattern like ${title} that names each published nanopublication after one of its fields. nt:hasTargetNanopubType gives one or more types that every nanopublication made from the template is marked with, which is how such nanopublications can later be found as a group.

Two settings reach into the other parts of the form: nt:hasDefaultProvenance names the provenance template the form opens with, and nt:hasRequiredPubinfoElement names publication-info templates that are always included, so that a form never lacks a particular piece of metadata.

"""; gen:hasPositionString "120" . } sub:provenance { sub:assertion prov:wasAttributedTo . } sub:pubinfo { this: dct:created "2026-09-10T10:15:50Z"^^xsd:dateTime; dct:creator ; dct:license ; npx:introduces sub:paragraph; rdfs:label "Settings for the whole template"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB"; npx:hasSignature "A0Sb1L72ElSB+HDfohy3sce3EMvcD0bLZOBpUEXNjmN/P4y+c61TubG9dZZe/SBUNRTyhbWcQZBpuUyxUqmmlGekxJooGMc7t2CKhJJL8SewnhSQRzDgEDJw14+PArYQNn9p+5NuKcWSiYf3rxy3QDpLEKcG0xW5MbBgx0o3RYyPDP1Dt0Q85sQQuyVaHngmUmAkcMbFyH+kEDx2qHPg7qK3nurBIBGt1JHuiBdr2yJrd3zzjMAObODZjWNp3FGxiN0yI8J29aFIQ+8zZiIiyb0FhkA+2hCSK0fqXkmoiB7ScvgIO7/iXh1S0JCAwNQHRAsdMMoVENpbMxvHf1jmbg=="; npx:hasSignatureTarget this:; npx:signedBy . }