@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 ; schema:title "Combining repositories"; gen:hasContent """

A query on one repository can consult another with a federated service clause, typically to filter content by space membership: fetch the members from spaces, then keep only the rows whose publisher is among them. Such a clause is best written as a self-contained sub-query sharing no variables with the rest, so it runs once rather than once per row.

In a query template the repository is named with the generic address https://w3id.org/np/l/nanopub-query-1.1/repo/…, which resolves to whichever instance answers, never with the name of one server.

"""; gen:hasPositionString "050" . } sub:provenance { sub:assertion prov:wasAttributedTo . } sub:pubinfo { this: dct:created "2026-09-10T12:16:34Z"^^xsd:dateTime; dct:creator ; dct:license ; npx:introduces sub:paragraph; rdfs:label "Combining repositories"; 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 "jqQWDuv2wkppYvpgFWjO6zF4UEJwOR19SjIUc+Ew76erws8KonPDSMgJvAOM32f6sVK/SMpGX7yUaII+aJW3dV6UKztW0m0jAyGCchj2dE3mOFW4sar6DdaSyQQX1bZS/MPQfd080Uigztec3BeP+/ZoBtBKFHoqoyRSpiZ0qAtNNAijSKv3a5uQ6vrp+orhuGn+HNk55hBobm6zcw6ibhesbz3VpLfdQ71MsZIvSWXG2P8abo5040nXXA/15KskXORatTyKLFUaoj/hsScdG+BWkTlRos+HT/W5ifRtYYfGQeTj/mn4og3i3O89VWOtGn2VYvKHkJUU3ibasIKldA=="; npx:hasSignatureTarget this:; npx:signedBy . }