https://w3id.org/np/RANoGHPieJug6GwWvwZI39f42JlTqO6qooYUArY1xyOo4
.trig | .trig.txt | .jelly | .jelly.txt | .jsonld | .jsonld.txt | .nq | .nq.txt | .xml | .xml.txt
@prefix this: <https://w3id.org/np/RANoGHPieJug6GwWvwZI39f42JlTqO6qooYUArY1xyOo4> .
@prefix sub: <https://w3id.org/np/RANoGHPieJug6GwWvwZI39f42JlTqO6qooYUArY1xyOo4/> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix orcid: <https://orcid.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
sub:Head {
this: a np:Nanopublication;
np:hasAssertion sub:assertion;
np:hasProvenance sub:provenance;
np:hasPublicationInfo sub:pubinfo .
}
sub:assertion {
sub:get-messages-about-resource a <https://w3id.org/kpxl/grlc/grlc-query>;
dct:description "This query returns plain-text messages and discourse statements (schema:Statement) about the given resource, about its sub-spaces and maintained resources, about the part-level resources of any of these, as well as replies (via as:inReplyTo) to any of them. The 'about' column shows the specific (sub-)space, resource or part each message is about. A part-level resource counts as in scope when a non-invalidated nanopublication states that it is dct:isPartOf (or the legacy dct:partOf) or skos:inScheme one of the resources already in scope -- so messages left on an individual SKOS concept, OWL class or other term of a vocabulary, or on a presentation that is part of a conference space, surface on the owning resource's and space's pages too. Only one such step is followed, and only parts that some message is actually about are considered, which keeps the expansion cheap on large vocabularies. Labels for parts are resolved by a second, scope-independent lookup over the parts that carry messages, kept separate from the lookup for spaces and maintained resources because merging the two into one union stops the query planner from bound-joining the label scan and costs seconds. Labels come from rdfs:label, dct:title, foaf:name or skos:prefLabel in the newest non-invalidated nanopublication describing the target, with the IRI's last path segment as fallback.";
dct:license <http://www.apache.org/licenses/LICENSE-2.0>;
rdfs:label "Get messages about a resource";
<https://w3id.org/kpxl/grlc/endpoint> <https://w3id.org/np/l/nanopub-query-1.1/repo/full>;
<https://w3id.org/kpxl/grlc/sparql> """prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix dct: <http://purl.org/dc/terms/>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix np: <http://www.nanopub.org/nschema#>
prefix npa: <http://purl.org/nanopub/admin/>
prefix npx: <http://purl.org/nanopub/x/>
prefix schema: <https://schema.org/>
prefix schemah: <http://schema.org/>
prefix as: <https://www.w3.org/ns/activitystreams#>
prefix skos: <http://www.w3.org/2004/02/skos/core#>
select ?text (group_concat(distinct concat('<span><a href=\"', str(?link), '\">link</a></span>'); separator=\", \") as ?link) ?about_multi_iri ?about_label_multi ?user ?date ?np (\"^\" as ?np_label) where {
{
select ?a ?s ?text (group_concat(?target; separator=\" \") as ?about_multi_iri) (group_concat(replace(replace(?target_label, \"\\\\\\\\\", \"\\\\\\\\\\\\\\\\\"), \"[\\r\\n]+\", \"\\\\\\\\n\"); separator=\"\\n\") as ?about_label_multi) where {
select distinct ?a ?s ?text ?target ?target_label where {
{
select distinct ?target where {
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?ga . }
graph ?ga {
values ?_resource_multi_iri {}
?target (npa:isSubSpaceOf|npa:isMaintainedBy)* ?_resource_multi_iri .
}
}
}
} union {
{
select distinct ?owner where {
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?gb . }
graph ?gb {
values ?_resource_multi_iri {}
?owner (npa:isSubSpaceOf|npa:isMaintainedBy)* ?_resource_multi_iri .
}
}
}
}
graph ?pg { ?target dct:isPartOf|dct:partOf|skos:inScheme ?owner . }
filter exists { graph ?ma { ?ms schema:about|schemah:about ?target . } }
graph npa:graph {
?pnp np:hasAssertion ?pg ; npa:hasValidSignatureForPublicKeyHash ?ppubkey .
filter not exists { ?pinv npx:invalidates ?pnp ; npa:hasValidSignatureForPublicKeyHash ?ppubkey . }
}
}
optional {
{
select ?target (max(concat(str(?tdate), \" \", ?tl)) as ?tagged) where {
graph ?tg { ?target rdfs:label|dct:title|foaf:name|skos:prefLabel ?tl . }
graph npa:graph {
?tnp np:hasAssertion ?tg .
?tnp dct:created ?tdate .
?tnp npa:hasValidSignatureForPublicKeyHash ?tpubkey .
filter not exists { ?tnpx npx:invalidates ?tnp ; npa:hasValidSignatureForPublicKeyHash ?tpubkey . }
}
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?g2 . }
graph ?g2 {
values ?_resource_multi_iri {}
?target (npa:isSubSpaceOf|npa:isMaintainedBy)* ?_resource_multi_iri .
}
}
}
group by ?target
}
}
optional {
{
select ?target (max(concat(str(?ptdate), \" \", ?ptl)) as ?ptagged) where {
{
select distinct ?target where {
graph ?lma { ?lms schema:about|schemah:about ?target . }
graph ?lpg { ?target dct:isPartOf|dct:partOf|skos:inScheme ?lowner . }
}
}
graph ?ptg { ?target rdfs:label|dct:title|foaf:name|skos:prefLabel ?ptl . }
graph npa:graph {
?ptnp np:hasAssertion ?ptg .
?ptnp dct:created ?ptdate .
?ptnp npa:hasValidSignatureForPublicKeyHash ?ptpubkey .
filter not exists { ?ptnpx npx:invalidates ?ptnp ; npa:hasValidSignatureForPublicKeyHash ?ptpubkey . }
}
}
group by ?target
}
}
bind(coalesce(strafter(?tagged, \" \"), strafter(?ptagged, \" \"), replace(str(?target), \"^.*[/#]([^/#]+)$\", \"$1\")) as ?target_label)
{
graph ?a {
{
?a rdfs:label ?text .
?a schema:about|schemah:about ?target .
bind(?a as ?s)
} union {
?s a ?stype .
filter(?stype in (schema:Statement, schemah:Statement))
?s rdf:value ?text .
?s schema:about|schemah:about ?target .
}
}
} union {
?anchor schema:about|schemah:about ?target .
?s as:inReplyTo+ ?anchor .
graph ?a {
?s a ?stype2 .
filter(?stype2 in (schema:Statement, schemah:Statement))
?s rdf:value ?text .
}
}
}
}
group by ?a ?s ?text
}
optional { graph ?a { ?s rdfs:seeAlso ?link . } }
graph npa:graph {
?np np:hasAssertion ?a .
?np npa:hasValidSignatureForPublicKeyHash ?pubkey .
filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }
}
optional { graph npa:graph { ?np dct:created ?date . } }
optional { graph npa:graph { ?np dct:creator ?user . } }
}
group by ?text ?about_multi_iri ?about_label_multi ?user ?date ?np
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-09-04T08:19:16Z"^^xsd:dateTime;
dct:creator orcid:0000-0002-1267-0234;
dct:license <https://creativecommons.org/licenses/by/4.0/>;
npx:embeds sub:get-messages-about-resource;
npx:supersedes <https://w3id.org/np/RAIS-e6FhN47smgeu9JdPmmBVZy0GV41lnAnVU6Lyg_2o>;
rdfs:label "Get messages about a resource";
nt:wasCreatedFromProvenanceTemplate <https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU>;
nt:wasCreatedFromPubinfoTemplate <https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8>,
<https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw>, <https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI>;
nt:wasCreatedFromTemplate <https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k> .
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB";
npx:hasSignature "KG49O2//CJl0yB6q2qdveFbmXZ2aPwnEyVbNc9jlAL3X+eZfl8ITNiQ/WFDs9qQo8VH5aTmwTkZgjieQG/bv2na3EAdpY+0AojZ4zOM0GgUX1UkH+5ziziwnKQVFyHBhkwB708yptu+Dm7bA19ep3cmFB1NAR+ps1Xd6TsbOhts=";
npx:hasSignatureTarget this:;
npx:signedBy orcid:0000-0002-1267-0234 .
}