@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-fip-decl-details a ; dct:description "This query returns the details of all FIP declarations, including schema:version for R-FIP declarations."; dct:license ; rdfs:label "Get FIP declaration details"; ; """prefix rdfs: prefix fip: prefix dct: prefix dce: prefix npa: prefix npx: prefix np: prefix dcat: prefix schema: select ?decl_np ?community ?c ?question ?q ?sort ?nochoice ?decl ?rel ?resource_id_used ?startdate ?enddate ?date ?version where { graph npa:graph { ?decl_np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?decl_np_x npx:invalidates ?decl_np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?decl_np npx:hasNanopubType fip:FIP-Declaration . ?decl_np dct:created ?date . ?decl_np np:hasAssertion ?assertion . } graph ?assertion { ?decl a fip:FIP-Declaration . ?decl fip:refers-to-question ?question . { { ?decl fip:declares-current-use-of ?resource_id_used . bind(fip:declares-current-use-of as ?rel) } union { ?decl fip:declares-planned-use-of ?resource_id_used . bind(fip:declares-planned-use-of as ?rel) } union { ?decl fip:declares-planned-replacement-of ?resource_id_used . bind(fip:declares-planned-replacement-of as ?rel) } union { ?decl fip:declares-replacement-from ?resource_id_used . bind(fip:declares-replacement-from as ?rel) } union { ?decl fip:declares-replacement-to ?resource_id_used . bind(fip:declares-replacement-to as ?rel) } } # grlc gives an error for some reason if these two optional statements are at the end of the graph block: optional { ?decl dcat:startDate ?startdate . } optional { ?decl dcat:endDate ?enddate . } ?decl fip:declared-by ?community . optional { ?decl schema:version ?version . } } bind (replace(str(?community), \".*[#/]\", \"\") as ?c) bind (replace(str(?supercommunity), \".*[#/]\", \"\") as ?sc) bind (replace(str(?question), \"^.*-([^-MD]+(-[MD]+)?)$\", \"$1\") as ?q) bind (concat(replace(?q, \"F|M\", \"0\"), \"x\") as ?sort) bind (\"\" as ?nochoice) }""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { this: dct:created "2026-06-05T12:38:39Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-fip-decl-details; npx:supersedes ; rdfs:label "Get FIP declaration details"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "ICl0RIKYrcyM8PBPLAmF7V4sys5kDpim3C5XDtwuLISRaznJD6DoMnQPua1h+e3X//dIiXJ4cOY1oXqkx4JYL/od+bld7mnfWwLKdffTNmvVZDaOqyLYyk9hwUZtqosGifK5Xsqz9AHlkvqfncsJ+G68oGsWd6rPsyaYTlSuM6g="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-fip-supercommunities a ; dct:description "This query returns a list of all FIP communities that have supercommunities."; dct:license ; rdfs:label "Get FIP supercommunities"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix fip: select distinct ?community (group_concat(distinct ?supercommunity; separator=\" \") as ?supercommunities) (group_concat(distinct ?sc; separator=\" \") as ?sc) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npx:hasNanopubType fip:FAIR-Implementation-Community . ?np (npx:introduces|npx:describes) ?community . ?np np:hasAssertion ?a . } graph ?a { ?community dct:isPartOf ?supercommunity . } optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # for some reason this is much faster than \"filter not exists\" bind(replace(str(?supercommunity), \".*[#/]\", \"\") as ?sc) } group by ?community""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234; prov:wasDerivedFrom . } sub:pubinfo { orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2026-06-05T12:38:39Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-fip-supercommunities; rdfs:label "Get FIP supercommunities"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "m/q+bEQQ2VGu90ewmU1r6i9fRJhYG+/7STgpuRDkVu4kzxLWBm44KzZR7YPlsQGW3R+RXaM06924It+ygBPyYhRG5WCceqJpqabVZelMW//t9UQBlmkWkd8fL0NjysbJeKE07e/ZhEsU2ukYXA7C7waNCTIvcCKeIt8G+1GTsKQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-view-displays a ; dct:description "Returns the views to display for a given resource: both standalone view displays and the views contributed by assigned presets (issue #302), unioned and ordered by date so latest-wins override resolution holds across both. Filtered server-side to declarations signed by an admin or maintainer of the owning space, or by the affected user themselves (for an agent's own page). Each referenced view is resolved to its latest version by following the npx:supersedes chain: among the version tree's current heads (nanopubs that are themselves neither superseded nor validly retracted via npx:invalidates), the most recent is chosen, so ?view is the latest non-retracted view definition (no separate latest-version lookup needed by the client). Choosing a current head rather than the max-timestamp node makes resolution robust to backdated supersedes and to retracted versions. Preset-derived rows have an unbound ?display and carry the resolved ?view plus the assignment's activation mode. The view-version resolution is wrapped in a run-once sub-SELECT so the cross-repo lookup is evaluated once for the whole view set rather than once per referenced view."; dct:license ; rdfs:label "Get view displays"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select distinct ?display ?view (coalesce(?viewKindOptional, ?view) as ?viewKind) ?label ?displayType ?displayMode ?np ?pubkey ?date where { values ?_resource_multi_iri {} service { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . } { graph ?stateG { ?_resource_multi_iri npa:isMaintainedBy? ?space . ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?authAgent ; (npa:inverseProperty|npa:regularProperty) ?roleProp . ?authAcct a npa:AccountState ; npa:agent ?authAgent ; npa:pubkey ?pubkey . } optional { graph npa:spacesGraph { ?rd a npa:RoleDeclaration ; npa:forSpace ?space ; npa:hasRoleType gen:MaintainerRole ; (npa:inverseProperty|npa:regularProperty) ?roleProp . bind(true as ?isMaintainer) } } filter(?roleProp = gen:hasAdmin || bound(?isMaintainer)) } union { graph ?stateG { ?selfAcct a npa:AccountState ; npa:agent ?_resource_multi_iri ; npa:pubkey ?pubkey . } } } { # branch (a): standalone view displays — LOCAL pattern on the endpoint repo graph npa:graph { ?np npx:hasNanopubType gen:ViewDisplay . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:embeds ?display . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } graph ?a { ?display gen:isDisplayOfView ?refView . ?display gen:isDisplayFor ?_resource_multi_iri . optional { values ?displayType { gen:PartLevelViewDisplay gen:TopLevelViewDisplay } ?display a ?displayType . } optional { values ?displayMode { gen:ActivatedViewDisplay gen:DeactivatedViewDisplay } ?display a ?displayMode . } } } union { # branch (b): preset-supplied views — wrapped in a sub-SELECT so the remote # service does not collapse branch (a). ?display stays unbound. select ?refView ?label ?displayType ?displayMode ?np ?pubkey ?date ?_resource_multi_iri { service { graph npa:graph { ?np npx:hasNanopubType gen:PresetAssignment . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:embeds ?assignment . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } graph ?a { ?assignment gen:isAssignmentFor ?_resource_multi_iri . ?assignment gen:isAssignmentOfPreset ?presetRef . optional { values ?displayMode { gen:ActivatedPresetAssignment gen:DeactivatedPresetAssignment } ?assignment a ?displayMode . } } graph npa:graph { ?presetNp npx:embeds ?presetRef ; np:hasAssertion ?pa . } graph ?pa { ?presetRef a gen:Preset . { ?presetRef gen:hasTopLevelView ?refView . bind(gen:TopLevelViewDisplay as ?displayType) } union { ?presetRef gen:hasView ?refView . bind(gen:PartLevelViewDisplay as ?displayType) } } } } } # Resolve each referenced view to its latest version: the current head of its # supersedes version tree (a nanopub itself neither superseded nor validly # retracted via npx:invalidates), most recent among heads on a fork. Wrapped in # a run-once sub-SELECT so this cross-repo service is evaluated once for the # whole view set rather than once per referenced view -- the per-view federation # round-trips were the dominant cost of earlier versions. optional { service { select distinct ?refView ?latestView ?viewKindOptional where { graph npa:graph { ?rnp npx:embeds ?refView ; np:hasAssertion ?ra . } graph ?ra { ?refView a gen:ResourceView . } optional { ?vnp npx:embeds ?refView . ?latestNp (npx:supersedes|^npx:supersedes)* ?vnp ; dct:created ?ldate ; npx:embeds ?latestView ; np:hasAssertion ?va . filter not exists { ?supNp npx:supersedes ?latestNp . } filter not exists { ?invNp npx:invalidates ?latestNp ; npa:hasValidSignatureForPublicKeyHash ?invPk . } filter not exists { ?other (npx:supersedes|^npx:supersedes)* ?vnp ; dct:created ?odate . filter not exists { ?supNp2 npx:supersedes ?other . } filter not exists { ?invNp2 npx:invalidates ?other ; npa:hasValidSignatureForPublicKeyHash ?invPk2 . } filter(?odate > ?ldate) } graph ?va { ?latestView a gen:ResourceView . optional { ?latestView dct:isVersionOf ?viewKindOptional . } } } } } } bind(coalesce(?latestView, ?refView) as ?view) } order by desc(?date)""" . } 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-06-05T07:58:51Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-view-displays; npx:supersedes ; rdfs:label "Get view displays"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "P6OKEVafpfJmoxXFQN7+XhI02batKm60qJpVd5Udz0jPl5KVxVdVgI+XTl4l8ENA5C+mh/vfslLQk5I4NjF4ystdn3PtsfAaU9l5MgtX8+J0kveOx9B2ITFp8eqWM2YJvXi+iH6j29horFy5YZXQnhFQQtySSwUoWTMUs8OYAhA="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:list-view-displays a ; dct:description "Lists the view displays declared for a resource, for the About page: standalone view displays and the views contributed by assigned presets (marked with the preset). Filtered to declarations signed by an admin or maintainer of the owning space, or by the affected user themselves. Each referenced view is resolved to its latest version (following the npx:supersedes chain): among the version tree's current heads (nanopubs that are themselves neither superseded nor validly retracted via npx:invalidates), the most recent is chosen, so the latest non-retracted view definition, title, and structural position are shown. Choosing a current head rather than the max-timestamp node makes resolution robust to backdated supersedes and to retracted versions. Results are ordered by structural position (the page ordering key) and then by view kind, replicating the order the views appear on the page. Shows each view, its title, its structural position, its active/deactivated status, the contributing preset (if any), the signer, the date, and the source nanopub. The view-version resolution is wrapped in a run-once sub-SELECT so the cross-repo lookup is evaluated once for the whole view set rather than once per referenced view."; dct:license ; rdfs:label "List view displays"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select ?view ?view_label ?structuralPosition (if(bound(?displayMode) && contains(str(?displayMode), \"Deactivated\"), \"deactivated\", \"active\") as ?status) ?preset ?preset_label ?user ?date ?np (\"^\" as ?np_label) where { values ?_resource_multi_iri {} service { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . } { graph ?stateG { ?_resource_multi_iri npa:isMaintainedBy? ?space . ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?authAgent ; (npa:inverseProperty|npa:regularProperty) ?roleProp . ?authAcct a npa:AccountState ; npa:agent ?authAgent ; npa:pubkey ?pubkey . } optional { graph npa:spacesGraph { ?rd a npa:RoleDeclaration ; npa:forSpace ?space ; npa:hasRoleType gen:MaintainerRole ; (npa:inverseProperty|npa:regularProperty) ?roleProp . bind(true as ?isMaintainer) } } filter(?roleProp = gen:hasAdmin || bound(?isMaintainer)) } union { graph ?stateG { ?selfAcct a npa:AccountState ; npa:agent ?_resource_multi_iri ; npa:pubkey ?pubkey . } } } { graph npa:graph { ?np npx:hasNanopubType gen:ViewDisplay ; npa:hasValidSignatureForPublicKeyHash ?pubkey ; dct:created ?date ; npx:embeds ?display ; np:hasAssertion ?a . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } optional { ?np npx:signedBy ?user } } graph ?a { ?display gen:isDisplayOfView ?refView ; gen:isDisplayFor ?_resource_multi_iri . optional { values ?displayMode { gen:ActivatedViewDisplay gen:DeactivatedViewDisplay } ?display a ?displayMode . } } } union { select ?refView ?displayMode ?preset ?preset_label ?user ?date ?np ?pubkey ?_resource_multi_iri { service { graph npa:graph { ?np npx:hasNanopubType gen:PresetAssignment ; npa:hasValidSignatureForPublicKeyHash ?pubkey ; dct:created ?date ; npx:embeds ?assignment ; np:hasAssertion ?a . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } optional { ?np npx:signedBy ?user } } graph ?a { ?assignment gen:isAssignmentFor ?_resource_multi_iri ; gen:isAssignmentOfPreset ?preset . optional { values ?displayMode { gen:ActivatedPresetAssignment gen:DeactivatedPresetAssignment } ?assignment a ?displayMode . } } graph npa:graph { ?presetNp npx:embeds ?preset ; np:hasAssertion ?pa . } graph ?pa { ?preset a gen:Preset . optional { ?preset rdfs:label ?preset_label . } { ?preset gen:hasTopLevelView ?refView } union { ?preset gen:hasView ?refView } } } } } # Resolve each referenced view to its latest version: the current head of its # supersedes version tree (a nanopub itself neither superseded nor validly # retracted via npx:invalidates), most recent among heads on a fork. Wrapped in # a run-once sub-SELECT so this cross-repo service is evaluated once for the # whole view set rather than once per referenced view -- the per-view federation # round-trips were the dominant cost of earlier versions. optional { service { select distinct ?refView ?latestView ?view_label ?structuralPosition ?viewKind where { graph npa:graph { ?rnp npx:embeds ?refView ; np:hasAssertion ?ra . } graph ?ra { ?refView a gen:ResourceView . } optional { ?vnp npx:embeds ?refView . ?latestNp (npx:supersedes|^npx:supersedes)* ?vnp ; dct:created ?ldate ; npx:embeds ?latestView ; np:hasAssertion ?va . filter not exists { ?supNp npx:supersedes ?latestNp . } filter not exists { ?invNp npx:invalidates ?latestNp ; npa:hasValidSignatureForPublicKeyHash ?invPk . } filter not exists { ?other (npx:supersedes|^npx:supersedes)* ?vnp ; dct:created ?odate . filter not exists { ?supNp2 npx:supersedes ?other . } filter not exists { ?invNp2 npx:invalidates ?other ; npa:hasValidSignatureForPublicKeyHash ?invPk2 . } filter(?odate > ?ldate) } graph ?va { ?latestView dct:title ?view_label . optional { ?latestView gen:hasStructuralPosition ?structuralPosition . } optional { ?latestView dct:isVersionOf ?viewKind . } } } } } } bind(coalesce(?latestView, ?refView) as ?view) } order by ?structuralPosition coalesce(?viewKind, ?view) ?date""" . } 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-06-05T07:58:51Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:list-view-displays; npx:supersedes ; rdfs:label "List view displays"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "eRX12ebVL+47NHkMuNiASagzVQnq479gx4gqHMoGdMVEh/LW8oOX+DUSS8pxOlBFtj+CR0QsH8FiP57+3She0oELCf4/UqOmxWF3GIZaU30Wo4loAp5p+3+TDQLQhvzu2YAeJqb0u9z2LhHw98l2/OABSfgaG1obl6iosDdQDpg="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-use-cases-for-resource a grlc:grlc-query; dct:description "This query returns the use cases described for a given entity (a Space or Maintained Resource)."; dct:license ; rdfs:label "Get use cases for a resource"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: prefix nt: select ?usecase ?usecase_label ?comment ?subject ?subject_label ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType gen:isUseCaseFor . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?pi . } values ?_entity_multi_iri {} graph ?a { ?usecase gen:isUseCaseFor ?_entity_multi_iri . optional { ?usecase rdfs:label ?usecase_label . } optional { ?usecase rdfs:comment ?comment . } optional { ?usecase dct:subject ?subject . } } optional { graph ?pi { ?subject nt:hasLabelFromApi ?subject_label . } } }""" . } 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-06-03T14:24:44Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-use-cases-for-resource; npx:supersedes ; rdfs:label "Get use cases for a resource"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "mUrMw4O5lu+4d8NwsWUDoubE2biyf1zD4byDCdz+c9ziZC2cXhw0IcVadOY+KF7E0h86uvt5hxWp2+QzW2wpqeHOBV1MRjmpPBGkwFN6amOzzSEUvmbUdkgdUDscY7ygQibgsfkTBPWZRO+v6Z5sGg7OempfViSaWRRajN9d4To="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:list-preset-assignments a ; dct:description "Lists the presets assigned to a resource, for the About page, filtered to assignments signed by an admin or maintainer of the owning space, or by the affected user themselves: each assigned preset, the resource type it applies to, its active/deactivated status, the signer, the date, and the source nanopub."; dct:license ; rdfs:label "List preset assignments"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select ?preset ?preset_label ?appliesTo ?appliesTo_label (if(bound(?mode) && contains(str(?mode), \"Deactivated\"), \"deactivated\", \"active\") as ?status) ?user ?date ?np (\"^\" as ?np_label) where { values ?_resource_multi_iri {} service { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . } { graph ?stateG { ?_resource_multi_iri npa:isMaintainedBy? ?space . ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?authAgent ; (npa:inverseProperty|npa:regularProperty) ?roleProp . ?authAcct a npa:AccountState ; npa:agent ?authAgent ; npa:pubkey ?pubkey . } optional { graph npa:spacesGraph { ?rd a npa:RoleDeclaration ; npa:forSpace ?space ; npa:hasRoleType gen:MaintainerRole ; (npa:inverseProperty|npa:regularProperty) ?roleProp . bind(true as ?isMaintainer) } } filter(?roleProp = gen:hasAdmin || bound(?isMaintainer)) } union { graph ?stateG { ?selfAcct a npa:AccountState ; npa:agent ?_resource_multi_iri ; npa:pubkey ?pubkey . } } } graph npa:graph { ?np npx:hasNanopubType gen:PresetAssignment ; npa:hasValidSignatureForPublicKeyHash ?pubkey ; dct:created ?date ; npx:embeds ?assignment ; np:hasAssertion ?a . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } optional { ?np npx:signedBy ?user } } graph ?a { ?assignment gen:isAssignmentFor ?_resource_multi_iri ; gen:isAssignmentOfPreset ?preset . optional { values ?mode { gen:ActivatedPresetAssignment gen:DeactivatedPresetAssignment } ?assignment a ?mode . } } optional { graph npa:graph { ?presetNp npx:embeds ?preset ; np:hasAssertion ?pa . } graph ?pa { optional { ?preset rdfs:label ?preset_label . } optional { ?preset gen:appliesToInstancesOf ?appliesTo . } } } } order by desc(?date)""" . } 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-06-03T11:10:11Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:list-preset-assignments; npx:supersedes ; rdfs:label "List preset assignments"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "i0ACukytZNvMuAESQsyNe22JOT0X/vxur7Ylbjb9yN9xCMxocZpXfC8GC0JOWIdOCFiWS7ASoGuR5LuuePdWgvQuRqCkemKSnrlahRNf/I8XRDVL4qAjcFQwiLJ9h+W2UoJObiNfL+Oo6SV6dcY2Anj5Xn2GGHuLF8c+vXtYBT8="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:list-space-roles a ; dct:description "This query lists the roles assigned in a given space, with a human-readable label, the publishing user, the date, and the source nanopublication."; dct:license ; rdfs:label "List space roles"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix gen: select distinct ?role (coalesce(?roleTitle, ?roleLabel, ?roleName) as ?role_label) ?user ?date ?np (\"^\" as ?np_label) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } values ?_space_multi_iri {} graph ?g { ?ra a gen:RoleAssignment ; npa:forSpace ?_space_multi_iri ; gen:hasRole ?role ; npa:viaNanopub ?np . } graph npa:graph { ?np dct:created ?date . optional { ?np npx:signedBy ?user } } graph npa:spacesGraph { ?roleDecl a npa:RoleDeclaration ; npa:role ?role ; npa:viaNanopub ?role_np . } graph npa:graph { ?role_np np:hasAssertion ?role_a . } optional { graph ?role_a { ?role rdfs:label ?roleLabel } } optional { graph ?role_a { ?role dct:title ?roleTitle } } optional { graph ?role_a { ?role schema:name ?roleName } } } order by desc(?date)""" . } 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-06-02T13:10:36Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:list-space-roles; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "k6HOdcxQ2lNgTgxGC39Tvb+b2DJv14kfbPaT0zLT3oWRUPIisEINKYLW6UV9qSjN/AOZYFvgVqBgrUhBZIsEVp9fbdsuVdKumc70Dluil8O6RyhaYRrubpUlJ3YzDKXDWxmSJyxybWsAFqQ8wJhCW3GKx7xu/WosxRjNeg0lURs="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-user-profile-info a ; dct:description "This query returns basic profile properties of a given user: the most recent default license and profile picture, one per row, each with its source nanopublication."; dct:license ; rdfs:label "Get user profile info"; ; """prefix np: prefix npx: prefix npa: prefix dct: prefix schema: prefix kpxl_terms: select ?property ?value ?np (\"^\" as ?np_label) where { { select (\"Default license\" as ?property) ?value ?np where { graph npa:graph { ?np np:hasAssertion ?a . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . } graph ?a { ?_user_iri kpxl_terms:hasDefaultLicense ?value . } } order by desc(?date) limit 1 } union { select (\"Profile picture\" as ?property) ?value ?np where { graph npa:graph { ?np np:hasAssertion ?a . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . } graph ?a { ?_user_iri schema:image ?value . } } order by desc(?date) limit 1 } } order by ?property""" . } 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-06-02T12:13:02Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-user-profile-info; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "np67HhXISvZNqDN2ueg0TmL0wmwBqWr5xRFqkzY6tjxvZVwxSCSmZhLUVRD0KdNJEc66l1Sn9FcxmivJy/7gpOg+JtL5LlD5gwfmM7Z5YoI1Fj7sXT1KN3wmUuMHJp4IbQoi3Diz390ff9Of1ti586gbD29RXZWpHxWHLTgKngg="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-user-introductions a ; dct:description "This query returns the introduction nanopublications of a given user, with their creation date, key location, and declared public key hashes."; dct:license ; rdfs:label "Get user introductions"; ; """prefix np: prefix npx: prefix npa: prefix dct: select (max(?date0) as ?date) (sample(str(?keyLocation)) as ?location) (group_concat(distinct ?keyHash; separator=\", \") as ?keys) ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?introPubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?introPubkey . } ?np dct:created ?date0 . ?np np:hasAssertion ?a . } graph ?a { ?keydeclaration npx:declaredBy ?_user_iri . ?keydeclaration npx:hasPublicKey ?pubkey . optional { ?keydeclaration npx:hasKeyLocation ?keyLocation . } bind(substr(sha256(?pubkey), 1, 10) as ?keyHash) } } group by ?np order by desc(max(?date0))""" . } 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-06-02T11:55:27Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-user-introductions; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "hUaCBNtLZQy36dfslsKDbWHAfKixmfJnDQFmWvgJ+C+HhmLVv3fp8dyhFt0giLGuGNlu6ims6/JWHNlOftkOsTlg2pBhSyh6ryhTdgiNRiygG3MMpO/6x7D2nvn5jjpjp3PGTAD287ChYQm1+7BhYW+mitAeGpAGsYdezTzAUDU="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-glossary-for-resource a grlc:grlc-query; dct:description "Given a resource, this query returns the glossary of terms it references: SKOS concepts linked from the resource via dct:references. Each row reports the term (identified by its Wikidata URI) with its preferred label, the human-readable definition, and a link to the nanopublication that defines the concept."; dct:license ; rdfs:label "Get glossary for a resource"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix skos: select distinct (?concept as ?term) ?term_label ?definition ?np (\"^\" as ?np_label) where { graph npa:graph { ?np np:hasAssertion ?a . } graph ?a { ?_resource_iri dct:references ?concept . ?concept a skos:Concept ; rdfs:label ?term_label ; skos:definition ?definition . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pk . } filter not exists { graph npa:graph { ?inv npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pk . } } } order by ?term_label""" . } 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-06-02T11:32:08Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-glossary-for-resource; rdfs:label "Get glossary for a resource"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Dqb3TXnoz0goMpgNIXyEcSdqEud2dem0m8hyZeQY9bqPanqhiq8+ogdt/vplkOFKfD64q+lJRdCP4TjSx78sGC2CCci42pZINRHD0EZh7r0fxrz6JIhQ41v0VOZ/QdYpUbfALlxjcvcSb4DD02hZcZNFUzzugeKJr9PMJ67gr1w="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-3pff-events-html a ; dct:description "Returns a list of all events related to the Three Point FAIRification Framework (3PFF), with multi-value fields pre-rendered as HTML anchor strings. Organizer and facilitator links use the agent's display name (resolved from the trust repository) as anchor text, falling back to the URI's local name. Variant of get-3pff-events intended for consumption by clients (e.g. nanopub-table with data-bind-html) that cannot split space-separated URI lists on their own."; dct:license ; rdfs:label "Get 3PFF Events (HTML)"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix prov: prefix foaf: prefix tpff: prefix schema: select (?event as ?Event_ID) (?eventShortName as ?Event_ID__label) (?eventLongName as ?Event_Name) (?eventDate as ?Date) (concat(\"\", group_concat(distinct concat( \"\", coalesce(?eventOrganizerName, replace(str(?eventOrganizer), \"^.*[/#]\", \"\")), \"\" ); separator=\", \"), \"\") as ?Organizers) (concat(\"\", group_concat(distinct concat( \"\", coalesce(?eventFacilitatorName, replace(str(?eventFacilitator), \"^.*[/#]\", \"\")), \"\" ); separator=\", \"), \"\") as ?Facilitators) (concat(\"\", group_concat(distinct concat( \"\", replace(str(?eventMoreInfoLink), \"^.*[/#]\", \"\"), \"\" ); separator=\", \"), \"\") as ?More_Info) (?np as ?Source) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?npDate . ?np dct:creator ?npCreator . ?np np:hasAssertion ?assertion . ?np npx:introduces ?event . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?assertion { ?event a tpff:3PFF-event . ?event rdfs:label ?eventName . # Date Handling: Check for both predicates optional { ?event dct:date ?dateDct . } optional { ?event schema:startDate ?dateSchema . } bind(coalesce(?dateDct, strBefore(str(?dateSchema), \"T\")) as ?eventDate) bind(replace(str(?eventName), ' ?\\\\|.*$', '') as ?eventShortName) bind(replace(str(?eventName), '^([A-Z0-9]{2,3}).*$', '$1') as ?eventSeries) bind(replace(str(?eventName), '^.*\\\\| ?(.*)$', '$1') as ?eventLongName) optional { ?event tpff:has-event-organizer ?eventOrganizer . optional { service { graph npa:graph { npa:hasCurrentTrustState ?organizerTrustState . } graph ?organizerTrustState { ?eventOrganizer foaf:name ?eventOrganizerName . } } } } optional { ?event tpff:has-event-facilitator ?eventFacilitator . optional { service { graph npa:graph { npa:hasCurrentTrustState ?facilitatorTrustState . } graph ?facilitatorTrustState { ?eventFacilitator foaf:name ?eventFacilitatorName . } } } } optional { ?event rdfs:seeAlso ?eventMoreInfoLink . } } } group by ?event ?eventShortName ?eventLongName ?eventDate ?np order by desc(?eventDate)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234; prov:wasDerivedFrom . } sub:pubinfo { this: dct:created "2026-06-02T09:29:47Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-3pff-events-html; npx:supersedes ; rdfs:label "Get 3PFF Events (HTML)"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "JZGv5Ax1SodrTzPeiIQ18QHTDb6NjzI7xAh9mUYeOnHwFT5bGwjHUo1zwnjpEVJ8C9yifa3as0GIH9FG4v0Ct1YJ2AgZOJf6znApN1V5FhSBqteWbG8CzGbHM+smK55w0a3lf5xoY5HNLongXPyKOhFjZDBgWU4umW6BQtGmPsQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-cited-papers-for-resource a grlc:grlc-query; dct:description "Given a resource, this query returns the papers it cites via any CiTO relation. For each citation it reports the citation type used (the CiTO property, with a human-readable label), the cited paper's title (linked to its DOI) and publication date (from the paper's bibliographic metadata nanopublication, if any), and a link to the citation nanopublication that asserts the citation. Citations whose cited paper has no bibliographic metadata nanopublication yet are still returned (with empty title and publication date)."; dct:license ; rdfs:label "Get cited papers for a resource"; grlc:endpoint ; grlc:sparql """prefix dct: prefix np: prefix npa: prefix npx: select distinct (?citoProp as ?citation_type) ?citation_type_label (?paper as ?title) ?title_label ?publication_date (?citeNp as ?np) (\"^\" as ?np_label) where { graph npa:graph { ?citeNp np:hasAssertion ?ca . } graph ?ca { ?_resource_iri ?citoProp ?paper . } filter(strstarts(str(?citoProp), \"http://purl.org/spar/cito/\")) bind(lcase(replace(replace(str(?citoProp), \"http://purl.org/spar/cito/\", \"\"), \"([a-z])([A-Z])\", \"$1 $2\")) as ?citation_type_label) filter not exists { graph npa:graph { ?cinv npx:invalidates ?citeNp . } } optional { graph npa:graph { ?descNp npx:introduces ?paper . ?descNp np:hasAssertion ?pa . } graph ?pa { ?paper dct:title ?title_label . } optional { graph ?pa { ?paper dct:date ?publication_date . } } graph npa:graph { ?descNp npa:hasValidSignatureForPublicKey ?pk . } filter not exists { graph npa:graph { ?inv npx:invalidates ?descNp ; npa:hasValidSignatureForPublicKey ?pk . } } } } order by ?citation_type_label ?publication_date ?title_label""" . } 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-06-02T08:32:12Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-cited-papers-for-resource; npx:supersedes ; rdfs:label "Get cited papers for a resource"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "JDVUavVg52kb29hVLHvTWODtSmpi7VWYYjnhwENbZrQGFfjcGW2HuN//t6+9gDVMfrQli3n+P7eqKO+idPybEi4bfzQvqjMhXIYRWfQfMl8t39bL9B09OVpAEcJBHhpoaqJyPUuhva491dGlxjARDEDIKkRj7dBNhVUYIK/4nZs="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-claims-for-resource a grlc:grlc-query; dct:description "Given a resource, this query returns the claims (AIDA sentences) it covers via gen:coversClaim. Each statement links to the AIDA sentence and is labelled with the sentence text."; dct:license ; rdfs:label "Get claims for a resource"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix np: prefix npa: prefix npx: prefix gen: select distinct (?claim as ?statement) ?statement_label ?np (\"^\" as ?np_label) where { graph npa:graph { ?np np:hasAssertion ?a . } graph ?a { ?_resource_iri gen:coversClaim ?claim . ?claim a . } optional { graph npa:graph { ?np rdfs:label ?statement_label . } } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pk . } filter not exists { graph npa:graph { ?inv npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pk . } } } order by ?statement_label""" . } 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-06-02T08:32:12Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-claims-for-resource; npx:supersedes ; rdfs:label "Get claims for a resource"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "b8vDrHpSaq3/6s5asIDBtoRXBjRJnHmp4/YoCs2ruXsCPhKos7GSWSptUCq6c8WcTRak30kqv3JlGipnnas3CtqDtxoUD907vf0D8aBFyPZQVZHiMTK/nNbep9NYCeJH1X7oi84Jlam+aH3qm51LTHMxLhU4kf9lxPCjeDj2EUQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:alpha-knowlet a ; dct:description "All observation FDOs about the Alpha Spike RBD variant — real-world occurrence, computational predictions, experimental DMS, and WHO classification — forming the FAIR Digital Twin knowlet for Alpha. Worked example of a single FDT."; dct:license ; rdfs:label "MAC FDT — Alpha variant digital twin (knowlet)"; ; """PREFIX rdfs: PREFIX np: PREFIX npa: PREFIX npx: PREFIX dct: PREFIX fdof: PREFIX mac: SELECT ?obs ?type ?label WHERE { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 np:hasAssertion ?a . } graph ?a { ?obs mac:isObservationOf . ?obs a ?type . FILTER(?type != fdof:FAIRDigitalObject) OPTIONAL { ?obs rdfs:label ?label . } } } ORDER BY ?type""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8888-635X . } sub:pubinfo { this: dct:created "2026-06-01T13:50:00Z"^^xsd:dateTime; dct:creator orcid:0000-0001-8888-635X; dct:license ; npx:introduces sub:alpha-knowlet; npx:supersedes ; rdfs:label "MAC FDT — Alpha variant digital twin (knowlet)"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3w/IUb755GIzp3ueODYkgELhyq4Clygb5Kspge50xo+n8uC/IvXwi+ukRjEpdfX/JZ09yKUCJ2AMMr/QchrsP1Xhg9Q3fEZ4E12XqFd5jX00Qs0K5XZwjBaV8NdDTJW9I4gpcyh0cry7hSBAWHkXEkqbK+lQvR4UFAKejFq6u/wIDAQAB"; npx:hasSignature "N1huvsBkv72gZmBL4EZgkmdMhVPcjfxuoJVeinda4AMn+hP1jEUBPnEGZH3CrDR/AgNBdr/d5PL87GKoJUzY+d/3Vm0Zyn+XmTzkUYpclnFF1sneOBJRB9yieHf1oL2dpHj3iJvH7wpRSmSF+V06Os6g+PxIcy/lV7cT7ABjLfw="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0001-8888-635X . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-term-descriptions a grlc:grlc-query; dct:description "Returns the nanopublications that introduce, describe, or embed the given term, with view-friendly columns (np / np_label and a source column rendered as a '^' explore link). Used by the /explore page as a resource view (the 'Described in nanopublication' list)."; dct:license ; rdfs:label "Get term descriptions"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: select ?np ?np_label ?source (\"^\" as ?source_label) where { values ?__pubkey_multi {} graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?__pubkey_multi . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?__pubkey_multi . } ?np dct:created ?date . ?np npx:introduces|npx:describes|npx:embeds ?_term_iri . optional { ?np rdfs:label ?np_label . } } bind(?np as ?source) } order by desc(?date)""" . } 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-05-31T17:58:33Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-term-descriptions; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "RAb89AP4ruQtonO2lQz6A4PJJ7ltJVxbsGQYgD7GoA07Ij+wQXyZu8wtgl8j7NDq1QFTcbxqEYsdoreqZXwO3PTAJ3tTrdGaBSw191advPUjSUqe/Udoly5WlailK5CeyfLmQuqSfJ5xzrC+khThsOIkBV8jY4hpzGZnyJObuEQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-instances-view a grlc:grlc-query; dct:description "Returns the instances assigned to the given class, with view-friendly columns (instance / instance_label). Used by the /explore page as a resource view (the 'Has instances' list)."; dct:license ; rdfs:label "Get instances for class (view)"; grlc:endpoint ; grlc:sparql """prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select distinct ?instance ?instance_label where { graph ?g { ?instance a ?_class_iri . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npa:hasGraph ?g . ?np np:hasPublicationInfo ?i . } optional { graph ?g { ?instance rdfs:label ?instanceLabel1 . } } optional { graph ?g { ?instance dct:title ?instanceLabel2 . } } optional { graph ?i { ?instance rdfs:label ?instanceLabel3 . } } optional { graph ?i { ?instance nt:hasLabelFromApi ?instanceLabel4 . } } bind(coalesce(?instanceLabel1, ?instanceLabel2, ?instanceLabel3, ?instanceLabel4) as ?instance_label) } limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-instances-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "IjPDTPnjqr0AhFOQ6bsrF0ao3ff/Y4eZJ3oXUUB55EWf/OqDwTBIgpvm8S60cJxCR6lO4BxIfUyrf7VKWeIo2dNhf5b9ZloWrpTfUXIe1kDjFLGQOl5OKcEQ5h1M5v7Gzdg7ciY2r5zPPCsjBnRuDARrjSnwP7nTPYHJ4gRWpDc="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-instances-view a grlc:grlc-query; dct:description "Returns the instances assigned to the given class, with view-friendly columns (instance / instance_label). Used by the /explore page as a resource view (the 'Has instances' list)."; dct:license ; rdfs:label "Get instances for class (view)"; grlc:endpoint ; grlc:sparql """prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select distinct ?instance ?instance_label ?np (\"^\" as ?np_label) where { graph ?g { ?instance a ?_class_iri . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npa:hasGraph ?g . ?np np:hasPublicationInfo ?i . } optional { graph ?g { ?instance rdfs:label ?instanceLabel1 . } } optional { graph ?g { ?instance dct:title ?instanceLabel2 . } } optional { graph ?i { ?instance rdfs:label ?instanceLabel3 . } } optional { graph ?i { ?instance nt:hasLabelFromApi ?instanceLabel4 . } } bind(coalesce(?instanceLabel1, ?instanceLabel2, ?instanceLabel3, ?instanceLabel4) as ?instance_label) } limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-instances-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "bmVjou5JXxlX5muJP74IToFIVoW+ilf47amEA4cjwxlf36qZX0nApMOihA6BGAEYkZ4uvIZEYBXyWWZ6z3El5ORGvFXI2/0qWeiyxmvscgltDJCB8o2hyqfX1ms9E+qaaa5cxX5A9osf2cS96RYXyjJsGEMEOByAYuQzyfG38WU="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-parts-view a grlc:grlc-query; dct:description "Returns the things denoted as parts of the given thing, with view-friendly columns (part / part_label). Used by the /explore page as a resource view (the 'Has parts' list)."; dct:license ; rdfs:label "Get parts of a thing (view)"; grlc:endpoint ; grlc:sparql """prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select ?part (sample(?partLabel) as ?part_label) where { { graph ?g { ?_thing_iri dct:hasPart ?part . } filter not exists { graph npa:graph { ?part npx:hasNanopubType npx:NanopubIndex . } } } union { graph ?g { ?part dct:partOf ?_thing_iri . } } union { graph ?gx { ?_thing_iri dct:hasPart ?index . } graph npa:graph { ?index npx:hasNanopubType npx:NanopubIndex . ?index np:hasAssertion ?a . } graph ?a { ?index npx:includesElement ?np . } graph npa:graph { ?np npx:introduces ?part . } } graph npa:graph { ?np npa:hasGraph ?g . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np np:hasPublicationInfo ?i . } optional { graph ?g { ?part rdfs:label ?partLabel1 . } } optional { graph ?g { ?part dct:title ?partLabel2 . } } optional { graph ?i { ?part rdfs:label ?partLabel3 . } } optional { graph ?i { ?part nt:hasLabelFromApi ?partLabel4 . } } optional { graph ?x { ?part rdfs:label ?partLabel5 . } } bind(coalesce(?partLabel1, ?partLabel2, ?partLabel3, ?partLabel4, ?partLabel5) as ?partLabel) } group by ?part limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-parts-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "ZlEa/6/dsKaSgajiHU7cbiND+dkyfeNjQZ8jH4Tsel02wLV9xYjjxVYkca+ajSo8ZkjZmLwqv4BFcohCAJzTUl8+XgHVDGuPwMlkpBULt+o/9Iuk09ROvxNhu3/eFhf3gum76t5Kx0+vJgKxznxzBbYbl5WpI95+HYrq06UjKrs="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-parts-view a grlc:grlc-query; dct:description "Returns the things denoted as parts of the given thing, with view-friendly columns (part / part_label). Used by the /explore page as a resource view (the 'Has parts' list)."; dct:license ; rdfs:label "Get parts of a thing (view)"; grlc:endpoint ; grlc:sparql """prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select ?part (sample(?partLabel) as ?part_label) ?np (\"^\" as ?np_label) where { { graph ?g { ?_thing_iri dct:hasPart ?part . } filter not exists { graph npa:graph { ?part npx:hasNanopubType npx:NanopubIndex . } } } union { graph ?g { ?part dct:partOf ?_thing_iri . } } union { graph ?gx { ?_thing_iri dct:hasPart ?index . } graph npa:graph { ?index npx:hasNanopubType npx:NanopubIndex . ?index np:hasAssertion ?a . } graph ?a { ?index npx:includesElement ?np . } graph npa:graph { ?np npx:introduces ?part . } } graph npa:graph { ?np npa:hasGraph ?g . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np np:hasPublicationInfo ?i . } optional { graph ?g { ?part rdfs:label ?partLabel1 . } } optional { graph ?g { ?part dct:title ?partLabel2 . } } optional { graph ?i { ?part rdfs:label ?partLabel3 . } } optional { graph ?i { ?part nt:hasLabelFromApi ?partLabel4 . } } optional { graph ?x { ?part rdfs:label ?partLabel5 . } } bind(coalesce(?partLabel1, ?partLabel2, ?partLabel3, ?partLabel4, ?partLabel5) as ?partLabel) } group by ?part ?np limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-parts-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "GrdXlxHsDW0F+3CKXju2PtCHWgEhtMGt9FBTv2y8P3hw/KIrKCaHHWIWVU+TcrCviU7oAa+OLfumz8y6SFrkbFvHVyhDdPDRxrvuLfJNjVQ407CCKEKv26YXRue9gx0odIeuHPdFvdZ4h7aDIO2VjtnEnqs3q76wzp6jMPEoXZk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-classes-for-thing-view a grlc:grlc-query; dct:description "Returns the classes assigned to the given thing, with view-friendly columns (class / class_label). Used by the /explore page as a resource view (the 'Assigned to' list)."; dct:license ; rdfs:label "Get the classes assigned to a thing (view)"; grlc:endpoint ; grlc:sparql """prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select distinct ?class ?class_label ?np (\"^\" as ?np_label) where { graph ?g { ?_thing_iri a ?class . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npa:hasGraph ?g . ?np np:hasPublicationInfo ?i . } optional { graph ?g { ?class rdfs:label ?classLabel1 . } } optional { graph ?g { ?class dct:title ?classLabel2 . } } optional { graph ?i { ?class rdfs:label ?classLabel3 . } } optional { graph ?i { ?class nt:hasLabelFromApi ?classLabel4 . } } bind(coalesce(?classLabel1, ?classLabel2, ?classLabel3, ?classLabel4) as ?class_label) } limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-classes-for-thing-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Vs49RKXKkj3xqr9qO2nPfvDINadg9twTCaYEwLkL3CQYh98n0kQFeLhJQY78wkQS/D8aDQ7ldwjVYcNGhHuUd+LLVqpEZeK82KPGCKlpKFvh5Sf1O6FzQ+FVdvS80hHn1x+tlAeksoB5nlmCXs5Ju0uG7/Xx06+05+nP5Wbx+zA="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-classes-for-thing-view a grlc:grlc-query; dct:description "Returns the classes assigned to the given thing, with view-friendly columns (class / class_label). Used by the /explore page as a resource view (the 'Assigned to' list)."; dct:license ; rdfs:label "Get the classes assigned to a thing (view)"; grlc:endpoint ; grlc:sparql """prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select distinct ?class ?class_label where { graph ?g { ?_thing_iri a ?class . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npa:hasGraph ?g . ?np np:hasPublicationInfo ?i . } optional { graph ?g { ?class rdfs:label ?classLabel1 . } } optional { graph ?g { ?class dct:title ?classLabel2 . } } optional { graph ?i { ?class rdfs:label ?classLabel3 . } } optional { graph ?i { ?class nt:hasLabelFromApi ?classLabel4 . } } bind(coalesce(?classLabel1, ?classLabel2, ?classLabel3, ?classLabel4) as ?class_label) } limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-classes-for-thing-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "AdPD3lZA1gzwKygl5IhSH7GyP62hroOzC4jw6pT/KsxmbP7vRSc53VJReE3Kr4G/aOWivpRSMkTFrW3v7+XPyGY3gZOsuRNNXFqM4rH/64vy4Iwn4UM3ZSAtHmI4119Wft5Ptn++/0i9SyK0bwhVz2T0vaiCzLXU9ArEaXpksxI="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-templates-with-uri-view a grlc:grlc-query; dct:description "Returns the assertion templates that use the given URI in their statements, with view-friendly columns (template_iri / template_iri_label). Used by the /explore page as a resource view (the 'Related Templates' list)."; dct:license ; rdfs:label "Get the templates using given URI (view)"; grlc:endpoint ; grlc:sparql """prefix rdf: prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select distinct ?template_iri ?template_iri_label ?np (\"^\" as ?np_label) where { graph ?assertion { ?statement ?relation ?_thing_iri . values ?relation { rdf:subject rdf:predicate rdf:object nt:possibleValue } } graph npa:graph { ?template_iri npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?template_iri ; npa:hasValidSignatureForPublicKey ?pubkey . } filter not exists { ?template_iri npx:hasNanopubType nt:UnlistedTemplate . } ?template_iri np:hasAssertion ?assertion . optional { ?template_iri rdfs:label ?template_iri_label } bind(?template_iri as ?np) } } limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-templates-with-uri-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "exzZNssgcntpYpoA8XVNbIBtqlsfFJ6F0cED7dxx0KxiqZU8ZB76tGLju0ngH1Eu/qes9icsS5IJIwuDoZEfQ+ZDOgyOCJN4GK1DvbvPdvwHl6flfMejIWJouwZEdjYAsZ7ReKuRJTqpqA2y7g3SKI50XyHQ4DIpgoZYSSHGtnk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-templates-with-uri-view a grlc:grlc-query; dct:description "Returns the assertion templates that use the given URI in their statements, with view-friendly columns (template_iri / template_iri_label). Used by the /explore page as a resource view (the 'Related Templates' list)."; dct:license ; rdfs:label "Get the templates using given URI (view)"; grlc:endpoint ; grlc:sparql """prefix rdf: prefix dct: prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: select distinct ?template_iri ?template_iri_label where { graph ?assertion { ?statement ?relation ?_thing_iri . values ?relation { rdf:subject rdf:predicate rdf:object nt:possibleValue } } graph npa:graph { ?template_iri npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?template_iri ; npa:hasValidSignatureForPublicKey ?pubkey . } filter not exists { ?template_iri npx:hasNanopubType nt:UnlistedTemplate . } ?template_iri np:hasAssertion ?assertion . optional { ?template_iri rdfs:label ?template_iri_label } } } limit 1000""" . } 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-05-30T08:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-templates-with-uri-view; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Dxnk2dsi/miE8lCvXsgj8rXa1BGsNdlWXbrNf4D3tRoKQJjeGh5c0MsQL2Tc1M4GMpuhUlVXNqFqlS7C/YQlYFo+6fSJdxcHOBEDwAWATQEZlE0lkcWJV8dr+L79h5b8rZI4eL5AyT97Z1fK9wpXpox/DhccQQcPEJncpCZm2RA="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-term-descriptions a grlc:grlc-query; dct:description "Returns the nanopublications that introduce, describe, or embed the given term, with view-friendly columns (np / np_label). Used by the /explore page as a resource view (the 'Described in' list)."; dct:license ; rdfs:label "Get term descriptions"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: select ?np ?np_label where { values ?__pubkey_multi {} graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?__pubkey_multi . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?__pubkey_multi . } ?np dct:created ?date . ?np npx:introduces|npx:describes|npx:embeds ?_term_iri . optional { ?np rdfs:label ?np_label . } } } order by desc(?date)""" . } 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-05-29T11:54:11Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-term-descriptions; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "HkfbJPwVEJXOCOS5uC4u/ZDW7UwhBOGd2QihDCsC0Xr/6msDbjHAYJhjvhiKGrAFN4auWgvNX8EAbHkWuJHOLktvHgxPg5Qgv6KS5ix+uOjgaAxZw++HOGvADQPYPHAa2rgTgE737U4Q3gTEL5Lmz6yaZ0XSeBwj5yOXWM0VkQ4="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix grlc: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-uri-references a grlc:grlc-query; dct:description "Returns nanopublications referencing the given URI in subject, predicate, or object position, with view-friendly columns (part / subject / predicate / object / published_by / date / np). Used by the /references page as a resource view."; dct:license ; rdfs:label "Get URI references"; grlc:endpoint ; grlc:sparql """prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: select ?part ?subject ?predicate ?object ?published_by ?date ?np (\"^\" as ?np_label) where { graph ?g { { { bind(?_ref_iri as ?subject) } union { bind(?_ref_iri as ?predicate) } union { bind(?_ref_iri as ?object) } } ?subject ?predicate ?object . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?__pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?__pubkey . } ?np dct:created ?date . ?np ?__graphpred_iri ?g . values ?__graphpred_iri { np:hasAssertion np:hasProvenance np:hasPublicationInfo } } bind(strafter(str(?__graphpred_iri), \"#has\") as ?part) optional { graph npa:graph { ?np np:hasPublicationInfo ?__pig_iri . } graph ?__pig_iri { ?np dct:creator ?published_by . } } } limit 100""" . } 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-05-29T11:14:15Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-uri-references; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "BXa/Z2a3L52g99xBfPPk/bjobg3MA7Tihhrwf09QYfHzag+naAbDIImEIjovG2IF/38axkYOviPLYWrgKDD0ARKEMfQ654bHaLtg/VaXUDWxaoTXpCfPAlpjC988XORskk/X0zz725yPEEHmV9ceaAH41ZaRMfEs+MCvzEFWVuU="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-all-spaces a grlc:grlc-query; dct:description "Returns one row per known space with its label, type IRI and short type name, ordered alphabetically by space label. Intended for the /spaces table view."; dct:license ; rdfs:label "Get all spaces"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix npa: prefix npx: prefix gen: select ?space_iri (sample(?lbl) as ?space_iri_label) (sample(?t) as ?type) (sample(?tlbl) as ?type_label) where { graph npa:spacesGraph { ?spaceRef a npa:SpaceRef ; npa:spaceIri ?space_iri . ?def a npa:SpaceDefinition ; npa:forSpaceRef ?spaceRef ; npa:viaNanopub ?np . } graph npa:graph { ?np rdfs:label ?lbl . ?np npx:hasNanopubType ?t . filter(strstarts(str(?t), \"https://w3id.org/kpxl/gen/terms/\")) filter(?t != gen:Space) } filter not exists { graph npa:graph { ?invNp npx:invalidates ?np . } } bind(strafter(str(?t), \"https://w3id.org/kpxl/gen/terms/\") as ?tlbl) } group by ?space_iri order by lcase(sample(?lbl))""" . } 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-05-28T19:48:15Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-all-spaces; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "JqxvCCKkYQalVA8YfJy3H3DUyY1pVO/tc2CmuW25nHf7l95RbV4MWrwtdJ2KT6J3F7oyDFnAhzuEKkqsfe6Xf8u8Ld8T+aWyZoTpfP8L3EY/a9ewDLYJHiGU6IOypAFoE9/SY3uhfO8WJqdBBIi2EUGuxWuQroc7b7aUn5042vI="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-spaces a grlc:grlc-query; dct:description "Returns the latest non-invalidated SpaceDefinition per space from the server-materialised spaces repo, joined to the declaring nanopublication for its label and type. View-friendly columns (space_iri / type_label / np)."; dct:license ; rdfs:label "Get spaces (v2)"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select ?space_iri ?space_iri_label ?type ?type_label ?date ?np (\"^\" as ?np_label) where { graph npa:spacesGraph { ?spaceRef a npa:SpaceRef ; npa:spaceIri ?space_iri . ?def a npa:SpaceDefinition ; npa:forSpaceRef ?spaceRef ; npa:viaNanopub ?np ; dct:created ?date . } graph npa:graph { ?np rdfs:label ?space_iri_label . ?np npx:hasNanopubType ?type . filter(strstarts(str(?type), \"https://w3id.org/kpxl/gen/terms/\")) filter(?type != gen:Space) } filter not exists { graph npa:graph { ?invNp npx:invalidates ?np . } } bind(strafter(str(?type), \"https://w3id.org/kpxl/gen/terms/\") as ?type_label) } order by desc(?date)""" . } 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-05-28T18:48:29Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-spaces; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "VWlcpP4TdisryOY1NnDzl/kknm4gdz5PGlnO1EIXOZDFhJFaUAzGrRpdSnzCLuBs7F9mPRn1LQCyUWi8v1X2Lvu4pwhf+e0PVjN4tk55ZKOFPF2TUNQ64GDL6fcMcU1gWZRYk7gUKnVxh5erhtQqHd+i9BBm7E6A9AtDo+N3mRk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-queries a grlc:grlc-query; dct:description "Returns all nanopublications that declare a grlc query, with the query IRI, its label, its creator, the creation date, and the nanopublication IRI. Designed for rendering as a list/table view."; dct:license ; rdfs:label "Get all grlc query nanopubs (v2)"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix grlc: select ?query_iri ?query_iri_label ?creator ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . } ?np dct:created ?date . ?np npx:introduces|npx:embeds ?query . ?np np:hasAssertion ?a . ?np npx:hasNanopubType grlc:grlc-query . optional { ?np rdfs:label ?query_iri_label } optional { ?np npx:signedBy ?creator . } } graph ?a { ?query grlc:endpoint ?endpoint . filter(strstarts(str(?endpoint), \"https://w3id.org/np/l/nanopub-query\")) } bind(?query as ?query_iri) } order by desc(?date)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234; prov:wasDerivedFrom . } sub:pubinfo { orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2026-05-28T18:20:05Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-queries; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "n0UWrQpAz+HbCAALlMze/sFUxrkhyXnUfEuE4hQ25MUq/R2GbL9AwQ3EehLkmBmJndUZ1cGlvfnvJGMBw+BaimtRS4bfYxqL60ybk526XFhsWicRFCEJQ/UOS2EF53Wbpcn95TUuhZd9Br/ud3hinWDcY9PklsFtHgxhRFwn7KA="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:catalogue-summary-by-type a ; dct:description "Counts of MAC FDT FDOs grouped by their specific type (variants, observations, methods). Bounded summary view of the full catalogue."; dct:license ; rdfs:label "MAC FDT — catalogue summary by type"; ; """PREFIX rdfs: PREFIX np: PREFIX npa: PREFIX npx: PREFIX dct: PREFIX fdof: PREFIX mac: SELECT ?type (COUNT(?thing) AS ?count) WHERE { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 np:hasAssertion ?a . } graph ?a { ?thing a fdof:FAIRDigitalObject . ?thing a ?type . FILTER(?type != fdof:FAIRDigitalObject) FILTER(STRSTARTS(STR(?type), \"https://w3id.org/spaces/mac/r/ontology/\")) } } GROUP BY ?type ORDER BY DESC(?count)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8888-635X . } sub:pubinfo { this: dct:created "2026-05-28T10:51:46Z"^^xsd:dateTime; dct:creator orcid:0000-0001-8888-635X; dct:license ; npx:introduces sub:catalogue-summary-by-type; rdfs:label "MAC FDT — catalogue summary by type"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3w/IUb755GIzp3ueODYkgELhyq4Clygb5Kspge50xo+n8uC/IvXwi+ukRjEpdfX/JZ09yKUCJ2AMMr/QchrsP1Xhg9Q3fEZ4E12XqFd5jX00Qs0K5XZwjBaV8NdDTJW9I4gpcyh0cry7hSBAWHkXEkqbK+lQvR4UFAKejFq6u/wIDAQAB"; npx:hasSignature "RIXcv2YS7Ti/YbSrzwVnhPJurJvafzmQ87fhdL6bWfSPr6WJsYLMNVg9hYyqJxOwgfwz82u8p6CIWgfhWvujBQEvR04Mn7TGi05/IXknSM7bKmsWHWlNE43A4UHS+RQD7hITofGE31WhhGJjFEc75S0P5oX+xzmQ1oBzz9f8snM="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0001-8888-635X . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:observations-per-method a ; dct:description "Counts of observation FDOs grouped by the method (computational, experimental, or surveillance) that produced them — demonstrating multi-source decentralized attribution."; dct:license ; rdfs:label "MAC FDT — observations per method"; ; """PREFIX rdfs: PREFIX np: PREFIX npa: PREFIX npx: PREFIX dct: PREFIX fdof: PREFIX mac: SELECT ?method (COUNT(?obs) AS ?count) WHERE { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 np:hasAssertion ?a . } graph ?a { ?obs ?methodPred ?method . VALUES ?methodPred { mac:hasPredictionMethod mac:hasExperimentalMethod mac:hasSurveillanceMethod } } } GROUP BY ?method ORDER BY DESC(?count)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8888-635X . } sub:pubinfo { this: dct:created "2026-05-28T10:51:46Z"^^xsd:dateTime; dct:creator orcid:0000-0001-8888-635X; dct:license ; npx:introduces sub:observations-per-method; rdfs:label "MAC FDT — observations per method"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3w/IUb755GIzp3ueODYkgELhyq4Clygb5Kspge50xo+n8uC/IvXwi+ukRjEpdfX/JZ09yKUCJ2AMMr/QchrsP1Xhg9Q3fEZ4E12XqFd5jX00Qs0K5XZwjBaV8NdDTJW9I4gpcyh0cry7hSBAWHkXEkqbK+lQvR4UFAKejFq6u/wIDAQAB"; npx:hasSignature "M4d5r0z/u5SAlD/Cix9mr4wqf+WVj5brWFhjAthn9hSULj5gFPFOm5oRJaq5ZJwlRYdMik2mWWdMT9j8FNncinG2LELjR3aTkLFskzjlVw0OgxPBS9xG0gI0OAWcRw4fgmXP1n4Yj6LHK2c3MuLViDPQgzfskgV+HdztBhFfCpo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0001-8888-635X . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:variants-by-who-classification a ; dct:description "Counts of Spike RBD variants grouped by WHO risk designation (VOC / VOI / VUM), via their WHO classification observation FDOs."; dct:license ; rdfs:label "MAC FDT — variants by WHO classification"; ; """PREFIX rdfs: PREFIX np: PREFIX npa: PREFIX npx: PREFIX dct: PREFIX fdof: PREFIX mac: SELECT ?whoClass (COUNT(?variant) AS ?count) WHERE { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 np:hasAssertion ?a . } graph ?a { ?obs a mac:WHOVariantClassification . ?obs mac:hasWHOClassification ?whoClass . ?obs mac:isObservationOf ?variant . } } GROUP BY ?whoClass ORDER BY DESC(?count)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8888-635X . } sub:pubinfo { this: dct:created "2026-05-28T10:51:46Z"^^xsd:dateTime; dct:creator orcid:0000-0001-8888-635X; dct:license ; npx:introduces sub:variants-by-who-classification; rdfs:label "MAC FDT — variants by WHO classification"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3w/IUb755GIzp3ueODYkgELhyq4Clygb5Kspge50xo+n8uC/IvXwi+ukRjEpdfX/JZ09yKUCJ2AMMr/QchrsP1Xhg9Q3fEZ4E12XqFd5jX00Qs0K5XZwjBaV8NdDTJW9I4gpcyh0cry7hSBAWHkXEkqbK+lQvR4UFAKejFq6u/wIDAQAB"; npx:hasSignature "3UeWo/iAUKmEogknqoI/Yx3wQHCEzuKBHJfh0xU4qZV6SoEk0L59O17aLg4wqv0umB6aDxyDVIS5wDLvkCVTqW4CtfJSA0NKNo3f0d33G4Ps8U2ITc7cq4d2gCke+2IUffPORV+Yca3u95XIU8jMCJGw6OqJWD+Q81ut/KyKDVE="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0001-8888-635X . } @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 { sub:get-non-approved-users a ; dct:description "Returns all users that have published a self-introduction but have no approved (trust-state-loaded) account, with their display name."; dct:license ; rdfs:label "❓ Non-Approved Users"; ; """prefix np: prefix npx: prefix npa: prefix foaf: select ?user_iri (sample(?name) as ?user_iri_label) where { graph npa:graph { ?intronp npa:hasValidSignatureForPublicKey ?pk ; np:hasAssertion ?a . filter not exists { ?x npx:invalidates ?intronp ; npa:hasValidSignatureForPublicKey ?pk . } } graph ?a { ?kd npx:declaredBy ?user_iri . optional { ?user_iri foaf:name ?name } } minus { service { graph npa:graph { npa:thisRepo npa:hasCurrentTrustState ?g . } graph ?g { ?acct npa:agent ?user_iri ; npa:trustStatus npa:loaded . } } } } group by ?user_iri order by lcase(str(sample(?name)))""" . } 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-05-27T13:52:07Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-non-approved-users; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "GX0xruOB9Pos8fshwcAaQGMl5ASJpEhqFD25t4Y8WZvyYUDsBmgAZcYYMA8NURbTFQTkF0O7Da4/7xeLhDSM/L7p1k7pD0qDwLJYZGa+8yNK1tMF3TWWNwoUQfox3cc7IfHrsMIMOV6pSbHgh0jFDrX+uunwZ+qyf/itjQSBdm0="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-approved-human-users a ; dct:description "Returns all approved (trust-state-loaded) users that are not software agents, with their display name."; dct:license ; rdfs:label "👤 Human Users"; ; """prefix np: prefix npx: prefix npa: prefix foaf: select ?user_iri (sample(?name) as ?user_iri_label) where { graph npa:graph { npa:thisRepo npa:hasCurrentTrustState ?g . } graph ?g { ?acct a npa:AccountState ; npa:agent ?user_iri ; npa:trustStatus npa:loaded . } service { graph ?a { ?kd npx:declaredBy ?user_iri . } filter not exists { graph ?a2 { ?user_iri a npx:SoftwareAgent } } optional { graph ?a { ?user_iri foaf:name ?name } } } } group by ?user_iri order by lcase(str(sample(?name)))""" . } 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-05-27T13:52:07Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-approved-human-users; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "lVCy5fV7n0VpalDIs3QYa3kaJdldWnMJPAOMWaQ8k/5zfdXgmvX87YagZ2Z1Y3OPjfLznVl0BufeuSwuUMgL28BXJMQUHaFfUIlPH31FvjYoiAjT/vwAMvxU7FcsN3UqmSaX/2lm2eHRzai1/Q3VtO/w6IP7hElTKNmYA6bFSfo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-approved-software-agents a ; dct:description "Returns all approved (trust-state-loaded) users that are software agents, with their display name."; dct:license ; rdfs:label "🤖 Software Agents"; ; """prefix np: prefix npx: prefix npa: prefix foaf: select ?user_iri (sample(?name) as ?user_iri_label) where { graph npa:graph { npa:thisRepo npa:hasCurrentTrustState ?g . } graph ?g { ?acct a npa:AccountState ; npa:agent ?user_iri ; npa:trustStatus npa:loaded . } service { graph ?a { ?kd npx:declaredBy ?user_iri . } filter exists { graph ?a2 { ?user_iri a npx:SoftwareAgent } } optional { graph ?a { ?user_iri foaf:name ?name } } } } group by ?user_iri order by lcase(str(sample(?name)))""" . } 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-05-27T13:52:07Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-approved-software-agents; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "nd54cuKqw0oHNrtUCUtpnaFUMB2fHNA0bnCLZvojPW2DpQf9tdoz/jN85SLkvpQbkMijgkmt/kRFqLq85Pc3U61aey+dYtyZEcitpCPvUatgycmVfURHzDv7wctaZklWaajEUNH1co/s8lCsf4WZeiR4p5an9OKh/RJqasglX2k="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-agent-pubkey-hashes a ; dct:description "Returns the trust-state-validated (agent, public-key-hash) pairs for the given agent(s), from npa:AccountState in the current space-state graph of the spaces repo (/repo/spaces). Pass one or more agent IRIs (e.g. ORCIDs)."; dct:license ; rdfs:label "Get agent pubkey hashes"; ; """prefix npa: select distinct (?_agent_multi_iri as ?agent) ?pkh where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } values ?_agent_multi_iri {} graph ?g { ?acct a npa:AccountState ; npa:agent ?_agent_multi_iri ; npa:pubkey ?pkh . } }""" . } 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-05-26T14:25:12Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-agent-pubkey-hashes; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "R57L+JFVUu9hHhvsMKhBBkaTa6BRRObcQiL7iolDbNYs6y185555oyYtBAkggDVkSPsmK8o4yuZqNdPkpiBke+sAT1nFd6AsmAYI1qa+GkSBDRnRTA8fu0flHKcySXH2NdC1mb0LIZsarEHGgWPvklj14JPrc1Jf6qCj6ZMqORk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-space-admin-pubkey-hashes a ; dct:description "Returns the trust-state-validated (agent, public-key-hash) pairs of the given space(s)' admins, by joining the admin RoleInstantiations to npa:AccountState in the current space-state graph of the spaces repo (/repo/spaces). Pass one or more space IRIs."; dct:license ; rdfs:label "Get space admin pubkey hashes"; ; """prefix npa: prefix gen: select distinct ?agent ?pkh where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } values ?_space_multi_iri {} graph ?g { ?ri a gen:RoleInstantiation ; npa:inverseProperty gen:hasAdmin ; npa:forSpace ?_space_multi_iri ; npa:forAgent ?agent . ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?pkh . } }""" . } 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-05-26T14:25:12Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-space-admin-pubkey-hashes; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "emOxRWEFNu3+m+fH/r4nacho9iWpivOlaml3XggFMdrNjK1sbcwQHHdswoZCvAZlRAVZe2j38cCilxDLE08BCDlN+pSlS840dCWT8JLMX0xNsAhOhn8wsGj4rndWMdtoGYjNeArc9hHzso/9eIsMQgRrXiTwzfu/8/u5DaYrNeg="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-space-admins a ; dct:description "Returns the admins of the given space(s): the trust-state-validated admin RoleInstantiations (npa:inverseProperty gen:hasAdmin) from the current space-state graph of the spaces repo (/repo/spaces), with each admin agent and the nanopublication that instantiated the role. Pass one or more space IRIs (e.g. a space and its alternative IDs)."; dct:license ; rdfs:label "Get space admins"; ; """prefix npa: prefix gen: select distinct ?agent ?np (\"^\" as ?np_label) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } values ?_space_multi_iri {} graph ?g { ?ri a gen:RoleInstantiation ; npa:inverseProperty gen:hasAdmin ; npa:forSpace ?_space_multi_iri ; npa:forAgent ?agent ; npa:viaNanopub ?np . } }""" . } 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-05-26T14:25:12Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-space-admins; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "o55Ng8wBLU5Ylc3Y6uqZT78cK/nxgEMmdH5A08mzJASfHn3d9MOWG+unu3Y5tOr7tgSpTXfmzfDIyfC8eBHzcpjsIKln5it+1faVOCr0X67QUDRhAYxat41NsTF+5m03b99btVmd8Bf03jSo2fW4xVsHAFN/EFjnQOZhR79SwdM="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-space-members a ; dct:description "Returns the non-admin member RoleInstantiations of the given space(s) from the extraction graph (npa:spacesGraph) of the spaces repo (/repo/spaces): each member agent, the nanopublication that instantiated the membership, and the role's regular/inverse predicate. Admin RIs are excluded and invalidated nanopubs are filtered out. The caller is expected to gate members by role-predicate match. Pass one or more space IRIs."; dct:license ; rdfs:label "Get space members"; ; """prefix npa: prefix npx: prefix gen: select ?member ?regProp ?invProp ?np (\"^\" as ?np_label) where { values ?_space_multi_iri {} graph npa:spacesGraph { ?ri a gen:RoleInstantiation ; npa:forSpace ?_space_multi_iri ; npa:forAgent ?member ; npa:viaNanopub ?np . optional { ?ri npa:regularProperty ?regProp } optional { ?ri npa:inverseProperty ?invProp } filter not exists { ?ri npa:inverseProperty gen:hasAdmin } } filter not exists { graph npa:graph { ?invNp npx:invalidates ?np . } } }""" . } 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-05-26T14:25:12Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-space-members; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "EK89UXC/o+YTDYgY2ZkBaYjnuNbe0G5dZovNdTXej1WChWcuA7iFNNZl1MOQUtUvMJCtmj7nrpMDeArBW2qDjwUlpr4BZmp5Z0QhITwRHZWD3tDaN3l3Hi3Fp+XhvcF7Y/QA8JvOmI9F7siYM3AQz6rGdqT9BLqd4I/EOTwhIEg="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-space-roles a ; dct:description "Returns the member roles attached to the given space(s): trust-state-validated gen:RoleAssignments from the current space-state graph of the spaces repo (/repo/spaces), joined to their RoleDeclaration for the role's regular/inverse properties (space-separated), plus the role's label/name/title and role-assignment template. Pass one or more space IRIs."; dct:license ; rdfs:label "Get space roles"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix schema: prefix gen: select ?role ?roleLabel ?roleName ?roleTitle ?roleAssignmentTemplate (group_concat(distinct ?reg; separator=\" \") as ?regularProperties) (group_concat(distinct ?inv; separator=\" \") as ?inverseProperties) ?ra_np where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } values ?_space_multi_iri {} graph ?g { ?ra a gen:RoleAssignment ; npa:forSpace ?_space_multi_iri ; gen:hasRole ?role ; npa:viaNanopub ?ra_np . } graph npa:spacesGraph { ?roleDecl a npa:RoleDeclaration ; npa:role ?role ; npa:viaNanopub ?role_np . optional { ?roleDecl gen:hasRegularProperty ?reg } optional { ?roleDecl gen:hasInverseProperty ?inv } } graph npa:graph { ?role_np np:hasAssertion ?role_a . } optional { graph ?role_a { ?role rdfs:label ?roleLabel } } optional { graph ?role_a { ?role dct:title ?roleTitle } } optional { graph ?role_a { ?role schema:name ?roleName } } optional { graph ?role_a { ?role gen:hasRoleAssignmentTemplate ?roleAssignmentTemplate } } } group by ?role ?roleLabel ?roleName ?roleTitle ?roleAssignmentTemplate ?ra_np""" . } 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-05-26T14:25:12Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-space-roles; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "fTKnYuZXXV9w6T5Xu+KzpunrY9XO6UWfKbbbzwLweP7uT1DFRaOdq1Q6k8OkAwkHe1q25rFKIvOEo8R/IyigvWWSFM9KKzsIb5++KWZYeQd4/Vt584GTzQY2ev29mhQ/Txk9oYKBZD7wiizdMbp3AHy1+BtS7Xboe8fw4lhllpU="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-maintained-resources a ; dct:description "Returns server-validated maintained resources (npa:isMaintainedBy) from the current space-state graph of the spaces repo (/repo/spaces), with each resource's maintainer space, declaring nanopublication, label, optional namespace, and date. Only the current-state declarations are returned."; dct:license ; rdfs:label "Get maintained resources from spaces repo"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select ?resource ?space ?label ?namespace ?date ?np (\"^\" as ?np_label) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } graph ?g { ?resource npa:isMaintainedBy ?space . } graph npa:spacesGraph { ?d a npa:MaintainedResourceDeclaration ; npa:resourceIri ?resource ; npa:maintainerSpace ?space ; npa:viaNanopub ?np ; dct:created ?date . } graph npa:graph { ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } optional { graph ?a { ?resource gen:hasNamespace ?namespace } } } order by desc(?date)""" . } 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-05-26T09:08:04Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-maintained-resources; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "iIv+pcQ7Hof/6nALTrnkU8LtOpgHHpGxM94F73exYbhthu6XpWNP46buint1RUwY+WbSHh6IlGBFu1gRVskghbCCA76rB7GNvZUdh0LSDbjM5WkG8UyGoeMLklnK0on+LCFPFeAZKX3P44SE1T3E3J9kAVZ6gw9uCHNMtzKPPpU="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-sub-space-links a ; dct:description "Returns all child/parent space pairs (npa:isSubSpaceOf) from the current space-state graph of the server-materialised spaces repo (/repo/spaces)."; dct:license ; rdfs:label "Get sub-space links"; ; """prefix npa: select ?child ?parent where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } graph ?g { ?child npa:isSubSpaceOf ?parent . } }""" . } 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-05-26T09:08:04Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-sub-space-links; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "J+1L9G3DPYY6cS7SnCf+BG/hUXdvTuUggtvt6JHTpkhwUr7xZSR5U8bFp9OpNKZ88x0eZqWnHgbG9NdrTnV8xseBsFeAUIYI5sTmBmj07dYbugb4OOGTu2BHMSctz2xLzeChOKEyQJbU9yfH+m4i0/obCcJ8DunqM1OvMLU4EeQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-colonial-collections-provenance-events a ; dct:description "Returns all provenance-event claims (Colonial Collections nanopubs typed #ProvenanceEventVersion1) describing a CIDOC-CRM E10_Transfer_of_Custody. Columns: event type (Getty AAT) and its label, affected object (with short label), narrative text and its language, attributed community group, individual creator, and date. Sorted from most recent first."; dct:license ; rdfs:label "Get Colonial Collections provenance events"; ; """prefix rdf: prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix prov: prefix crm: select ?event_type ?event_type_label ?source ?source_label ?narrative ?lang ?group ?group_label ?creator ?creator_label ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?datetime ; np:hasAssertion ?ag ; np:hasProvenance ?pg ; np:hasPublicationInfo ?pig . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?inv npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } bind(substr(str(?datetime), 1, 10) as ?date) graph ?pig { ?np a . } graph ?ag { ?ev a crm:E10_Transfer_of_Custody . optional { ?ev crm:P2_has_type ?event_type . optional { ?event_type rdfs:label ?event_type_label } } optional { ?ev crm:P30_transferred_custody_of ?source . bind(substr(replace(str(?source), \"^.*/\", \"\"), 1, 8) as ?source_label) } optional { ?ev crm:P67i_is_referred_to_by ?ling . ?ling crm:P190_has_symbolic_content ?narrative_lit . bind(str(?narrative_lit) as ?narrative) bind(lang(?narrative_lit) as ?lang) } } optional { graph ?pg { ?ag prov:wasAttributedTo ?creator . optional { ?creator rdfs:label ?creator_label } optional { ?creator prov:actedOnBehalfOf ?group . optional { ?group rdfs:label ?group_label } } } } } order by desc(?datetime)""" . } 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-05-20T13:48:34Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-colonial-collections-provenance-events; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "lunGaZmECyiwVEbVolLT5EazPMTagFqRhnpJxpRWcQK/0OAHm2GqLVAyOC/HBtAZbdeLabl4hb530DvQXqhTZd1cp71emYywisKgGy3Mr8SC5jWwmfQiuDbqxiXpuL4bS7YQzXG6TMLbuLcvMs2llSscjv+xJ6y6zOyjE86vFcM="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-colonial-collections-annotations a ; dct:description "Returns all Web Annotations (oa:Annotation) contained in Colonial Collections nanopubs, together with their specific content subtype, the scope (which field of the target object the annotation refines), the source object (with a short label derived from its identifier), the body text and its language, the community group on whose behalf the annotation was made, the individual creator, and the creation date. Sorted from most recent first."; dct:license ; rdfs:label "Get Colonial Collections annotations"; ; """prefix rdf: prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix oa: prefix prov: select ?subtype ?subtype_label ?scope ?scope_label ?source ?source_label ?body ?lang ?group ?group_label ?creator ?creator_label ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?datetime ; np:hasAssertion ?ag ; np:hasProvenance ?pg ; np:hasPublicationInfo ?pig . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?inv npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } bind(substr(str(?datetime), 1, 10) as ?date) graph ?pig { ?np a ?subtype . filter(strstarts(str(?subtype), \"https://n2t.net/ark:/27023/9819f32405815dc7f2e0ecd9d8a9e604#\") && str(?subtype) != \"https://n2t.net/ark:/27023/9819f32405815dc7f2e0ecd9d8a9e604#Nanopub\") bind(strafter(str(?subtype), \"#\") as ?subtype_label) } graph ?ag { ?anno a oa:Annotation ; oa:hasBody ?b ; oa:hasTarget ?t . ?b rdf:value ?body_lit . bind(str(?body_lit) as ?body) bind(lang(?body_lit) as ?lang) optional { ?t oa:hasScope ?scope . bind(if(contains(str(?scope), \"#\"), strafter(str(?scope), \"#\"), str(?scope)) as ?scope_label) } optional { ?t oa:hasSource ?source . bind(substr(replace(str(?source), \"^.*/\", \"\"), 1, 8) as ?source_label) } } optional { graph ?pg { ?ag prov:wasAttributedTo ?creator . optional { ?creator rdfs:label ?creator_label } optional { ?creator prov:actedOnBehalfOf ?group . optional { ?group rdfs:label ?group_label } } } } } order by desc(?datetime)""" . } 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-05-20T13:38:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-colonial-collections-annotations; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "bWVROEYs18BzbHtDeXqnobk4wKAlnA/85VkQRG3wA1PJPE3AisuG9JhZplzYEtBTzlZ5K349yyd9m5wvQkchGujqE0u+curdKbhmwmlRzfCRHE25uxiioE49X4KnadVYipPxGGdDmn6db1eWg9wdXqmns1N52PgZzjPF+TgWUyM="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-agenda-items-for-event a ; dct:description "Returns all agenda items belonging to the given event, with label, description, related spaces, links, creator, and nanopub link."; dct:license ; rdfs:label "Get agenda items for event"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix gen: select ?item ?item_label ?description (group_concat(distinct str(?space); separator=\" \") as ?spaces_multi_iri) (group_concat(distinct concat('link'); separator=\", \") as ?link) ?creator ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } ?np dct:created ?npdate . ?np dct:creator ?creator . ?np np:hasAssertion ?a . ?np npx:introduces ?item . } values ?_event_multi_iri {} graph ?a { ?item a gen:AgendaItem . ?item dct:isPartOf ?_event_multi_iri . optional { ?item rdfs:label ?item_label . } optional { ?item dct:description ?description . } optional { ?item schema:about ?space . } optional { ?item rdfs:seeAlso ?link . } } } group by ?item ?item_label ?description ?creator ?np ?npdate order by asc(?npdate)""" . } 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-05-20T12:00:44Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-agenda-items-for-event; npx:supersedes ; rdfs:label "Get agenda items for event"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "m8ASHYbpPd83TN3mICiW1r+/33xQZFgQxTzeoMnDADdNaLE6qAEhl0N6jCOlEH8iN99XVW9OXblydmDfTk5fynatA5IHlKJ/yljHDxRjdE+U9CZziuE7cXHGfLcqhCj4uSd0pZ1+1W36hE/1+SvSL0yvfFuVreH/HaJuzmBIE28="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-status-updates-for-event a ; dct:description "Returns all status updates belonging to the given event, with label, description, concerned spaces, links, creator, and nanopub link."; dct:license ; rdfs:label "Get status updates for event"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix gen: select ?item ?item_label ?description (group_concat(distinct str(?space); separator=\" \") as ?spaces_multi_iri) (group_concat(distinct concat('link'); separator=\", \") as ?link) ?creator ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } ?np dct:created ?npdate . ?np dct:creator ?creator . ?np np:hasAssertion ?a . ?np npx:introduces ?item . } values ?_event_multi_iri {} graph ?a { ?item a gen:StatusUpdate . ?item dct:isPartOf ?_event_multi_iri . ?item schema:about ?space . optional { ?item rdfs:label ?item_label . } optional { ?item dct:description ?description . } optional { ?item rdfs:seeAlso ?link . } } } group by ?item ?item_label ?description ?creator ?np ?npdate order by asc(?npdate)""" . } 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-05-20T12:00:44Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-status-updates-for-event; npx:supersedes ; rdfs:label "Get status updates for event"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "GaDjAOh1psqKmaZNoX7f8y7VAmWGeuiWuZv204teE+wjEI9xAHNsF8U0hkb2L4DdBaQ0n5zb+mXhcnjV7nFV7O2vZhN86xlhQkUvMLFs1pmaBCqxqpnOtKcFfQ7vwebS8AXrjRVWgTGbwfquSfYkJPrsIvrgo1cCYJ+MyRKKI+w="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:SnamakeReportRegistrations a ; dct:description "Will list all Snakemake report registrations created by this template: https://w3id.org/np/RAsmNjwvzjYfc8Hson0gyjSL6Oov3nZZEfRy7TOFtO5I8 - will need update if the template updates."; dct:license ; rdfs:label "Snakemake Report Registrations"; ; """PREFIX np: PREFIX npa: PREFIX npx: PREFIX dct: SELECT DISTINCT ?np ?date WHERE { # any triple (any graph) where the template appears as object ?np ?p . # get its creation date (admin graph) GRAPH npa:graph { ?np dct:created ?date } } LIMIT 100""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0003-2408-7588 . } sub:pubinfo { orcid:0000-0003-2408-7588 foaf:name "Christian Meesters" . this: dct:created "2026-05-20T10:03:58.076Z"^^xsd:dateTime; dct:creator orcid:0000-0003-2408-7588; dct:license ; npx:embeds sub:SnamakeReportRegistrations; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+DVJTSCzdJUJMzlwRfb2Qm2NZpuZ932RpVliWxMAhmZ6ZkeeibmJlW/Z0q51YkFArJIWbJ0f7rLQWM5epuZV4I5cjMqepOWGey6LrPolMs8lI9dJf9zW9lJsneV+py3U8WsrB6mg//pkEeXnVDd+WscADyXJ5EeLwoZjCkPn8/QIDAQAB"; npx:hasSignature "EkRmNSFMnn2MPbA2ddFTfKuz3zZKdtaR5NBTplNOFHm/vjBCFmXEfl2Djq2IvD5Suc8g19Xt8KgH1uoXVP93ZQKql5iK+F6bTU2JzCOeX/MulHLgJP5EU4Oz7YLpGvdWE5vnDoOl8MMQ9aifpPFmeJIZAC1N5oOJ/Ogj0IED1/o="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0003-2408-7588 . } @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 { sub:SnakemakeWorkflowRegistrations a ; dct:description "Will return all workflow registered with https://w3id.org/np/RAOT7z3RA0XYlHIikne8rfUUYZrtHyrzXBD1HpI_GvcRk - might need updates from time to time."; dct:license ; rdfs:label "Snakemake Workflow Registrations"; ; """PREFIX np: PREFIX npa: PREFIX npx: PREFIX dct: SELECT DISTINCT ?np ?date WHERE { # any triple (any graph) where the template appears as object ?np ?p . # get its creation date (admin graph) GRAPH npa:graph { ?np dct:created ?date } } LIMIT 100""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0003-2408-7588 . } sub:pubinfo { orcid:0000-0003-2408-7588 foaf:name "Christian Meesters" . this: dct:created "2026-05-20T10:00:15.672Z"^^xsd:dateTime; dct:creator orcid:0000-0003-2408-7588; dct:license ; npx:embeds sub:SnakemakeWorkflowRegistrations; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+DVJTSCzdJUJMzlwRfb2Qm2NZpuZ932RpVliWxMAhmZ6ZkeeibmJlW/Z0q51YkFArJIWbJ0f7rLQWM5epuZV4I5cjMqepOWGey6LrPolMs8lI9dJf9zW9lJsneV+py3U8WsrB6mg//pkEeXnVDd+WscADyXJ5EeLwoZjCkPn8/QIDAQAB"; npx:hasSignature "ukOlCeOJTqOppiPnsDOHIpj6Siymu75EK5q6VOGRwQGxdPfB8lgBjYMry6NjY1rjeCbEPrqybDtM9TpUn5uwNx4joQwmowyY0SmvhbirkS8SB3KQe65yemMAy/WxYVxP+YTa3buEVvutERzubcVMq2X075/gMfi7/QOKhJqDmC4="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0003-2408-7588 . } @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 { sub:get-sub-resources a ; dct:description "This query returns the sub-resources of a Space or Maintained Resource."; dct:license ; rdfs:label "Get sub-resources of Space or Maintained Resource"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select ?resource ?resource_label ?entity_main_type ?np where { graph npa:graph { values ?entity_main_type { gen:Space gen:MaintainedResource } ?np npx:hasNanopubType ?entity_main_type . ?np npx:introduces ?resource . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . filter not exists { ?np2 npx:introduces ?resource . ?np2 npa:hasValidSignatureForPublicKeyHash ?pubkey2 . filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . } ?np2 dct:created ?date2 . filter( ?date2 > ?date ) } } graph ?a { { { values ?_super_resource_multi_iri {} ?resource a ?entity_main_type . filter(strstarts(str(?resource), concat(str(?_super_resource_multi_iri), \"/\"))) bind(substr(str(?resource), strlen(str(?_super_resource_multi_iri)) + 2, strlen(str(?resource)) - strlen(str(?_super_resource_multi_iri)) - 1) as ?suffix) filter(!contains(?suffix, \"/\")) } union { values ?_super_resource_multi_iri {} ?resource a gen:Space . ?resource dct:isPartOf ?_super_resource_multi_iri . } union { values ?_super_resource_multi_iri {} ?resource a gen:MaintainedResource . ?resource gen:isMaintainedBy ?_super_resource_multi_iri . } } filter exists { ?resource a ?__resource_type_iri } ?resource rdfs:label ?resource_label . } } order by ?resource_label""" . } 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-05-20T09:09:37.191+02:00"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-sub-resources; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Cpd5YCmxO0EXCwzQuV8LHKx0B4ZXlseDqIjiookKBnJCiaWd9u7k0s2TSPm884smdpOZXE85t7xRBRY0CM47CCOvI72gEMWaTv6Ch1IFTGwQ9TpHjy5Neid3hVCJXl+rrQ3XFhvBjmzJsyJlOdxP3KOarkBXo/9m/VrTTOMPm70="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-archive-urls a grlc:grlc-query; dct:description "Returns all resource-to-archive-URL relations (Wikidata P1065), with the source nanopublication and creation timestamp, ordered by latest first."; dct:license ; rdfs:label "Get archive URLs"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix wd: select ?resource ?archive_url ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } ?np np:hasAssertion ?a . ?np dct:created ?date . } graph ?a { ?resource wd:P1065 ?archive_url . } } order by desc(?date)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { this: dct:created "2026-05-20T06:37:05Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-archive-urls; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Ad+dFhmDbPSImsB4nagU4Q75MzZSEt0o/B0xSEI+ucuHrzqnV0BGVZLFu5yXMO3gFSenXslPVFH4VG4okdFdIHtgsobK9fwnjT7kbrHiOevVaux9ho3HVR1m+447XbCA7AmPqO79yTIkjTJqhBrIa+u2aAkihO55TMUuaQdTxxA="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:SakemakeTerm a ; dct:description "lists all nanopubs mentioning the Snakemake Workflow Management System"; dct:license ; rdfs:label "Snakemake Mentionings"; ; """PREFIX np: PREFIX dct: PREFIX npa: PREFIX npx: prefix kpxl: SELECT DISTINCT ?np ?assertion ?p ?o WHERE { ?np a np:Nanopublication ; np:hasAssertion ?assertion . GRAPH ?assertion { ?s ?p ?o . FILTER ( isLiteral(?o) && REGEX(STR(?o), \"snakemake\", \"i\") ) } } #LIMIT 100""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0003-2408-7588 . } sub:pubinfo { orcid:0000-0003-2408-7588 foaf:name "Christian Meesters" . this: dct:created "2026-05-19T18:50:43.630Z"^^xsd:dateTime; dct:creator orcid:0000-0003-2408-7588; dct:license ; npx:embeds sub:SakemakeTerm; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+DVJTSCzdJUJMzlwRfb2Qm2NZpuZ932RpVliWxMAhmZ6ZkeeibmJlW/Z0q51YkFArJIWbJ0f7rLQWM5epuZV4I5cjMqepOWGey6LrPolMs8lI9dJf9zW9lJsneV+py3U8WsrB6mg//pkEeXnVDd+WscADyXJ5EeLwoZjCkPn8/QIDAQAB"; npx:hasSignature "SuieVOeNwBsN4pFSAQAew3yHPke871wZtubEBEdIEzabYtKgeTO/AzgHg9ICW+C42NI6S6ybxWoGJTSQVHa5+sUABpLtugAJvtSWCMh2QhkHnlsVxdNjflOnzPI42Y4pGNk6q1d9A+CDQaCAMx8YacFerWLwCQU12ApXLanWrKk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0003-2408-7588 . } @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 { sub:get-nfdi-significant-persons a ; dct:description "Lists all significant persons (wd:P3342) for NFDI consortiums (wd:Q98270496), sorted by creation date (latest first)."; dct:license ; rdfs:label "Get significant persons for NFDI consortiums"; ; """prefix rdf: prefix dct: prefix np: prefix npa: prefix npx: prefix nt: prefix wd: select ?consortium ?consortium_label ?person ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?pi . ?np dct:created ?date . } graph ?a { ?consortium a wd:Q98270496 ; wd:P3342 ?person . } optional { graph ?pi { ?consortium nt:hasLabelFromApi ?api_label . } bind(if(contains(?api_label, \" - \"), strbefore(?api_label, \" - \"), ?api_label) as ?consortium_label) } } order by desc(?date)""" . } 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-05-19T08:28:18Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-nfdi-significant-persons; rdfs:label "Get significant persons for NFDI consortiums"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Bet18CQfZE0Md9tOgiqlrSzngBWt9aUzyGCSyL0kR4QwKrgugvfmQ5ymOHjZ0pTaq5uyvU80QJlUzdZxe+sRuTbIfqL3RFMrjMuyJMm+H0+HCVnFuDwX3vw5ylD/8KC7nI/hpse6dV+hoc5KjMKLCyO2BL4pan61kRacTKdf4Uo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:find-gofair-qualified-things a ; dct:description "This query allows for searching for resources (FERs etc.) together with the info about whether GO FAIR qualified them."; dct:license ; rdfs:label "Find GO FAIR qualified things"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix fip: prefix prov: select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np (group_concat(distinct ?recommender; separator=\" \") as ?recommenders) (group_concat(distinct ?recommendation_np; separator=\" \") as ?recommendation_nps) (count(distinct ?recommender) as ?recommender_count) (sample(?fairAssessmentLevel) as ?fairAssessmentLevel) (sample(?fairAssessmentLevelNp) as ?fairAssessmentLevelNp) where { graph npa:graph { npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > \"2022\") } bind(concat(\" \",lcase(str(?label)),\" \",lcase(str(?description)),\" \") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph npa:graph { filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } ?disapproval np:hasAssertion ?da . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than \"filter not exists\" for some reason optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } ?recommendation_np np:hasAssertion ?ra . ?recommendation_np np:hasProvenance ?rp . } graph ?ra { ?thing fip:recommended-by ?recommender . } graph ?rp { ?ra prov:wasDerivedFrom ?rfip_np . } graph npa:graph { ?rfip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . ?latest_rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . filter not exists { ?latest_rfip_npx npx:invalidates ?latest_rfip_np ; npa:hasValidSignatureForPublicKey ?rfip_pubkey . } } graph npa:networkGraph { ?latest_rfip_np (npx:supersedes)* ?rfip_np . } graph ?rfip_qa { ?rfip_qualifier npx:qualifies ?latest_rfip_np . } graph npa:graph { ?rfip_qualification_np np:hasAssertion ?rfip_qa . ?rfip_qualification_np npx:hasNanopubType npx:qualifies . ?rfip_qualification_np npa:hasValidSignatureForPublicKey ?rfip_qpubkey . filter not exists { ?rfip_qualification_np_x npx:invalidates ?rfip_qualification_np ; npa:hasValidSignatureForPublicKey ?rfip_qpubkey . } } graph ?latest_curators_assertion { ?rfip_qpubkeys npx:hasPublicKey ?rfip_qpubkey . } } optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph npa:graph { filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } ?qualification_np np:hasAssertion ?qa . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?fairAssessmentLevelNp npx:hasNanopubType fip:has-FAIR-assessment . ?fairAssessmentLevelNp npa:hasValidSignatureForPublicKey ?lpubkey . } graph ?latest_curators_assertion { ?lpubkeys npx:hasPublicKey ?lpubkey . } graph npa:graph { filter not exists { ?fairAssessmentLevelNp_x npx:invalidates ?fairAssessmentLevelNp ; npa:hasValidSignatureForPublicKey ?lpubkey . } ?fairAssessmentLevelNp np:hasAssertion ?la . } graph ?la { ?thing fip:has-FAIR-assessment ?fairAssessmentLevel . } } filter(!bound(?levelNp)) # Faster than \"filter not exists\" for some reason } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by desc(?recommender_count) asc(?label)""" . } 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-05-18T07:41:03.729Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:find-gofair-qualified-things; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "ysEgP2nJbAGJs5fQ+4HvAUc8tqTbE1Ov4f9yjIEuuV73MSO2w1SMgNLl/4rbihFrVXwYt9kdoDL6mKTtOP8Rz8Oa/gReNHw4XuKAvKGp/05nOzCEyNjMS4SyQnBaQ/HDAyM04yhP98ivo/n0ioLaR3K+IIIdZy7OGE4CM6KP4fk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-rocrate-nanopubs a ; dct:description "This query returns all RO-Crate nanopubs. Including the old and new type."; dct:license ; rdfs:label "Get all RO-Crate nanopubs"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix kpxl: # find all ro-crates, with old and new nanopub type select distinct ?rocrate ?date ?np where { graph npa:graph { {?np npx:hasNanopubType kpxl:RoCrateNanopub .} union {?np npx:hasNanopubType npx:RoCrateNanopub .} ?np npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyhash . } ?np dct:created ?date . ?np npx:introduces ?rocrate . ?np npx:signedBy ?agent_iri . } } order by desc(?date)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0009-0008-3635-347X . } sub:pubinfo { orcid:0009-0008-3635-347X foaf:name "Ziroli Plutschow" . this: dct:created "2026-05-13T14:58:41.537Z"^^xsd:dateTime; dct:creator orcid:0009-0008-3635-347X; dct:license ; npx:embeds sub:get-rocrate-nanopubs; npx:supersedes ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRxqE9AJd10geyZVSAzaTl5ly3X0EBV59zn6ot8ZdcB77wkUqI44Mw5IYeG/isXoAZqq5yXWZjMOk0Uv94jqu31KnXlv2cazidBqJeO9GD0UAfX6hU3mpbC6Hj3MFNDYEDMX/yAC55oOr78B93NqhdiTieTMKzNe/kHyVhCIPjgQIDAQAB"; npx:hasSignature "AVaI97UVGfXYiydYNadqujglY8BBIiL9rySX8UeMKzEeE2XDGVIFUhMtnJf2ygsueKHRI1F68AAIatRxR4fix13tr4k8hC7aznX5bgWlz4Ci1WyTl5+vOWdjItYRe3bhx/FEJI/5zz+IyGqUz+cbDkqBXGthDCdijdFmRTtBBJs="; npx:hasSignatureTarget this:; npx:signedBy orcid:0009-0008-3635-347X . } @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 { sub:find-gofair-qualified-things-valid a ; dct:description "This query allows for searching for resources (FERs etc.) together with the info about whether GO FAIR qualified them."; dct:license ; rdfs:label "Find GO FAIR qualified things (only valid entries)"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix fip: prefix prov: select distinct ?thing ?label ?description ?np ?date ?pubkey ?qualifier ?qualification_np (group_concat(distinct ?recommender; separator=\" \") as ?recommenders) (group_concat(distinct ?recommendation_np; separator=\" \") as ?recommendation_nps) (count(distinct ?recommender) as ?recommender_count) (sample(?fairAssessmentLevel) as ?fairAssessmentLevel) (sample(?fairAssessmentLevelNp) as ?fairAssessmentLevelNp) where { graph npa:graph { npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } filter not exists { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > \"2022\") } bind(concat(\" \",lcase(str(?label)),\" \",lcase(str(?description)),\" \") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph npa:graph { filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } ?disapproval np:hasAssertion ?da . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than \"filter not exists\" for some reason optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } ?recommendation_np np:hasAssertion ?ra . ?recommendation_np np:hasProvenance ?rp . } graph ?ra { ?thing fip:recommended-by ?recommender . } graph ?rp { ?ra prov:wasDerivedFrom ?rfip_np . } graph npa:graph { ?rfip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . ?latest_rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . filter not exists { ?latest_rfip_npx npx:invalidates ?latest_rfip_np ; npa:hasValidSignatureForPublicKey ?rfip_pubkey . } } graph npa:networkGraph { ?latest_rfip_np (npx:supersedes)* ?rfip_np . } graph ?rfip_qa { ?rfip_qualifier npx:qualifies ?latest_rfip_np . } graph npa:graph { ?rfip_qualification_np np:hasAssertion ?rfip_qa . ?rfip_qualification_np npx:hasNanopubType npx:qualifies . ?rfip_qualification_np npa:hasValidSignatureForPublicKey ?rfip_qpubkey . filter not exists { ?rfip_qualification_np_x npx:invalidates ?rfip_qualification_np ; npa:hasValidSignatureForPublicKey ?rfip_qpubkey . } } graph ?latest_curators_assertion { ?rfip_qpubkeys npx:hasPublicKey ?rfip_qpubkey . } } optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph npa:graph { filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } ?qualification_np np:hasAssertion ?qa . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?fairAssessmentLevelNp npx:hasNanopubType fip:has-FAIR-assessment . ?fairAssessmentLevelNp npa:hasValidSignatureForPublicKey ?lpubkey . } graph ?latest_curators_assertion { ?lpubkeys npx:hasPublicKey ?lpubkey . } graph npa:graph { filter not exists { ?fairAssessmentLevelNp_x npx:invalidates ?fairAssessmentLevelNp ; npa:hasValidSignatureForPublicKey ?lpubkey . } ?fairAssessmentLevelNp np:hasAssertion ?la . } graph ?la { ?thing fip:has-FAIR-assessment ?fairAssessmentLevel . } } filter(!bound(?levelNp)) # Faster than \"filter not exists\" for some reason } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by desc(?recommender_count) asc(?label)""" . } 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-05-13T13:14:34.472Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:find-gofair-qualified-things-valid; npx:supersedes ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "f2+QJRxaejfrxhOPUAZu+fNqNBT7rE4xJP6kiKf0wWQNEPu0Hr9INzZEzWACkewORDZsd9xryCPZoMBlgld7hRN/7hpVicf+9554YWMq3AMoAaq4cYLf996DI/HujbP1A6gym6KKYTyfZGAyRe0qqBLNWh9Gix8GnK+yneuRZ1w="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix dcterms: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix ns1: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-all-rocrate-nanopubs a ; dcterms:description "This query returns all RO-Crate nanopubs."; dcterms:license ; rdfs:label "Get all RO-Crate Nanopubs (new type)"; ; "prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix kpxl: select distinct ?rocrate ?date (?__agent_iri as ?agent) ?np (?__pubkeyhash as ?pubkey) where { graph npa:graph { ?np npx:hasNanopubType kpxl:RoCrateNanopub . ?np npa:hasValidSignatureForPublicKeyHash ?__pubkeyhash . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?__pubkeyhash . } ?np dct:created ?date . ?np npx:introduces ?rocrate . ?np npx:signedBy ?__agent_iri . } } order by desc(?date)" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0009-0008-3635-347X . } sub:pubinfo { orcid:0009-0008-3635-347X foaf:name "Ziroli Plutschow" . this: dcterms:created "2026-05-12T12:55:59.576Z"^^xsd:dateTime; dcterms:creator orcid:0009-0008-3635-347X; dcterms:license ; npx:wasCreatedAt ; prov:wasDerivedFrom , ; nt:wasCreatedFromProvenanceTemplate ns1:RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate ns1:RAFu2BNmgHrjOTJ8SKRnKaRp-VP8AOOb7xX88ob0DZRsU . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRxqE9AJd10geyZVSAzaTl5ly3X0EBV59zn6ot8ZdcB77wkUqI44Mw5IYeG/isXoAZqq5yXWZjMOk0Uv94jqu31KnXlv2cazidBqJeO9GD0UAfX6hU3mpbC6Hj3MFNDYEDMX/yAC55oOr78B93NqhdiTieTMKzNe/kHyVhCIPjgQIDAQAB"; npx:hasSignature "Osa2P2/dkgkpvYSL6fBV/qGfesz9fgpuNDxMQgySiBVfDg+oUUazlFcSmY8aLKMIS7JX9PAFjsbWbhLrCR1jO0wh8FNxITbolkp8Rd8d1pepmKsLnfyFM5hCRKrt6QGDWazXH0LrA8xWszCAkfv1wAG5QQc5AtinljCHWFs4RNo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0009-0008-3635-347X . } @prefix this: . @prefix sub: . @prefix np: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix dcterms: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix ns1: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-all-rocrate-nanopubs a ; dcterms:description "This query returns all RO-Crate nanopubs."; dcterms:license ; rdfs:label "Get all RO-Crate Nanopubs (new type)"; ; "prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix kpxl: select distinct ?rocrate ?date (?__agent_iri as ?agent) ?np (?__pubkeyhash as ?pubkey) where { graph npa:graph { ?np npx:hasNanopubType kpxl:RoCrateNanopub . ?np npa:hasValidSignatureForPublicKeyHash ?__pubkeyhash . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?__pubkeyhash . } ?np dct:created ?date . ?np npx:introduces ?rocrate . ?np npx:signedBy ?__agent_iri . } } order by desc(?date)" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0009-0008-3635-347X . } sub:pubinfo { orcid:0009-0008-3635-347X foaf:name "Ziroli Plutschow" . this: dcterms:created "2026-05-12T12:55:48.391Z"^^xsd:dateTime; dcterms:creator orcid:0009-0008-3635-347X; dcterms:license ; npx:wasCreatedAt ; prov:wasDerivedFrom , ; nt:wasCreatedFromProvenanceTemplate ns1:RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate ns1:RAFu2BNmgHrjOTJ8SKRnKaRp-VP8AOOb7xX88ob0DZRsU . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRxqE9AJd10geyZVSAzaTl5ly3X0EBV59zn6ot8ZdcB77wkUqI44Mw5IYeG/isXoAZqq5yXWZjMOk0Uv94jqu31KnXlv2cazidBqJeO9GD0UAfX6hU3mpbC6Hj3MFNDYEDMX/yAC55oOr78B93NqhdiTieTMKzNe/kHyVhCIPjgQIDAQAB"; npx:hasSignature "EJp0VHJES5hTmvnMScbKcNgO71Ibw3eAje/aIgk1Jegcs0808KPYupaofMeNJlgw4Cjg/rzEdGKbqbUjiOeKIOP+IshdA3fLGqtWP8ikRmXPCk7RO2d/2IBXs7+YPepT1Y+TExC6B2xlcvTSnh/sl8Kph2amP9GYOQGF+u/uxDo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0009-0008-3635-347X . } @prefix this: . @prefix sub: . @prefix np: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix dcterms: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix ns1: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-all-rocrate-nanopubs a ; dcterms:description "This query returns all RO-Crate nanopubs."; dcterms:license ; rdfs:label "Get all RO-Crate Nanopubs (old type)"; ; "prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: select distinct ?rocrate ?date ?np where { graph npa:graph { ?np npx:hasNanopubType npx:RoCrateNanopub . filter not exists { ?npx npx:invalidates ?np } ?np dct:created ?date . ?np npx:introduces ?rocrate . }}order by desc(?date)" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0009-0008-3635-347X . } sub:pubinfo { orcid:0009-0008-3635-347X foaf:name "Ziroli Plutschow" . this: dcterms:created "2026-05-12T12:53:40.894Z"^^xsd:dateTime; dcterms:creator orcid:0009-0008-3635-347X; dcterms:license ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ns1:RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate ns1:RAFu2BNmgHrjOTJ8SKRnKaRp-VP8AOOb7xX88ob0DZRsU . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRxqE9AJd10geyZVSAzaTl5ly3X0EBV59zn6ot8ZdcB77wkUqI44Mw5IYeG/isXoAZqq5yXWZjMOk0Uv94jqu31KnXlv2cazidBqJeO9GD0UAfX6hU3mpbC6Hj3MFNDYEDMX/yAC55oOr78B93NqhdiTieTMKzNe/kHyVhCIPjgQIDAQAB"; npx:hasSignature "FISIQ5LkG6zFdsyajwOqeaVXyPOjOgY3rs5PfQESeuB45TjN+HRUNn6noF2GQs4tBNWrxsDvZkRVDAYF52LSMpPBlBtTUUq9qBHayHbFtPRcAe9j97Ot0pyv9wNrEgPbtXRmjAvksmf5eajceVzyukHXO1i+TZDhu6tVTu1eYIU="; npx:hasSignatureTarget this:; npx:signedBy orcid:0009-0008-3635-347X . } @prefix this: . @prefix sub: . @prefix np: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix dcterms: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix ns1: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-all-rocrate-nanopubs a ; dcterms:description "This query returns all RO-Crate nanopubs."; dcterms:license ; rdfs:label "Get all RO-Crate Nanopubs (old type)"; ; "prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: select distinct ?rocrate ?date ?np where { graph npa:graph { ?np npx:hasNanopubType npx:RoCrateNanopub . filter not exists { ?npx npx:invalidates ?np } ?np dct:created ?date . ?np npx:introduces ?rocrate . }}order by desc(?date)" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0009-0008-3635-347X . } sub:pubinfo { orcid:0009-0008-3635-347X foaf:name "Ziroli Plutschow" . this: dcterms:created "2026-05-12T12:53:26.853Z"^^xsd:dateTime; dcterms:creator orcid:0009-0008-3635-347X; dcterms:license ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ns1:RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate ns1:RAFu2BNmgHrjOTJ8SKRnKaRp-VP8AOOb7xX88ob0DZRsU . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRxqE9AJd10geyZVSAzaTl5ly3X0EBV59zn6ot8ZdcB77wkUqI44Mw5IYeG/isXoAZqq5yXWZjMOk0Uv94jqu31KnXlv2cazidBqJeO9GD0UAfX6hU3mpbC6Hj3MFNDYEDMX/yAC55oOr78B93NqhdiTieTMKzNe/kHyVhCIPjgQIDAQAB"; npx:hasSignature "SxLpxXvPF7JUc+rKtjWvibhTYJtBWgnauFSPgrCOoTIYo9AbGjInKx5+wEFX2a5J0pClZisRjI7emwf3ugmGWcxZLAAt3qDReQc13OPxE/0SPozz6pUFAE7tplCF8SoyF6UxGKkodjO+lFL2QU9f5ek6u8qhK9Hq/1phbb8DChk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0009-0008-3635-347X . } @prefix this: . @prefix sub: . @prefix np: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix dcterms: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix ns1: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-all-rocrate-nanopubs a ; dcterms:description "This query returns all RO-Crate nanopubs."; dcterms:license ; rdfs:label "Get all RO-Crate Nanopubs (old type)"; ; "prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: select distinct ?rocrate ?date ?np where { graph npa:graph { ?np npx:hasNanopubType npx:RoCrateNanopub . filter not exists { ?npx npx:invalidates ?np } ?np dct:created ?date . ?np npx:introduces ?rocrate . }}order by desc(?date)" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0009-0008-3635-347X . } sub:pubinfo { orcid:0009-0008-3635-347X foaf:name "Ziroli Plutschow" . this: dcterms:created "2026-05-12T12:52:58.722Z"^^xsd:dateTime; dcterms:creator orcid:0009-0008-3635-347X; dcterms:license ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ns1:RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate ns1:RAFu2BNmgHrjOTJ8SKRnKaRp-VP8AOOb7xX88ob0DZRsU . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRxqE9AJd10geyZVSAzaTl5ly3X0EBV59zn6ot8ZdcB77wkUqI44Mw5IYeG/isXoAZqq5yXWZjMOk0Uv94jqu31KnXlv2cazidBqJeO9GD0UAfX6hU3mpbC6Hj3MFNDYEDMX/yAC55oOr78B93NqhdiTieTMKzNe/kHyVhCIPjgQIDAQAB"; npx:hasSignature "b6Q5uTmo/rjiVA6tDcbBALnxdw2NBx+TygPy2t6lTitIx25cEUQ2vcXUbhjiUvNR/fVJ3ew+XCNVINzACcIFGbC23tp/EsNMmEzsoZZSH719c+RRyhubfDbNlYgjBAFub9ndm3eVdfzMmg3SRqU1BcavQQU0FtqQ34R6wLYWyE8="; npx:hasSignatureTarget this:; npx:signedBy orcid:0009-0008-3635-347X . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-faqs a grlc:grlc-query; dct:description "This query returns the FAQ entries (questions and answers) of an entity, including source nanopub and date. When several nanopubs declare the same FAQ entry, only the most recent one is returned."; dct:license ; rdfs:label "Get FAQ entries of an entity"; grlc:endpoint ; grlc:sparql """prefix rdf: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix gen: select ?title ?content ?date ?faq ?np where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?faq rdf:type schema:Question . ?faq rdfs:label ?title . ?faq gen:hasContent ?content . values ?_resource_multi_iri {} ?faq dct:isPartOf ?_resource_multi_iri . optional { ?faq gen:hasPositionString ?position } } filter not exists { graph npa:graph { ?np2 npa:hasValidSignatureForPublicKeyHash ?pubkey2 . filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . } ?np2 dct:created ?date2 . ?np2 np:hasAssertion ?a2 . filter (?date2 > ?date) } graph ?a2 { ?faq rdf:type schema:Question . } } } order by ?position ?title""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { this: dct:created "2026-05-09T21:08:58Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-faqs; npx:supersedes ; rdfs:label "Get FAQ entries of an entity"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "PBy0PS823UWCNVsioqXnkbi3ZpK1K7J7cp0G3VSxsB3Ctq92P1R+thxeOK/h4I8hXZma467tFYHwyI6uHfLGWiOpzAFPp4RhLn8pbeMf4iEpLIm9zSlCCZtAVXySJKCKhyp2K/aejVFAX7LtDdHMMOEAthGRxuC+J4ZJMe4M5I0="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-fip-decl-in-index a ; dct:description "This query returns all FIP declarations that are part of the most recent versions of the FIP indexes, as these nanopubs are produced by the FIP Wizard."; dct:license ; rdfs:label "Get FIP declarations in indexes"; ; """prefix rdfs: prefix fip: prefix dct: prefix dce: prefix npa: prefix npx: prefix np: prefix prov: select ?fip_index ?fip_title ?fip_source ?decl_np where { graph npa:graph { ?fip_index npx:hasNanopubType npx:NanopubIndex . ?fip_index npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?index_np_x npx:invalidates ?fip_index ; npa:hasValidSignatureForPublicKey ?pubkey . } ?fip_index np:hasAssertion ?index_a . ?fip_index np:hasPublicationInfo ?index_i . ?fip_index rdfs:label ?fip_title . ?fip_index dct:created ?index_date . ?decl_np npa:hasValidSignatureForPublicKey ?decl_pubkey . filter not exists { ?decl_np_x npx:invalidates ?decl_np ; npa:hasValidSignatureForPublicKey ?decl_pubkey . } ?decl_np npx:hasNanopubType fip:FIP-Declaration . ?decl_np dct:created ?date . } graph ?index_a { ?fip_index npx:includesElement ?decl_np . } graph ?index_i { ?fip_index prov:wasDerivedFrom ?fip_source . } filter not exists { graph npa:graph { # Moving this to a separate graph for performance reasons with RDF4J LMDB engine # Matching on the title string is an ugly hack: ?fip_newer_index rdfs:label ?fip_title . } graph npa:graph { ?fip_newer_index npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?fip_newer_index_x npx:invalidates ?fip_newer_index ; npa:hasValidSignatureForPublicKey ?pubkey . } ?fip_newer_index dct:created ?newer_date . } filter(?newer_date > ?index_date). } }""" . } 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-05-05T06:48:04.104Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-fip-decl-in-index; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "okIR+43Pn4jQCsTWHUPnmzMkpm17kXcn48poFC3x0RCtRYN/uy4Z74bXiXpT+V1I8bj8Ajrta2p/JfnpsOuQhsAaibpSqecnrDtxckA2ypvHqvzKXG8j1wuuNf4WGIdB5y1dcVcE7PO2ucV6YnPUokzfePmPdwYaCSkM8MqJmVY="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-annotated-entities a ; dct:description "Lists all entities that have been annotated by nanopubs containing oa:Annotation, ordered by the number of annotation nanopubs targeting each entity."; dct:license ; rdfs:label "Get annotated entities"; ; """prefix np: prefix npa: prefix npx: prefix oa: select ?entity (count(?np) as ?annotation_count) (group_concat(str(?np); separator=\" \") as ?nps_multi_iri) (group_concat(\"^\"; separator=\"\\n\") as ?nps_label_multi) where { { select distinct ?entity ?np where { graph npa:graph { ?np np:hasAssertion ?a . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } } graph ?a { ?annotation a oa:Annotation ; oa:hasTarget ?target . ?target oa:hasSource ?entity . } } } } group by ?entity order by desc(?annotation_count)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { this: dct:created "2026-04-28T17:32:26Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-annotated-entities; npx:supersedes ; rdfs:label "Get annotated entities"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "OuV1Q0oMpJS5xegUQyo1m+RT6bfXaIcOxvg2zZd1XH2IiZNnnaX4Qih4GcClNk+jFFHWkh7s7dgsOMSf/1MgER+2vDW5Y0hyC6BkgHLKem+H8EAFcodp/85SWbYIq+DG5cUv26RCceziB785l3cPMn+x4Jj2qc5DhdNGmDY5QBk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-papers-for-team a ; dct:description "This query returns the papers co-authored by team members of a given Space."; dct:license ; rdfs:label "Get papers for team"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix fabio: prefix bibo: prefix gen: select distinct ?paper ?paper_label ?journal ?journal_label ?publication_date ?np (\"^\" as ?np_label) where { values ?_space_multi_iri {} graph npa:graph { ?mnp npa:hasValidSignatureForPublicKeyHash ?mpubkey . filter not exists { ?mnpx npx:invalidates ?mnp ; npa:hasValidSignatureForPublicKeyHash ?mpubkey . } ?mnp np:hasAssertion ?ma . } graph ?ma { ?_space_multi_iri gen:hasTeamMember ?author . } graph npa:graph { ?np npx:hasNanopubType fabio:ScholarlyWork . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . ?np npx:introduces ?paper . } graph ?a { ?paper dct:title ?paper_label . ?paper bibo:authorList ?author_list . ?paper dct:date ?publication_date . ?author_list ?rdfseqpred ?author . filter(strstarts(str(?rdfseqpred), \"http://www.w3.org/1999/02/22-rdf-syntax-ns#_\")) optional { ?paper dct:isPartOf ?journal . ?journal dct:title ?journal_label . } } } order by desc(?publication_date)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { this: dct:created "2026-04-27T14:36:10Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-papers-for-team; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "fjKAqXwHC5MycBHHsRv09AU9wPBrnVN/BIj0v0etnZMLoHh1MCsX4soQ8TAUNX+C8YFKsbrMgfHFZjcUi5RS2LtHQtnFQmLMEWeYLvm0R0gomwEWO28aZmTqvrsL1zxNPSdE9Y3rC/9olYWSqsVttoh1aAsPDRRjqVx4EsNTBCg="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:find-fdo-subclasses a ; dct:description "Full-text search over classes that have been declared as FAIR Digital Object (FDO) subclasses in nanopublications. Suitable as an autocomplete lookup source in Nanodash guided-choice placeholders."; dct:license ; rdfs:label "Full-text search on FDO subclasses"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix dct: prefix fdof: select distinct ?thing ?label ?description ?np ?pubkey ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:introduces|npx:describes|npx:embeds ?thing . ?np rdfs:label ?label . optional { ?np dct:description ?description . } ?np np:hasAssertion ?a . } graph ?a { ?thing rdfs:subClassOf fdof:FAIRDigitalObject . } filter(contains(lcase(str(?label)), lcase(?_query))) } order by desc(?date) limit 10""" . } 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-04-22T14:22:19Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:find-fdo-subclasses; npx:supersedes ; rdfs:label "Full-text search on FDO subclasses"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "PlH4t6lSJDwxgJhrt4eZmHY39LlOYpRpWlFwFih0RR9456yguk5erElm0vKD+NOjZQJ6kyvciZmTW6OHfZD1CO43lMZucuTEZZemOo/1XFEegRWa40Gg3rgGTZKwvs5DMiaa09H98Mxu8G5VGhZW+c7d7yYq59/3b0t8Pt0WDYM="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-pinned-templates-for-resource a ; dct:description "Returns the pinned templates for the given resource (Space, agent, or other resource), formatted for list display."; dct:license ; rdfs:label "Get pinned templates for resource"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix nt: prefix gen: select ?label ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:hasNanopubType gen:hasPinnedTemplate . ?np dct:created ?date . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?pi . } graph ?a { values ?_resource_multi_iri {} ?_resource_multi_iri gen:hasPinnedTemplate ?template . } optional { graph ?pi { ?template nt:hasLabelFromApi ?api_label } } bind(if(bound(?api_label), if(contains(?api_label, \" - \"), strbefore(?api_label, \" - \"), ?api_label), str(?template)) as ?rawlabel) bind(concat(\"\", ?rawlabel, \"\") as ?label) } order by desc(?date)""" . } 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-04-22T05:22:11Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-pinned-templates-for-resource; rdfs:label "Get pinned templates for resource"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "giYeQ3vvXWbdhGHD3D+iXCXmsB3l5AnBimk75pg0tEVdQagrtj72+ItuNmJNFT7RcVUoG4Fv3ImiocK5ej/1EDO+BhEzStR9BCpcVAPeor9t78eIoMkN4SoiUyrkeoj+otrdd/pLuauJzIS4k9lqddTq1eHh69fZn5FRbcbYkcI="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-pinned-queries-for-resource a ; dct:description "Returns the pinned queries for the given resource (Space, agent, or other resource), formatted for list display."; dct:license ; rdfs:label "Get pinned queries for resource"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix nt: prefix gen: select ?label ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:hasNanopubType gen:hasPinnedQuery . ?np dct:created ?date . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?pi . } graph ?a { values ?_resource_multi_iri {} ?_resource_multi_iri gen:hasPinnedQuery ?query . } optional { graph ?pi { ?query nt:hasLabelFromApi ?api_label } } bind(if(bound(?api_label), if(contains(?api_label, \" - \"), strbefore(?api_label, \" - \"), ?api_label), str(?query)) as ?rawlabel) bind(replace(str(?query), \"https://w3id.org/np/\", \"\") as ?spec_path) bind(concat(\"\", ?rawlabel, \"\") as ?label) } order by desc(?date)""" . } 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-04-22T05:08:01Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-pinned-queries-for-resource; npx:supersedes ; rdfs:label "Get pinned queries for resource"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "kJisLi/KjeAYj/Ai9g4f2wP3sTtRaSQju2his71FxqCkFA6QuoH/n3DndCBpaEcDyXua12eSyzHtMl30A0zTXPY6GEvDN3e/2Cewl2cv8YILS6ANAtdq01eoJJBzq36bVDy8PS6jNBrB2Qlserv5NcO60UIGbQSAL9hYuVYF/k4="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-queries-by-user a ; dct:description "Returns the grlc query nanopublications created by the given user."; dct:license ; rdfs:label "Get queries by given user"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix grlc: select ?label ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npx:signedBy ?_user_iri . ?np npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . } ?np npx:hasNanopubType grlc:grlc-query . ?np npx:introduces|npx:embeds ?query . ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?query grlc:endpoint ?endpoint . filter(strstarts(str(?endpoint), \"https://w3id.org/np/l/nanopub-query\")) optional { ?query rdfs:label ?rawlabel } } bind(replace(str(?query), \"https://w3id.org/np/\", \"\") as ?spec_path) bind(concat(\"\", coalesce(?rawlabel, str(?query)), \"\") as ?label) } order by desc(?date)""" . } 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-04-21T07:32:57Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-queries-by-user; npx:supersedes ; rdfs:label "Get queries by given user"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "DAnQD3QKJ+puogVeDCE3BtUnTOHQE8WLmmrqMiqclkCIZdPBSVEEWdtQHk7UipEF7krZzVDnegqRwTHSgJG9glPDyARxQwbS+/HFyrr/pOdIu3d1l+bHKLEF1ce0E994gRl/LBw7Elm7WmDhTDgP1Ozgpup6Tn45ocW9Q5v0CpQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-templates-by-user a ; dct:description "Returns the assertion templates created by the given user."; dct:license ; rdfs:label "Get templates by given user"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix nt: select ?label ?tag ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npx:signedBy ?_user_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npx:hasNanopubType nt:AssertionTemplate . ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?a rdfs:label ?rawlabel . optional { ?a nt:hasTag ?tag . } filter not exists { ?a a nt:UnlistedTemplate } } bind(concat(\"\", ?rawlabel, \"\") as ?label) } order by desc(?date)""" . } 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-04-21T06:21:04Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-templates-by-user; npx:supersedes ; rdfs:label "Get templates by given user"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Y0XEyhubsCSVz9AwrRyHJ6Ajij5DzH768MgnvQj+csT1m9298WLi9sbNmQeMjiwyGYcw+pR+PQYtaQLxn1oUTmLbw+Lrb8EwUZyyC5qpOv9CsJ+RftWlmL8lDOAKbSFkBcepHwvYTiIpeus//HaEYqSzl00Cj2y1WFHevjHXQjc="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:find-gofair-qualified-vocab-onto a ; dct:description "This query allows for searching for resources (FERs etc.) together with the info about whether GO FAIR qualified them."; dct:license ; rdfs:label "Find GO FAIR qualified vocabularies/ontologies"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix fip: prefix prov: select distinct ?thing ?label ?types ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np (group_concat(distinct ?recommender; separator=\" \") as ?recommenders) (group_concat(distinct ?recommendation_np; separator=\" \") as ?recommendation_nps) (count(distinct ?recommender) as ?recommender_count) (sample(?fairAssessmentLevel) as ?fairAssessmentLevel) (sample(?fairAssessmentLevelNp) as ?fairAssessmentLevelNp) where { { SELECT ?np (GROUP_CONCAT(DISTINCT ?filteredType; separator=\" \") AS ?types) WHERE { GRAPH npa:graph { VALUES ?filteredType { fip:Semantic-model fip:Structured-vocabulary } ?np npx:hasNanopubType ?filteredType . } } GROUP BY ?np } graph npa:graph { npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > \"2022\") } bind(concat(\" \",lcase(str(?label)),\" \",lcase(str(?description)),\" \") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph npa:graph { filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } ?disapproval np:hasAssertion ?da . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than \"filter not exists\" for some reason optional { optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } ?recommendation_np np:hasAssertion ?ra . ?recommendation_np np:hasProvenance ?rp . } graph ?ra { ?thing fip:recommended-by ?recommender . } graph ?rp { ?ra prov:wasDerivedFrom ?rfip_np . } graph npa:graph { ?rfip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . ?latest_rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . filter not exists { ?latest_rfip_npx npx:invalidates ?latest_rfip_np ; npa:hasValidSignatureForPublicKey ?rfip_pubkey . } } graph npa:networkGraph { ?latest_rfip_np (npx:supersedes)* ?rfip_np . } graph ?rfip_qa { ?rfip_qualifier npx:qualifies ?latest_rfip_np . } graph npa:graph { ?rfip_qualification_np np:hasAssertion ?rfip_qa . ?rfip_qualification_np npx:hasNanopubType npx:qualifies . ?rfip_qualification_np npa:hasValidSignatureForPublicKey ?rfip_qpubkey . filter not exists { ?rfip_qualification_np_x npx:invalidates ?rfip_qualification_np ; npa:hasValidSignatureForPublicKey ?rfip_qpubkey . } } graph ?latest_curators_assertion { ?rfip_qpubkeys npx:hasPublicKey ?rfip_qpubkey . } } graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph npa:graph { filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } ?qualification_np np:hasAssertion ?qa . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?fairAssessmentLevelNp npx:hasNanopubType fip:has-FAIR-assessment . ?fairAssessmentLevelNp npa:hasValidSignatureForPublicKey ?lpubkey . } graph ?latest_curators_assertion { ?lpubkeys npx:hasPublicKey ?lpubkey . } graph npa:graph { filter not exists { ?fairAssessmentLevelNp_x npx:invalidates ?fairAssessmentLevelNp ; npa:hasValidSignatureForPublicKey ?lpubkey . } ?fairAssessmentLevelNp np:hasAssertion ?la . } graph ?la { ?thing fip:has-FAIR-assessment ?fairAssessmentLevel . } } filter(!bound(?levelNp)) # Faster than \"filter not exists\" for some reason } group by ?thing ?label ?types ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by desc(?recommender_count) asc(?label)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0003-1062-5576 . } sub:pubinfo { orcid:0000-0003-1062-5576 foaf:name "Gerhard Burger" . this: dct:created "2026-04-16T12:23:24.131Z"^^xsd:dateTime; dct:creator orcid:0000-0003-1062-5576; dct:license ; npx:embeds sub:find-gofair-qualified-vocab-onto; npx:supersedes ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCKS0JLO/bGqK4GRv2E0dDCoFK5OAXtAsN8qrRCmaeMeBq/lp6gk/4vQ+/mbd2qZHt7bu0fbYWBmFwYDgxU3HqErq4mGo7JZ1UoKoNsEjq+pJCwv0sa5TsLfd1N/3xb0JLqouru63QrzS0VIPM0+X4Kar1SpZgxlpRapRc5NFZkUwIDAQAB"; npx:hasSignature "c5h6g6CNBA5wRM17zRIKY+mGPbBqlgyOKSIeTBV+Dv2FoKTQXk0MNbPiVt1DdbtxyfkJLlaq6cGmkEvomxPVHRdk5lFbirETFGT/jJuKBKjlu8WJ2sb4srtL8wwvUyjWTlCQN3NbNFRpCSLOt7UQtq7Dn22P7chn9WeiySuAVe0="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0003-1062-5576 . } @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 { sub:get-llm-kg-papers-summary a ; dct:description "This query summarises statistics for the assessed LLM-KG integration papers, returning the average number of described and discussed methods, along with the % of papers that have the source code link in the text."; dct:license ; rdfs:label "Get summary statistics for assessed LLM-KG papers"; ; """PREFIX np: PREFIX prov: PREFIX cito: PREFIX fabio: PREFIX npx: SELECT (STR(ROUND(AVG(?describedCount) * 100) / 100) AS ?AvgDescribedMethods) (STR(ROUND(AVG(?discussedCount) * 100) / 100) AS ?AvgDiscussedMethods) (CONCAT(STR(ROUND((SUM(?hasUrl) / COUNT(?paper)) * 100)), \"%\") AS ?PercentPapersWithSourceCodeURL) WHERE { { SELECT ?paper (COUNT(DISTINCT ?desc) AS ?describedCount) (COUNT(DISTINCT ?disc) AS ?discussedCount) (MAX(IF(BOUND(?methodUrl), 1, 0)) AS ?hasUrl) WHERE { ?np a np:Nanopublication ; np:hasAssertion ?assertion . FILTER NOT EXISTS { ?newerNp npx:supersedes ?np . } GRAPH ?assertion { ?paper a prov:Entity . OPTIONAL { ?paper cito:describes ?desc . OPTIONAL { ?desc fabio:hasURL ?methodUrl . } } OPTIONAL { ?paper cito:discusses ?disc . } } } GROUP BY ?paper } }""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-3080-0303 . } sub:pubinfo { orcid:0000-0002-3080-0303 foaf:name "Anastasiya Danilenka" . this: dct:created "2026-04-15T14:54:04.769Z"^^xsd:dateTime; dct:creator orcid:0000-0002-3080-0303; dct:license ; npx:embeds sub:get-llm-kg-papers-summary; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnosJSn16QpO5H1VxOxrwMH/H/b4lqyVo+/w5ri059ZaXR4GFN2l7rDusHTzgbyZ3Ifq2eEntFfnS3XrygI+AoIxoEob8jM1lEJstaCpSi3Kv+v9uD+s61HWL/4J7DyaVgycDcDFG7mOyemtUIU94hV9x5z2kXdFPfoffAlF8BRxKymOBMaCx/uOouxS/CCR4brlG6gXfU2d+13y/4PbiM3SxXdSKVAYaeSEA83ohAgJFhH3oZtZeuPhyENllRGxT5PVzqx59YVr10UV1VudiGIkqKjkcvGbfOoifZB38+uNN5DVBnLN4NcnoqqCAweoODWYUFOsjHTpobqA0+Ss0VwIDAQAB"; npx:hasSignature "g0q/vyBHEDTmjmI0B5Zl3eNhj9ByMbGExP/v3GK2M6VF1iOon8eH795unln6gNX3Kr6XgW7tHV4mUQtgEZCVbwhs6nRldAytywx2omkigg9EFPl23P8erG3ix7IxEeQDrCSrOJQetkYTWvs6bS6ftWAZJ9hsLJyoavjDUAKAojEqY20/RehCEYIlgTK8m10sPYPaQgilZ+DYm8JqGRaRhxfbgRXNyD5pkpg2uYNwDYRIdPJp+P/rB+9d0HLxG4id8bUJsi7/XFOYG2uXswDuimPK8xp9ffttxeQTs3wPCyWpPJU53UCUlC+ZpJsWgfFSTUPUm+8rMzZpIp7+fqwV/g=="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-3080-0303 . } @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 { sub:get-llm-kg-category-count a ; dct:description "This query returns the distribution of unique research papers across the two-tier hierarchy of LLM-KG integration, excluding all superseded assessments."; dct:license ; rdfs:label "Get counts of assessed LLM-KG papers per assigned category"; ; """PREFIX npx: PREFIX dct: PREFIX np: PREFIX prov: PREFIX cito: SELECT ?TopCategory ?Category (STR(COUNT(DISTINCT ?paper)) AS ?PaperCount) (SAMPLE(?np) AS ?Example) WHERE { ?np a np:Nanopublication ; np:hasAssertion ?assertionGraph . FILTER NOT EXISTS { ?newerNp npx:supersedes ?np . } GRAPH ?assertionGraph { ?paper a prov:Entity ; cito:describes ?method . ?method dct:subject ?catUri ; ?topUri . BIND(REPLACE(STR(?topUri), \"^.*#\", \"\") AS ?TopCategory) BIND(REPLACE(STR(?catUri), \"^.*#\", \"\") AS ?Category) } } GROUP BY ?TopCategory ?Category ORDER BY ?TopCategory""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-3080-0303 . } sub:pubinfo { orcid:0000-0002-3080-0303 foaf:name "Anastasiya Danilenka" . this: dct:created "2026-04-15T14:06:19.912Z"^^xsd:dateTime; dct:creator orcid:0000-0002-3080-0303; dct:license ; npx:embeds sub:get-llm-kg-category-count; npx:supersedes ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnosJSn16QpO5H1VxOxrwMH/H/b4lqyVo+/w5ri059ZaXR4GFN2l7rDusHTzgbyZ3Ifq2eEntFfnS3XrygI+AoIxoEob8jM1lEJstaCpSi3Kv+v9uD+s61HWL/4J7DyaVgycDcDFG7mOyemtUIU94hV9x5z2kXdFPfoffAlF8BRxKymOBMaCx/uOouxS/CCR4brlG6gXfU2d+13y/4PbiM3SxXdSKVAYaeSEA83ohAgJFhH3oZtZeuPhyENllRGxT5PVzqx59YVr10UV1VudiGIkqKjkcvGbfOoifZB38+uNN5DVBnLN4NcnoqqCAweoODWYUFOsjHTpobqA0+Ss0VwIDAQAB"; npx:hasSignature "fl4Quf919Z3rwJ/vjCCjIC1M14mlIQCSK1yq5uhmNHWkvCnNtSc/tPkVVIuthVo24a3pZ91aEKBODj6bzWfl4AsWzZZCpcx+xg+JEEbhq0AXf0dXIOGdQr7TtqrWKYMpHA0PXCIGfjqklb8cEU+/muv+1eMkcGUYjnrpydU8UTqW/57INTRRAxhAI1Xnucmy+BlYGp4hMZN2vdoL3UGqlkg3cp5Vm/KWllDLH4htgQhDYJhACKfgbUdZKhKiuI91H+xDlDgtdGxZwqxEG/nqAP1gDmpUfE6eoKbx+2paNGpjbsceBuD+JE1f6PXK3wwjotwVx/Ha/U5/u7ljoKwuXw=="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-3080-0303 . } @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 { sub:get-testimonials-by-project-leads a ; dct:description "This query returns the testimonials (about any entity) authored by any of the project leads of the given project."; dct:license ; rdfs:label "Get testimonials by project leads"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix gen: select ?author ?author_label ?about ?about_label ?text ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?lead_np np:hasAssertion ?lead_a . ?lead_np npa:hasValidSignatureForPublicKeyHash ?lead_pubkey . filter not exists { ?lead_npx npx:invalidates ?lead_np ; npa:hasValidSignatureForPublicKeyHash ?lead_pubkey . } } graph ?lead_a { ?_project_iri gen:hasProjectLead ?author . } graph npa:graph { ?np npx:hasNanopubType gen:Testimonial . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx2 npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:introduces ?testimonial . ?np np:hasAssertion ?a . ?np dct:created ?date . } graph ?a { ?testimonial dct:description ?text . ?testimonial schema:author ?author . optional { ?testimonial schema:about ?about . } optional { ?author rdfs:label ?author_label . } optional { ?about rdfs:label ?about_label . } } } order by desc(?date)""" . } 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-04-15T13:00:33Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-testimonials-by-project-leads; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "le5aV4G+T7K2rWD5/B1R9U5TeMoH6lMIBq6oyZs/ik2n0skHbNAAyiHOK0CJGGMnvgL/oi2NI9MX4n7ZbSRl4W84Kmfji+j039KUcflEAfhxBdDnsPrQbSNWjf9QidEHl7vKr05IBFHdKxl9XmtVC0J8JqGYZVm+Ysat0oEng8s="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-classes-of-ontology a ; dct:description "This query returns all classes that specify to be part of a given ontology."; dct:license ; rdfs:label "Get the classes of an ontology"; ; """prefix owl: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix skos: select ?class ?class_label (?definition as ?description) (group_concat(distinct str(?superclass); separator=\" \") as ?superclasses_multi_iri) (group_concat(distinct replace(replace(coalesce(?superclass_lbl, str(?superclass)), \"\\\\\\\\\", \"\\\\\\\\\\\\\\\\\"), \"[\\r\\n]+\", \"\\\\\\\\n\"); separator=\"\\n\") as ?superclasses_label_multi) ?np (\"^\" as ?np_label) where { values ?_ontology_multi_iri {} graph npa:graph { ?np npx:hasNanopubType owl:Class . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?class . ?np np:hasAssertion ?a . } graph ?a { ?class dct:partOf ?_ontology_multi_iri . optional { ?class rdfs:label ?class_label . } optional { ?class skos:definition ?definition . } optional { ?class rdfs:subClassOf ?superclass . filter(isIRI(?superclass)) optional { ?superclass rdfs:label ?superclass_lbl . } } } } group by ?class ?class_label ?definition ?np order by ?class_label""" . } 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-04-15T08:54:24.328Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-classes-of-ontology; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "E+KJL8QOaB+28Ze8WhC0qIGoMhhTSRsWbpcKPDyL0XPCetQWm0SwKHEj579sZJyIkV/OrmIAToDD+J0GRDQnmpPTvSCyVK6Z5LmS1713mdcS00KRXLKSHvi5LuxYMe5GUvbu2i9nSjqqwjyAY2Uvgb+W4Z+Ivv0feq399DqkjpE="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-classes-of-ontology a ; dct:description "This query returns all classes that specify to be part of a given ontology."; dct:license ; rdfs:label "Get the classes of an ontology"; ; """prefix owl: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix skos: select ?class ?class_label (?definition as ?description) (group_concat(distinct str(?superclass); separator=\" \") as ?superclasses_multi_iri) (group_concat(distinct replace(replace(coalesce(?superclass_lbl, str(?superclass)), \"\\\\\\\\\", \"\\\\\\\\\\\\\\\\\"), \"[\\r\\n]+\", \"\\\\\\\\n\"); separator=\"\\n\") as ?superclasses_label_multi) ?np (\"^\" as ?np_label) where { values ?_ontology_multi_iri {} graph npa:graph { ?np npx:hasNanopubType owl:Class . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?class . ?np np:hasAssertion ?a . } graph ?a { ?class dct:partOf ?_ontology_multi_iri . optional { ?class rdfs:label ?class_label . } optional { ?class skos:definition ?definition . } optional { ?class rdfs:subClassOf ?superclass . filter(isIRI(?superclass)) optional { ?superclass rdfs:label ?superclass_lbl . } } } } group by ?class ?class_label ?definition ?np order by ?class_label""" . } 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-04-15T08:48:14.888Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-classes-of-ontology; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "Bhw0DLPhaYfSvv54PDFUXDHKCHcm5r+naRPGcmPOZZdXitd1xo3A7an9znOtJeNTRNKROykPfAyIQIixVghlqEDEtOKpnK3iII/1FFzN9TufuzIfg1s+LEvfU3SM/FJDvaxKIPtRW/6NaNHJ3qQ4t2w9kxLSWQ8ZmCytB0W8590="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-all-templates a ; dct:description "Returns all assertion templates with their label, tag, creator and date, ordered by descending date"; dct:license ; rdfs:label "Get all templates"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix nt: select ?template_iri ?template_iri_label ?tag ?creator ?date where { graph npa:graph { ?template_iri npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?template_iri ; npa:hasValidSignatureForPublicKey ?pubkey . } ?template_iri npx:hasNanopubType nt:AssertionTemplate . ?template_iri dct:created ?date . ?template_iri np:hasAssertion ?a . optional { ?template_iri npx:signedBy ?creator . } } optional { graph ?a { ?a rdfs:label ?template_iri_label } } optional { graph ?a { ?a nt:hasTag ?tag . } } filter not exists { graph ?a { ?a a nt:UnlistedTemplate } } } order by desc(?date)""" . } 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-04-13T14:37:17Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-all-templates; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "fzHAe6bXgrwfUv/20Il8LdU7COWY07917S2VpFNNQjHAmwtrPtEtqufpjsE+BegX+xRjdgjtma9MIXAtKx1C0KLwiOkx6GlHZY75do1a2tLzoCbsAFZthk5MmI51UPJkvlEpePR+QNpUh4U7zJH8t9O4qZ45xOpK4dnmUJv5uAw="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-most-used-templates-last30d a ; dct:description "This query returns the most used assertion templates of the last 30 days, considering the latest versions of these templates."; dct:license ; rdfs:label "Get the most used templates of the last 30 days"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix nt: prefix dct: select ?template_np ?template_np_label (sum(?npcount) as ?overallcount) { { select ?used_template_np (count(distinct ?np) as ?npcount) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np np:hasPublicationInfo ?i . } graph ?i { ?np nt:wasCreatedFromTemplate ?used_template_np . } } group by ?used_template_np } bind(uri(concat(\"https://w3id.org/np/l/nanopub-query-1.1/repo/type/\", sha256(str(nt:AssertionTemplate)))) as ?atservice) { service ?atservice { graph npa:networkGraph { ?template_np npx:supersedes* ?used_template_np . } graph npa:graph { ?used_template_np npa:hasValidSignatureForPublicKey ?pubkey . ?template_np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?template_npx npx:invalidates ?template_np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?used_template_np np:hasAssertion ?a . } graph ?a { ?a rdfs:label ?template_np_label . } } } } group by ?template_np ?template_np_label order by desc(?overallcount) limit 10""" . } 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-04-13T14:18:49.057Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-most-used-templates-last30d; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "92uf2aYxTYDmEt7JO6bufRNeVUUjS178IbOXEs4lksuuiq3yYyWxY7Ol7GKJPjxVW5NylRUOTfW2ufhMIlVUKv0dPk+gPhlC8C1X9y66gVd5T1BxQaEJ37WHulabk1tqjVbw3He7ZLIwzA78UUo315itK/xMOd6lxawcRnqolm0="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix kgrlc: . @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 { sub:get-nanopubs-by-user a kgrlc:grlc-query; dct:description "Returns the latest nanopublications signed by or created by a given user (signed via npx:signedBy, or created via dct:creator if no npx:signedBy is present)."; dct:license ; rdfs:label "Get latest nanopublications by user"; kgrlc:endpoint ; kgrlc:sparql """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: select ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } filter not exists { ?np npx:hasNanopubType npx:retracts . } } { graph npa:graph { ?np npx:signedBy ?_userid_iri . } } union { filter not exists { graph npa:graph { ?np npx:signedBy ?anyuser . } } graph npa:graph { ?np dct:creator ?_userid_iri . } } } order by desc(?date) limit 100""" . } 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-04-13T10:45:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-nanopubs-by-user; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "PjRy/bicdLFIbGAQ4m740Tz8zOXbd1OL5ZazBQdocm37ABV7TDObcOnPZEqzMKX+YFieIXz3ejREH33AkQcTiECl9PHoTpEBeyNQfh3VF82/NFvowACqV4fIFMovcPa4LpY02xC2RuKBkd2WJmxBYdAAFrx2GZmDFdwjhodfti4="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-nanopubs-by-user a ; dct:description "Returns the latest nanopublications signed by or created by a given user (signed via npx:signedBy, or created via dct:creator if no npx:signedBy is present)."; dct:license ; rdfs:label "Get latest nanopublications by user"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: select ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } filter not exists { ?np npx:hasNanopubType npx:retracts . } } { graph npa:graph { ?np npx:signedBy ?_userid_iri . } } union { filter not exists { graph npa:graph { ?np npx:signedBy ?_userid_iri . } } graph npa:graph { ?np dct:creator ?_userid_iri . } } } order by desc(?date) limit 100""" . } 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-04-13T12:19:53.852+02:00"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license , ; npx:embeds sub:get-nanopubs-by-user; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "RWfN5kbjHzrlOOqQpx0VFR8h1OYwCcCHOYgsZXsCL4D8Rr+54UaNzbHAI1MOc0xnUt7fL3pTxAV/5DEQ9q/zDLqMgV8wVGtU7TGKBuSewsyNgAmfNdNIZbWvyryMlBWsxggOc+mnI8Fy/YvV6udNb5x4zO6OBSze7NK4YcxJXr8="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-latest-users-v2 a ; dct:description "Returns the latest users who have introduced themselves, with the user IRI in the user_iri column for display."; dct:license ; rdfs:label "Get latest users v2"; ; """prefix np: prefix npx: prefix npa: prefix dct: select ?user_iri where { { select ?user_iri (min(?date) as ?mindate) where { graph npa:graph { ?intronp npa:hasValidSignatureForPublicKey ?introPubkey . filter not exists { ?intronpx npx:retracts ?intronp ; npa:hasValidSignatureForPublicKey ?pubkey . } filter not exists { ?intronp npx:supersedes ?intronpx . } ?intronp dct:created ?date . ?intronp np:hasAssertion ?a . } graph ?a { ?keydeclaration npx:declaredBy ?user_iri . ?keydeclaration npx:hasPublicKey ?pubkey . } } group by ?user_iri } } order by desc(?mindate) limit 100""" . } 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-04-13T00:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-latest-users-v2; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Po9uopfbEbzCN+Qv5Ppa2PqQFlIn2PJMb5QnDLUQLrAIWE850cQzWhjFa9COwtbmPNuFqCFtrZY6lTXA9zvZMUi2zeqk/QfWz5Q36nwN625rrxB2UWdrpM+auhkwezCynMeOe6EXWMKSm4T4dDeS3HHtiA09uooLjDVi2v/z9f4="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-suggested-templates-to-get-started a ; dct:description "This query returns a list of suggested templates to get started, so it can be shown e.g. on Nanodash."; dct:license ; rdfs:label "Get suggested templates to get started"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix dct: select ?template_iri ?template_iri_label where { graph npa:graph { ?np npx:hasNanopubType . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter(?pubkey = \"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB\") filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?template_iri a . } optional { graph npa:graph { ?template_iri rdfs:label ?raw_label . } bind(replace(str(?raw_label), \"^Template: \", \"\") as ?template_iri_label) } } order by desc(?date)""" . } 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-04-13T00:00:00Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-suggested-templates-to-get-started; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "f9e/vH1Cb0Ay7DBk+zCA81a6hd5LCtP64IKpowdMIwbYroaaLyZX7BCKPuA6l1H22P10uK3tQypDEjghNZQQ0LJ37CzV4BkwcJqIOgptiGgFF2dwl9QcF2nGv2vWfsyuiEjdGhHakLxVTBaUPj4A3ep31UzaTHo3r1ba+xwtNMA="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-suggested-templates-to-get-started a ; dct:description "This query returns a list of suggested templates to get started, so it can be shown e.g. on Nanodash."; dct:license ; rdfs:label "Get suggested templates to get started"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix dct: select ?template_iri ?template_iri_label where { graph npa:graph { ?np npx:hasNanopubType . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?template_iri a . optional { ?template_iri rdfs:label ?template_iri_label . } } } order by desc(?date)""" . } 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-04-12T19:01:08Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-suggested-templates-to-get-started; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "G3ePeIuzn8w+qhspie8lpsKR4X1phEjprk4VkAZLAqB29/AYp5wqndNENK4tOnNf/Gk4IhncolmQf77IYW6Dl6otECNjr869NI+w3iW7Hwr6Hx4VpPK2V6YwjGJwn1cpOv5ypaTxID6jI4gmxJBb/NcxuBjZd6A0ggHOBmMVzLo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix ns1: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-top-creators-last30d a ; dct:description "This query returns the 10 creators who created most nanopublications during the last 30 days."; dct:license ; rdfs:label "Get the top-10 creators of the last 30 days"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix prov: prefix foaf: select ?user_iri where { { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?user_iri . } } union { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasAssertion ?assertion . ?np np:hasProvenance ?prov . } graph ?prov { ?assertion prov:wasAttributedTo ?user_iri . } } filter(?user_iri != ) filter(?user_iri != ) filter(!regex(str(?user_iri), '[^A-Za-z0-9-_]RA[A-Za-z0-9-_]{43}$')) } group by ?user_iri order by desc(count(distinct ?np)) limit 10""" . } 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-04-12T18:37:20Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-top-creators-last30d; nt:wasCreatedFromProvenanceTemplate ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM; nt:wasCreatedFromPubinfoTemplate ns1:RAA2MfqdBCzmz9yVWjKLXNbyfBNcwsMmOqcNUxkk1maIM, ns1:RAh1gm83JiG5M6kDxXhaYT1l49nCzyrckMvTzcPn-iv90, ns1:RAjpBMlw3owYhJUBo3DtsuDlXsNAJ8cnGeWAutDVjuAuI; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "UwZ5aWavTHKnArFuqmu9AoInk4ijhmiiAD54Lk9gu4uLAZ9Abck4Sn7Up0er0aU+aYrlQuQvISzHHuvASOFU0jecKgj/+wjMAk+Hmq+0ZNTLC4HGNifGh0o1G7JZFhdOPMGEbni1gh5vXMZIItpMgaVAQSRjrQnCR6ipLTKFRP0="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-testimonials-about a ; dct:description "This query returns the testimonials about the given entity."; dct:license ; rdfs:label "Get testimonials about entity"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix gen: select ?author ?author_label ?text ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType gen:Testimonial . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:introduces ?testimonial . ?np np:hasAssertion ?a . ?np dct:created ?date . } graph ?a { ?testimonial dct:description ?text . values ?_subject_multi_iri {} ?testimonial schema:about ?_subject_multi_iri . ?testimonial schema:author ?author . optional { ?author rdfs:label ?author_label . } } } order by desc(?date)""" . } 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-04-10T15:06:09Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-testimonials-about; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "YuutRygJQYFVZ56EkpEzEQa0UEPdHHNtJBJkgM4Roo0E8vCupc2JIV/Jw4m2YvfdotTddVM1CkyekQmL7MlBkt08coBZ6tJSAoPcKtqK9qO0M+gugibtHPM2tlmsJedGyOg458JGhOX9cBWzIeKOTp1xI27igjSz7t+W6q4uknQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-testimonials-by-author a ; dct:description "This query returns the testimonials by the given author."; dct:license ; rdfs:label "Get testimonials by author"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix gen: select ?about ?text ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType gen:Testimonial . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:introduces ?testimonial . ?np np:hasAssertion ?a . ?np dct:created ?date . } graph ?a { ?testimonial dct:description ?text . ?testimonial schema:author ?_author_iri . optional { ?testimonial schema:about ?about . } } } order by desc(?date)""" . } 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-04-10T15:06:09Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-testimonials-by-author; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "SqIb4GVngw1njXPYqlduzIsMNuWhT3qyEdMelAvXK4H2Jo2ue3I+SbtvjXmPJTY9gcZ5ggmv11/kX7jQl1OPuZjS5lvxLrX+YE3OkfKyCWTGKCZH2MnLkiBffpwI8oVOVbyHCWs2nny/2QsZ6IgYGl2xtmZLCOhlCN2JLDMrvXk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-rfip-decl-in-context a ; dct:description "Returns R-FIP declarations: FIP declarations whose community has a Reference-FAIR-Implementation-Profile, matched with the latest R-FIP profile for that community."; dct:license ; rdfs:label "Get R-FIP declarations in context"; ; """prefix rdfs: prefix fip: prefix dct: prefix npa: prefix npx: prefix np: prefix schema: select ?fip_index ?fip_title ?decl_np where { # Find R-FIP profiles (latest per community) graph npa:graph { ?fip_index npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?fip_index npa:hasValidSignatureForPublicKeyHash ?pkh . filter not exists { ?inv npx:invalidates ?fip_index ; npa:hasValidSignatureForPublicKeyHash ?pkh . } ?fip_index np:hasAssertion ?rfip_a . ?fip_index npx:introduces ?rfip . ?fip_index dct:created ?rfip_date . } graph ?rfip_a { ?rfip rdfs:label ?fip_title . ?rfip fip:declared-by ?community . } # Keep only the latest R-FIP profile per community filter not exists { graph npa:graph { ?newer_rfip npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?newer_rfip npa:hasValidSignatureForPublicKeyHash ?nkh . filter not exists { ?ninv npx:invalidates ?newer_rfip ; npa:hasValidSignatureForPublicKeyHash ?nkh . } ?newer_rfip np:hasAssertion ?nra . ?newer_rfip dct:created ?newer_date . } graph ?nra { ?nrfip fip:declared-by ?community . } filter(?newer_date > ?rfip_date) } # Find FIP declarations from these R-FIP communities that have schema:version graph npa:graph { ?decl_np npx:hasNanopubType fip:FIP-Declaration . ?decl_np npa:hasValidSignatureForPublicKey ?dpk . filter not exists { ?dinv npx:invalidates ?decl_np ; npa:hasValidSignatureForPublicKey ?dpk . } ?decl_np np:hasAssertion ?decl_a . } graph ?decl_a { ?decl fip:declared-by ?community . ?decl schema:version ?version . } }""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { this: dct:created "2026-04-10T12:26:03Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:introduces sub:get-rfip-decl-in-context; rdfs:label "Get R-FIP declarations in context"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "cV11D+la2C3Rt/LkuHrlZOn50lvF5qSfN6xkVCiRCUw8k0cjCMAiKa01ATiHMr/DCnW+u9Un/TL78LMBH4iczxsk2MsKeH88rwmy6Egt4N5aGoTLzGY0akIMCQtNNF0MnXT/64tGOpQQw5bA8RY8hT9uFVxfVmAf1Q6guDFTGgo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-relevant-resources a ; dct:description "This query returns the relevant resources for a given entity (e.g. a Space)."; dct:license ; rdfs:label "Get relevant resources"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select ?resource ?resource_label ?comment ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType gen:isRelevantFor . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } values ?_entity_multi_iri {} graph ?a { ?resource gen:isRelevantFor ?_entity_multi_iri . optional { ?resource rdfs:label ?resource_label . } optional { ?resource rdfs:comment ?comment . } } }""" . } 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-04-10T10:24:20.600Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-relevant-resources; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "QmP/GqFYNn55T5sHOqJ7+WV87B05iP62h/ZfnaIosZyHgErMY69LqFFQBOYchaoXrTiRw8X3OR6tl4cGeEqqsWNuDmokRfEj5Rtnr/8LLka2a8WXtqAgrlTfTIEkoCRXZMhArbXrYW9APbcoJZM82Zj4I0uvQnM0peeyig5ezjg="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-paragraphs a ; dct:description "This query returns the paragraphs of an entity (e.g. a space) with their title and content, including source nanopub and date."; dct:license ; rdfs:label "Get paragraphs of an entity"; ; """prefix rdf: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix schemas: prefix gen: select ?title ?content ?date ?np where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np dct:creator ?user . ?np np:hasAssertion ?a . } graph ?a { ?paragraph schema:title|schemas:title ?title . ?paragraph rdf:type gen:Paragraph . ?paragraph gen:hasContent ?content . values ?_resource_multi_iri {} ?paragraph schema:isPartOf|schemas:isPartOf|schema:about|schemas:about ?_resource_multi_iri . optional { ?paragraph gen:hasPositionString ?position } } } order by ?position ?title""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { orcid:0000-0001-8492-0354 foaf:name "Ashley Caselli" . orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2026-04-10T11:42:48.175+02:00"^^xsd:dateTime; dct:creator orcid:0000-0001-8492-0354, orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-paragraphs; npx:supersedes ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "fGjY6r7P9sKr1FZnuFHBnizr966u36sdbc7afnoHIDTpwrXlHiC/BM5sWjz0Dl2Or77VenfirI3p+ogjlK+Btdo6UuHCocvBkRUG8MOYwGSe4h1md9rhBICHILITZ2bHWNfBdMjEhrwp+mMmzRykjiyunO6ZZp9ulOaAih6cOJQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-newer-versions-of-np a ; dct:description "This query returns all newer versions of a given nanopublication, including those that since have been superseded or retracted."; dct:license ; rdfs:label "Get all newer versions of this nanopublication"; ; """prefix np: prefix npa: prefix npx: prefix dct: select ?newerVersion ?date ?retractedBy ?supersededBy where { graph npa:graph { ?_np_iri npa:hasValidSignatureForPublicKey ?pubkey . } graph npa:networkGraph { ?newerVersion (npx:supersedes)* ?_np_iri . } graph npa:graph { ?newerVersion npa:hasValidSignatureForPublicKey ?pubkey . } optional { graph npa:graph { ?newerVersion dct:created ?date . } } optional { graph npa:graph { ?retractedBy npx:retracts ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { graph npa:graph { ?supersededBy npx:supersedes ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } } } order by desc(?date) ?newerVersion""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8492-0354 . } sub:pubinfo { orcid:0000-0001-8492-0354 foaf:name "Ashley Caselli" . orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2026-04-07T19:54:20.122+02:00"^^xsd:dateTime; dct:creator orcid:0000-0001-8492-0354, orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-newer-versions-of-np; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Usz9yLfFWZl6zyUUO5CN1YWtHU6li7GimpVM/jAMZtgrilkx/ltodTIMLghSaZsnQwFz0/xlyQS2hkaPyyz3351dpp6nZw/8tw3cCFqPH+D2aNhLVJL/5M5VO174RrJveCf7QVjiPti65rZRL34OWqUD3RjkWplF03j3Ux8P+8s="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-reads-by-reader a grlc:grlc-query; dct:description "This query returns the items a given user has read, covering both schema:ReadAction and paperclub:hasRead nanopubs."; dct:license ; rdfs:label "Get reads by reader"; grlc:endpoint ; grlc:sparql """prefix schema: prefix pc: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix xsd: select distinct ?item ?item_label ?date ?comment ?np (\"^\" as ?np_label) where { { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np np:hasAssertion ?a . ?np dct:created ?created . } graph ?a { ?ra a schema:ReadAction ; schema:agent ?_reader_iri ; schema:object ?item . optional { ?item rdfs:label ?item_label } optional { ?ra schema:endTime ?d } optional { ?ra rdfs:comment ?comment } } bind(coalesce(?d, substr(str(?created), 1, 10)) as ?date) } union { bind(iri(concat(\"https://w3id.org/np/l/nanopub-query-1.1/repo/type/\", sha256(str(pc:hasRead)))) as ?hasread_repo) service ?hasread_repo { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np np:hasAssertion ?a . ?np npx:signedBy ?_reader_iri . ?np dct:created ?created . } graph ?a { ?_reader_iri pc:hasRead ?item . optional { ?item rdfs:comment ?comment } } } bind(substr(str(?created), 1, 10) as ?date) } } order by desc(?date)""" . } 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-04-07T17:08:49Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-reads-by-reader; npx:supersedes ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "nk7IVfgUEms8cg8QZAAqNuPk6jSZeoEYRDJEySmYVZvK58CShYeZ7KINYANUSpBdSsTxlzT7WbiFUl0jyTcUG0E9qxmlQFKDXautX7ARncO7ulvZWw+bGhUSKpPhHm8Llzc6AxPK23YE5kcZwZODEO+JmxdhxKLyCsxI1Nk0mn8="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-thanks a ; dct:description "This query returns all thanks, possibly restricted by thanker, thanked, and/or thank reason."; dct:license ; rdfs:label "Get thanks"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix thank: select (?__thanker_iri as ?thanker) (?__thanked_iri as ?thanked) (?__thankReason_iri as ?thank_reason) ?comment ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:signedBy ?__thanker_iri . ?np np:hasAssertion ?a . } graph ?a { ?thanks a thank:Thanks . ?thanks thank:hasThanked ?__thanked_iri . ?thanks thank:hasThanker ?__thanker_iri . ?thanks thank:thanksFor ?__thankReason_iri . optional { ?thanks rdfs:comment ?comment . } } } order by desc(?date)""" . } 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-04-07T14:30:10.853Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-thanks; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjDGQCS1S+SRnERDuYDXOugdYUP0efEquHJEEHAbU/uLzBVlga89zqrNPCS7fBE6lArBUWEmT8eLKdMapyqvAzI1J3jUWTMhDJF+XFBkUiuiFfNSc4vJJcmi0yujtnuzXsRIG202jyaP4f5ULoskFwaZOSBZJfiE0dsB3D7DTIAQIDAQAB"; npx:hasSignature "E74PcBNzA7SX30VwGKrcpBgFFCNEn1IE+7aEG2eBy180w+Zmy/cANhLRVICw+pcfGgDM5S2MnmcapWvnzCGgaV+5+Za1r3QTuO4DXETtyAFvecYz2/o40Xrs93sYFLOHHBui3rSjLAbUbrHTFse10CF+OP6tLHnThBfbyMvUzQ0="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-3pff-events-for-user a ; dct:description "Returns all 3PFF events for a given user, including the role they had in each event."; dct:license ; rdfs:label "Get 3PFF events for user"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix dct: prefix tpff: prefix schema: select ?event ?event_label (sample(?ev_name) as ?event_name) (sample(?ev_date) as ?event_date) ?roles_multi_iri ?roles_label_multi ?np_multi_iri ?np_label_multi where { { select ?event (replace(str(?event), \"^.*/\", \"\") as ?event_label) (group_concat(str(?role); separator=\" \") as ?roles_multi_iri) (group_concat(?role_label; separator=\"\\n\") as ?roles_label_multi) (group_concat(str(?latest_np); separator=\" \") as ?np_multi_iri) (group_concat(\"^\"; separator=\"\\n\") as ?np_label_multi) where { { select ?event ?role ?role_label (sample(?np) as ?latest_np) where { values (?role ?role_label) { (tpff:participatedAsParticipantIn \"Participant\") (tpff:participatedAsFacilitatorIn \"Facilitator\") (tpff:participatedAsTrainerIn \"Trainer\") (tpff:participatedAsFacilitatorAssistantIn \"Facilitator Assistant\") (tpff:participatedAsTrainerAssistantIn \"Trainer Assistant\") (tpff:participatedAsImplementerIn \"Implementer\") (tpff:participatedAsImplementerAspirantIn \"Implementer Aspirant\") } graph npa:graph { ?np npx:hasNanopubType ?role . ?np dct:creator ?_user_iri . ?np npa:hasValidSignatureForPublicKeyHash ?pk . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk . } ?np np:hasAssertion ?a . ?np dct:created ?date . } graph ?a { ?_user_iri ?role ?event . } filter not exists { graph npa:graph { ?np2 npx:hasNanopubType ?role . ?np2 dct:creator ?_user_iri . ?np2 npa:hasValidSignatureForPublicKeyHash ?pk2 . filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pk2 . } ?np2 np:hasAssertion ?a2 . ?np2 dct:created ?date2 . filter(?date2 > ?date) } graph ?a2 { ?_user_iri ?role ?event . } } } group by ?event ?role ?role_label } } group by ?event } graph npa:graph { ?enp npx:introduces ?event . ?enp npa:hasValidSignatureForPublicKeyHash ?epk . filter not exists { ?enpx npx:invalidates ?enp ; npa:hasValidSignatureForPublicKeyHash ?epk . } ?enp np:hasAssertion ?ea . } graph ?ea { ?event a tpff:3PFF-event . ?event rdfs:label ?ename . optional { ?event dct:date ?dateDct . } optional { ?event schema:startDate ?dateSchema . } } bind(coalesce(?dateDct, strBefore(str(?dateSchema), \"T\")) as ?ev_date) bind(replace(?ename, \"^[^|]*\\\\| ?\", \"\") as ?ev_name) } group by ?event ?event_label ?roles_multi_iri ?roles_label_multi ?np_multi_iri ?np_label_multi order by desc(sample(?ev_date))""" . } 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-04-07T16:27:22.879+02:00"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-3pff-events-for-user; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "Rv23ka6Iap2ZlUrqxYkpBJsJ7LlYxqIOsgD9FeOMBuQXvGolJgdJZ53PVuEQ04xzA/YMVT1p6ClhShdBiC3agelhbW421GsrQ6lXK4BGcOi2U8bV/p6Fv1GghYa44q/AK4O7KLq3y4rvO2xpycAEHuEbb+jK89CMzMUz5i7OHe8="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @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 { sub:get-past-event-participations a grlc:grlc-query; dct:description "This query returns the past events the given user has participated in."; dct:license ; rdfs:label "Get past event participations"; grlc:endpoint ; grlc:sparql """prefix wd: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: prefix schema: prefix xsd: select distinct ?event ?event_label ?date ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np np:hasAssertion ?a . } graph ?a { ?_user_iri wd:P1344 ?event . } optional { bind(iri(concat(\"https://w3id.org/np/l/nanopub-query-1.1/repo/type/\", sha256(str(gen:Space)))) as ?space_repo) service ?space_repo { graph npa:graph { ?nps npx:introduces ?event . ?nps npa:hasValidSignatureForPublicKeyHash ?pks . filter not exists { ?npsx npx:invalidates ?nps ; npa:hasValidSignatureForPublicKeyHash ?pks . } ?nps np:hasAssertion ?as . } graph ?as { ?event rdfs:label ?el . optional { ?event schema:startDate ?datetime . } } } } bind(xsd:date(substr(str(?datetime), 0, 11)) as ?date) bind(?el as ?event_label) filter(?date < xsd:date(substr(str(now()), 0, 11))) } order by desc(?date)""" . } 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-04-07T13:49:01Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-past-event-participations; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "iGBnCAzeEMVIFuWfWL5DbHWwm7/FP9GbA7y6Zz1vC6mZA7U4WRIVJqBnPS5yox1qGbHSIt4iIl18/7e2QDHe8nCfE+Wxaxxa7vaL+KGMs6QOJ2UD6iudFC/ZfHyCQaZhs/b6JpMFiVNPQ0yw3V0jpEMZ1eiaQCXvcmpaoNPX/AE="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-papers-for-author a ; dct:description "This query returns the papers for a given author."; dct:license ; rdfs:label "Get papers for author"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix fabio: prefix bibo: select ?paper ?paper_label ?journal ?journal_label ?publication_date ?np (\"^\" as ?np_label) where { values ?_author_multi_iri {} graph npa:graph { ?np npx:hasNanopubType fabio:ScholarlyWork . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . ?np npx:introduces ?paper . } graph ?a { ?paper dct:title ?paper_label . ?paper bibo:authorList ?author_list . ?paper dct:date ?publication_date . ?author_list ?rdfseqpred ?_author_multi_iri . filter(strstarts(str(?rdfseqpred), \"http://www.w3.org/1999/02/22-rdf-syntax-ns#_\")) optional { ?paper dct:isPartOf ?journal . ?journal dct:title ?journal_label . } } } order by desc(?publication_date)""" . } 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-04-07T13:46:38.488Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-papers-for-author; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "B93FjxlMO7fdx4QbCKYU+G0RWDIIAlmiqU0j53GXTHv5XXDxUWCsqO8nUhGzUFI5IGU+jElRJJeYmDZeJOOmzVRpLj0uoIyS4whdfklLnJXOrd2guB8jivAKF2ifO9HmzYq2SvQUvG7sfDq/mJV5/AI5dStG8iOl9lLk73MvYnk="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-personal-urls a ; dct:description "This query returns the personal URLs for a given user."; dct:license ; rdfs:label "Get personal URLs"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: select ?urllink ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType rdfs:seeAlso . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np np:hasAssertion ?a . } graph ?a { ?_user_iri rdfs:seeAlso ?url . ?url rdfs:label ?url_label . } bind(concat(\"\", ?url_label, \"\") as ?urllink) } order by ?url_label""" . } 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-04-07T13:25:24.039Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-personal-urls; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "dUA6wlTzfXL2KH5bOiOEfLZCTb0hhSyKaIaTaVbcohyNCoHe1aj9bf7Z7/J3DpWb3YGUA3qdbQtTeVsnEbHCYgfQQe65c5ocAqXWc3LXn960uRczBQDJ54d7MPbJ14C+1t7Mv8EDsa7IlpLjH5Oe5OAwp3vsQ6Yan/QNjcDyOnM="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-gofair-qualified-things a ; dct:description "This query returns resources (FERs etc.) together with the info about whether GO FAIR qualified them."; dct:license ; rdfs:label "Get GO FAIR qualified things"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix fip: prefix prov: select distinct ?thing ?label ?np ?date ?qualification_np where { graph npa:graph { npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > \"2022\") } optional { graph npa:graph { ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph npa:graph { filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } ?disapproval np:hasAssertion ?da . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than \"filter not exists\" for some reason optional { optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } ?recommendation_np np:hasAssertion ?ra . ?recommendation_np np:hasProvenance ?rp . } graph ?ra { ?thing fip:recommended-by ?recommender . } graph ?rp { ?ra prov:wasDerivedFrom ?rfip_np . } graph npa:graph { ?rfip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . ?latest_rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey . filter not exists { ?latest_rfip_npx npx:invalidates ?latest_rfip_np ; npa:hasValidSignatureForPublicKey ?rfip_pubkey . } } graph npa:networkGraph { ?latest_rfip_np (npx:supersedes)* ?rfip_np . } graph ?rfip_qa { ?rfip_qualifier npx:qualifies ?latest_rfip_np . } graph npa:graph { ?rfip_qualification_np np:hasAssertion ?rfip_qa . ?rfip_qualification_np npx:hasNanopubType npx:qualifies . ?rfip_qualification_np npa:hasValidSignatureForPublicKey ?rfip_qpubkey . filter not exists { ?rfip_qualification_np_x npx:invalidates ?rfip_qualification_np ; npa:hasValidSignatureForPublicKey ?rfip_qpubkey . } } graph ?latest_curators_assertion { ?rfip_qpubkeys npx:hasPublicKey ?rfip_qpubkey . } } graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph npa:graph { filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } ?qualification_np np:hasAssertion ?qa . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?fairAssessmentLevelNp npx:hasNanopubType fip:has-FAIR-assessment . ?fairAssessmentLevelNp npa:hasValidSignatureForPublicKey ?lpubkey . } graph ?latest_curators_assertion { ?lpubkeys npx:hasPublicKey ?lpubkey . } graph npa:graph { filter not exists { ?fairAssessmentLevelNp_x npx:invalidates ?fairAssessmentLevelNp ; npa:hasValidSignatureForPublicKey ?lpubkey . } ?fairAssessmentLevelNp np:hasAssertion ?la . } graph ?la { ?thing fip:has-FAIR-assessment ?fairAssessmentLevel . } } filter(!bound(?levelNp)) # Faster than \"filter not exists\" for some reason } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by desc(?recommender_count) asc(?label)""" . } 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-04-07T09:23:43.712Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-gofair-qualified-things; npx:supersedes ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "vr9GVNSBKnrsQXNhmj7Cc5gZq3YrRJc04zMRAC9nhga12o/t1oS3gnOuzUbZ0EwX4vTEfjSlH3cSOGK1W2DnmYFHQKSGrpIkpCP6pq7ufpqjfZGCyfVUP8kiILbZBmqUmQ+IjHyvWeBQQ8XwvNpbuHCXjWfYuKBYzi6g+uhNmNc="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-type-counts a ; dct:description "This query returns the number of nanopubs per type."; dct:license ; rdfs:label "Get nanopub type counts"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: select (count(?np) as ?count) ?type where { graph npa:graph { ?np npx:hasNanopubType ?type . } } group by ?type order by desc(?count)""" . } 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-04-05T06:46:45.348Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-type-counts; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "BhNV2e49jokUBdDyHW7eSnPcYOBrEPZDjnQCR8jsD9f3xE+V6Z47tgIssMTnm1KuAtRWhJpSmNTPfT4MN+izW0OfZj+oDna7h01KwZX4MerLLGPJfBTLOE5i2NGx6X3YUxg9qz/Bp5WDwnbtQOTEsYio1Dcu5b8MPyQjE1DwE6Y="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-weekly-nanopub-count a ; dct:description "Returns the number of nanopublications published per week (Mon-Sun)."; dct:license ; rdfs:label "Get weekly nanopub count"; ; """prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: select ?week (substr(str(min(?date)), 0, 11) as ?firstday) (count(?np) as ?nanopubcount) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . } bind(if(month(?date) <= 2, year(?date) - 1, year(?date)) as ?y) bind(if(month(?date) <= 2, month(?date) + 9, month(?date) - 3) as ?m) bind(365*?y + xsd:integer(?y/4) - xsd:integer(?y/100) + xsd:integer(?y/400) + xsd:integer((153*?m + 2)/5) + day(?date) as ?daynum) bind(?daynum + 1 - xsd:integer((?daynum + 1) / 7) * 7 as ?dow) bind(xsd:integer((?daynum - ?dow) / 7) as ?week) } group by ?week order by desc(?week)""" . } 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-04-01T16:30:36Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-weekly-nanopub-count; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "RnAYCwVb3rD6qp39Gmw4e7bUWNuHGcoPl18GHUCDXdz0+kn8w6u+KlGscDJKfsuUub3xvj+coma09INfkQ4aK0qbwkRrqqNDSNhFkeaEw03Aw9oZ7ByGzjJiz+yOpyDZvyMyG7ZPtH+CiEnYPDZ7B6Vs6eLksyyQrMWipCRtgjU="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-news-content a ; dct:description "This query returns the content (body) of the news entries."; dct:license ; rdfs:label "Get news content"; ; """prefix rdf: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: prefix schemas: select ?headline ?body ?datePublished ?link ?np (\"^\" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np dct:creator ?user . ?np np:hasAssertion ?a . } values ?_resource_multi_iri {} { graph ?a { ?newsItem schema:headline ?headline . ?newsItem rdf:type schema:NewsArticle . ?newsItem schema:articleBody ?body . optional { ?newsItem schema:datePublished ?datePublished . } optional { ?newsItem schema:url ?link . } ?newsItem schema:isPartOf ?_resource_multi_iri . } } union { graph ?a { ?newsItem schemas:headline ?headline . ?newsItem rdf:type schemas:NewsArticle . ?newsItem schemas:articleBody ?body . optional { ?newsItem schemas:datePublished ?datePublished . } optional { ?newsItem schemas:url ?link . } ?newsItem schemas:isPartOf ?_resource_multi_iri . } } } order by desc(?datePublished)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8492-0354 . } sub:pubinfo { orcid:0000-0001-8492-0354 foaf:name "Ashley Caselli" . orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2026-04-01T13:24:51.910Z"^^xsd:dateTime; dct:creator orcid:0000-0001-8492-0354, orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-news-content; npx:supersedes ; npx:wasCreatedAt ; prov:wasDerivedFrom ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB"; npx:hasSignature "2gJLqhYDay0Yzg/Mfb03BXazK6OghYYXdmOvTegaCQVMHyD5DMwg3TUTUwLHQmc74z01R3gsn113DErr4zRQSHl5Qe0lI0Gb4IX1dxGDi3u2xOV30S5fIudr4rDY99ZqUb/yTZN/JSCwYtZ3M4ocb2G2oukHYoysGMM50dVoVH8="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . } @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 { sub:get-news-content a ; dct:description "This query returns the content (body) of the news entries."; dct:license ; rdfs:label "Get news content"; ; """prefix rdf: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix schema: select ?headline ?body ?datePublished ?link where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np dct:creator ?user . ?np np:hasAssertion ?a . } graph ?a { ?newsItem schema:headline ?headline . ?newsItem rdf:type schema:NewsArticle . ?newsItem schema:articleBody ?body . optional { ?newsItem schema:datePublished ?datePublished . } optional { ?newsItem schema:url ?link . } values ?_resource_multi_iri {} ?newsItem schema:isPartOf ?_resource_multi_iri . } } order by desc(?datePublished)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0001-8492-0354 . } sub:pubinfo { orcid:0000-0001-8492-0354 foaf:name "Ashley Caselli" . this: dct:created "2026-04-01T13:19:19.162Z"^^xsd:dateTime; dct:creator orcid:0000-0001-8492-0354; dct:license ; npx:embeds sub:get-news-content; npx:supersedes ; npx:wasCreatedAt ; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCaQXE2B2hJ6QdWxaWerU4F/XOtCQdj2OkdrIYd1kpMY9hIUh8boxaO3uOBeqvvqKLf5HjpRF4DT1eghOSsa2Dhd5HRTM/XIamvwWkHpN4oB3Ml19pAAzjTqczYmFLfgG67mGL5+vSA8VEdHtKQCrvP4SpTibMBP1qaxt3k1tqD6wIDAQAB"; npx:hasSignature "eqguUB/NxeY4S5SK/tjJl+fUnuehNiluUQtgW0z3jmiON/vRp2jpBArR5voXJEQBF+XAHN1W2+dgx+jiOw4VY94prkIwHWCM1ngyMqGjg747EYDNWzAUOXBXYv4bXXDSudKJqqX+YVjAz+EyqGtgVPsP6Xfzry1QVNYSm12OW3Q="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0001-8492-0354 . } @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 { sub:get-users-with-profile a ; dct:description "This query returns all users who have set up their profile by declaring at least one view to be displayed on their profile page, sorted by date of first view display publication (most recent first)."; dct:license ; rdfs:label "Get users with profile"; ; """prefix np: prefix npx: prefix npa: prefix dct: prefix gen: prefix foaf: select ?user (sample(?name) as ?user_label) (min(?date) as ?date) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?display a gen:ViewDisplay . ?display gen:isDisplayFor ?user . } graph npa:graph { ?intronp npa:hasValidSignatureForPublicKeyHash ?intropubkey . filter not exists { ?intronpx npx:invalidates ?intronp ; npa:hasValidSignatureForPublicKeyHash ?intropubkey . } ?intronp np:hasAssertion ?introa . } graph ?introa { ?keydecl npx:declaredBy ?user . optional { ?user foaf:name ?name . } } } group by ?user order by desc(?date)""" . } 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-03-30T14:23:21Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-users-with-profile; rdfs:label "Get users with profile"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "bYmBDoF2yN4bYvFZ4cqnWvOB3Z6KC+yrNdsmu+pW01HNlI5BxqAvMoP4e8woeRbQRD8MPeKb3GN0L6mCiUmKXULwfP/2yuxDSSVkxnpIgfbH/uZ2x1trV/D/AuTs4AusUD4Es1xHWe4UHlRfKBwgYwY4i0JQaJ34D30EsA5losQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }