@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 npx:hasNanopubType; schema:title "How types are found"; gen:hasContent "

Types are read off the nanopublication itself, so nothing needs registering. A type stated on the nanopublication in its publication info counts, whether as a plain type or with npx:hasNanopubType. So does every type of a thing the nanopublication introduces, describes or embeds, and every type of its assertion. Two shortcuts cover simple assertions: if all statements have the same subject, that subject's types count, and if all use the same predicate, that predicate itself becomes the type — which is why a one-statement nanopublication saying \"X is relevant for Y\" is filed under \"is relevant for\".

"; gen:hasPositionString "020" . } sub:provenance { sub:assertion prov:wasAttributedTo . } sub:pubinfo { this: dct:created "2026-09-10T12:16:50Z"^^xsd:dateTime; dct:creator ; dct:license ; npx:introduces sub:paragraph; rdfs:label "How types are found"; 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 "W80HIrCi3QpVkHC0eXgszBoTvkhL45QeeBXFaaH7HsIGdvIQIvT0i1P5tRheyJ3jtRwzDgg8xD2sKxa38ldVaZrNiMhzvrsMrhkSAG8eBuuBthIVzHGZcjnn4RYapzWdjBUryuVueVeDvPrGGalE7BUBsIAhfCb9Bp5wVmUF3J8y3+pjhQgN8UAWH3S382iPQ2EN32Ki0AxBcnArRb01KcMMHOIL0SoUbEqN311buc9fizZ+lAhc6yVXUXFmoAuisbvsXOBm6ImnIi/gGxk28/bpUaKAFf1gtA9US4ZomqWv0W7RAJ0FTYcRmBN/ot6HneRSyAbgEIjVC8L+Bil2yA=="; npx:hasSignatureTarget this:; npx:signedBy . }