https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/Head
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://www.nanopub.org/nschema#hasAssertion
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/assertion
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://www.nanopub.org/nschema#hasProvenance
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/provenance
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://www.nanopub.org/nschema#hasPublicationInfo
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/pubinfo
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.nanopub.org/nschema#Nanopublication
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/assertion
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/get-project-summary-svg
http://purl.org/dc/terms/description
Computes an SVG summary diagram of a FAIR project: the studies and other activities in the middle, the reused datasets that feed them on the left, the outputs they produce on the right, the findings and insights they yield above, and the people and their institutions below. Every box links to the resource it stands for.
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/get-project-summary-svg
http://purl.org/dc/terms/license
http://www.apache.org/licenses/LICENSE-2.0
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/get-project-summary-svg
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
https://w3id.org/kpxl/grlc/grlc-query
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/get-project-summary-svg
http://www.w3.org/2000/01/rdf-schema#label
Get project summary diagram as SVG
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/get-project-summary-svg
https://w3id.org/kpxl/grlc/endpoint
https://w3id.org/np/l/nanopub-query-1.1/repo/full
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/get-project-summary-svg
https://w3id.org/kpxl/grlc/sparql
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix dct: <http://purl.org/dc/terms/>
prefix np: <http://www.nanopub.org/nschema#>
prefix npa: <http://purl.org/nanopub/admin/>
prefix npx: <http://purl.org/nanopub/x/>
prefix gen: <https://w3id.org/kpxl/gen/terms/>
prefix ff: <https://w3id.org/fair/ff/terms/>
prefix obo: <http://purl.obolibrary.org/obo/>
prefix hycl: <http://purl.org/petapico/o/hycl#>
prefix cito: <http://purl.org/spar/cito/>
prefix foaf: <http://xmlns.com/foaf/0.1/>
select (concat(
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1120 ', str(((((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) + (?nppl * 16 + 14) + 30) + (?ninst * 16 + 14) + 24)),
'" width="1120" height="', str(((((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) + (?nppl * 16 + 14) + 30) + (?ninst * 16 + 14) + 24)), '" font-family="sans-serif">',
'<text x="34" y="', str(48 - 10), '" font-size="11" font-weight="bold" fill="#333">Knowledge — findings and insights</text>',
'<rect x="20" y="', str(48), '" width="1080" height="', str((?nkno * 16 + 14)),
'" rx="4" fill="#fff7cc" stroke="#888"></rect>',
'<text x="34" y="', str(48), '" font-size="10" fill="#111">', ?lineskno, '</text>',
'<text x="30" y="', str((48 + (?nkno * 16 + 14) + 46) - 10), '" font-size="11" font-weight="bold" fill="#333">Inputs — reused data</text>',
'<rect x="20" y="', str((48 + (?nkno * 16 + 14) + 46)), '" width="400" height="', str(((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14)),
'" rx="4" fill="#dcecf7" stroke="#888"></rect>',
'<text x="30" y="', str((48 + (?nkno * 16 + 14) + 46)), '" font-size="10" fill="#111">', ?linesin, '</text>',
'<text x="440" y="', str((48 + (?nkno * 16 + 14) + 46) - 10), '" font-size="11" font-weight="bold" fill="#333">Activities — studies</text>',
'<rect x="430" y="', str((48 + (?nkno * 16 + 14) + 46)), '" width="420" height="', str(((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14)),
'" rx="4" fill="#ffffff" stroke="#888"></rect>',
'<text x="440" y="', str((48 + (?nkno * 16 + 14) + 46)), '" font-size="10" fill="#111">', ?linesact, '</text>',
'<text x="860" y="', str((48 + (?nkno * 16 + 14) + 46) - 10), '" font-size="11" font-weight="bold" fill="#333">Outputs</text>',
'<rect x="850" y="', str((48 + (?nkno * 16 + 14) + 46)), '" width="250" height="', str(((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14)),
'" rx="4" fill="#dff0d8" stroke="#888"></rect>',
'<text x="860" y="', str((48 + (?nkno * 16 + 14) + 46)), '" font-size="10" fill="#111">', ?linesout, '</text>',
'<text x="30" y="', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) - 10), '" font-size="11" font-weight="bold" fill="#333">People</text>',
'<rect x="20" y="', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46)), '" width="1080" height="', str((?nppl * 16 + 14)),
'" rx="4" fill="#ece4f5" stroke="#888"></rect>',
'<text x="30" y="', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46)), '" font-size="10" fill="#111">', ?linesppl, '</text>',
'<text x="30" y="', str((((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) + (?nppl * 16 + 14) + 30) - 10), '" font-size="11" font-weight="bold" fill="#333">Institutions</text>',
'<rect x="20" y="', str((((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) + (?nppl * 16 + 14) + 30)), '" width="1080" height="', str((?ninst * 16 + 14)),
'" rx="4" fill="#e8e8e8" stroke="#888"></rect>',
'<text x="30" y="', str((((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) + (?nppl * 16 + 14) + 30)), '" font-size="10" fill="#111">', ?linesinst, '</text>',
'<line x1="420" y1="', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2)), '" x2="424" y2="', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2)), '" stroke="#777" stroke-width="2"></line>',
'<path d="M 430 ', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2)), ' L 416 ', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2) - 6), ' L 416 ', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2) + 6), ' Z" fill="#777"></path>',
'<path d="M 850 ', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2)), ' L 836 ', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2) - 6), ' L 836 ', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) / 2) + 6), ' Z" fill="#777"></path>',
'<path d="M 560 ', str((48 + (?nkno * 16 + 14) + 46) - 34), ' L 554 ', str((48 + (?nkno * 16 + 14) + 46) - 20), ' L 566 ', str((48 + (?nkno * 16 + 14) + 46) - 20), ' Z" fill="#777"></path>',
'<line x1="560" y1="', str((48 + (?nkno * 16 + 14) + 46) - 20), '" x2="560" y2="', str(48 + (?nkno * 16 + 14)), '" stroke="#777" stroke-width="2"></line>',
'<line x1="560" y1="', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) - 30), '" x2="560" y2="', str((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14)), '" stroke="#777" stroke-width="2" stroke-dasharray="4 3"></line>',
'<line x1="560" y1="', str((((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) + (?nppl * 16 + 14) + 30) - 14), '" x2="560" y2="', str(((48 + (?nkno * 16 + 14) + 46) + ((if(?nin > ?nact, if(?nin > ?nout, ?nin, ?nout), if(?nact > ?nout, ?nact, ?nout))) * 16 + 14) + 46) + (?nppl * 16 + 14)), '" stroke="#777" stroke-width="2" stroke-dasharray="4 3"></line>',
'</svg>') as ?svg) ("FAIR project summary" as ?title)
where {
{
select (group_concat(distinct ?linekno; separator="") as ?lineskno) (count(*) as ?nkno) where {
{
select ?irikno (min(?labelkno) as ?lblkno) where {
values ?_project_multi_iri {}
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?stateG . }
values ?_project_multi_iri {}
graph ?stateG {
?_project_multi_iri npa:isMaintainedBy? ?space .
?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .
filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))
?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .
}
}
}
graph npa:graph {
?nps npa:hasValidSignatureForPublicKeyHash ?pks ;
np:hasAssertion ?as ;
np:hasPublicationInfo ?pis .
filter not exists { ?ixs npx:invalidates ?nps ; npa:hasValidSignatureForPublicKeyHash ?pks . }
filter not exists { ?sxs npx:supersedes ?nps . }
}
filter(contains(?memberPubkeys, ?pks))
graph ?as {
?study a obo:OBI_0000066 ; dct:isPartOf ?_project_multi_iri .
}
graph npa:graph {
?npkno npa:hasValidSignatureForPublicKeyHash ?pkkno ;
np:hasAssertion ?akno ;
np:hasPublicationInfo ?pikno .
filter not exists { ?ixkno npx:invalidates ?npkno ; npa:hasValidSignatureForPublicKeyHash ?pkkno . }
filter not exists { ?sxkno npx:supersedes ?npkno . }
}
filter(contains(?memberPubkeys, ?pkkno))
graph ?akno {
?irikno a hycl:AIDA-Sentence ; cito:obtainsSupportFrom ?study .
}
optional { graph ?pikno { ?npkno rdfs:label ?lpkno } }
bind(coalesce(?lpkno, "(finding)") as ?labelkno)
} group by ?irikno
}
bind(if(strlen(?lblkno) > 168, concat(substr(?lblkno, 1, 165), "..."), ?lblkno) as ?tkno)
bind(replace(replace(replace(?tkno, "&", "&"), "<", "<"), ">", ">") as ?esckno)
bind(concat('<a href="/part?id=', encode_for_uri(str(?irikno)),
'"><tspan x="34" dy="16">', ?esckno, '</tspan></a>') as ?linekno)
}
}
{
select (group_concat(distinct ?linein; separator="") as ?linesin) (count(*) as ?nin) where {
{
select ?iriin (min(?labelin) as ?lblin) where {
values ?_project_multi_iri {}
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?stateG . }
values ?_project_multi_iri {}
graph ?stateG {
?_project_multi_iri npa:isMaintainedBy? ?space .
?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .
filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))
?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .
}
}
}
graph npa:graph {
?npin npa:hasValidSignatureForPublicKeyHash ?pkin ;
np:hasAssertion ?ain ;
np:hasPublicationInfo ?piin .
filter not exists { ?ixin npx:invalidates ?npin ; npa:hasValidSignatureForPublicKeyHash ?pkin . }
filter not exists { ?sxin npx:supersedes ?npin . }
}
filter(contains(?memberPubkeys, ?pkin))
graph ?ain {
?_project_multi_iri ff:reuses ?iriin .
}
optional { graph ?ain { ?iriin rdfs:label ?lain } }
optional { graph ?piin { ?iriin foaf:name ?lfin } }
optional { graph ?piin { ?iriin rdfs:label ?lqin } }
bind(coalesce(?lain, ?lfin, ?lqin, replace(str(?iriin), "^.*[/#]", "")) as ?labelin)
} group by ?iriin
}
bind(if(strlen(?lblin) > 42, concat(substr(?lblin, 1, 39), "..."), ?lblin) as ?tin)
bind(replace(replace(replace(?tin, "&", "&"), "<", "<"), ">", ">") as ?escin)
bind(concat('<a href="/part?id=', encode_for_uri(str(?iriin)),
'"><tspan x="30" dy="16">', ?escin, '</tspan></a>') as ?linein)
}
}
{
select (group_concat(distinct ?lineact; separator="") as ?linesact) (count(*) as ?nact) where {
{
select ?iriact (min(?labelact) as ?lblact) where {
values ?_project_multi_iri {}
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?stateG . }
values ?_project_multi_iri {}
graph ?stateG {
?_project_multi_iri npa:isMaintainedBy? ?space .
?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .
filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))
?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .
}
}
}
graph npa:graph {
?npact npa:hasValidSignatureForPublicKeyHash ?pkact ;
np:hasAssertion ?aact ;
np:hasPublicationInfo ?piact .
filter not exists { ?ixact npx:invalidates ?npact ; npa:hasValidSignatureForPublicKeyHash ?pkact . }
filter not exists { ?sxact npx:supersedes ?npact . }
}
filter(contains(?memberPubkeys, ?pkact))
graph ?aact {
?iriact a obo:OBI_0000066 ; dct:isPartOf ?_project_multi_iri .
}
optional { graph ?aact { ?iriact rdfs:label ?laact } }
optional { graph ?piact { ?iriact foaf:name ?lfact } }
optional { graph ?piact { ?iriact rdfs:label ?lqact } }
bind(coalesce(?laact, ?lfact, ?lqact, replace(str(?iriact), "^.*[/#]", "")) as ?labelact)
} group by ?iriact
}
bind(if(strlen(?lblact) > 44, concat(substr(?lblact, 1, 41), "..."), ?lblact) as ?tact)
bind(replace(replace(replace(?tact, "&", "&"), "<", "<"), ">", ">") as ?escact)
bind(concat('<a href="/part?id=', encode_for_uri(str(?iriact)),
'"><tspan x="440" dy="16">', ?escact, '</tspan></a>') as ?lineact)
}
}
{
select (group_concat(distinct ?lineout; separator="") as ?linesout) (count(*) as ?nout) where {
{
select ?iriout (min(?labelout) as ?lblout) where {
values ?_project_multi_iri {}
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?stateG . }
values ?_project_multi_iri {}
graph ?stateG {
?_project_multi_iri npa:isMaintainedBy? ?space .
?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .
filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))
?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .
}
}
}
graph npa:graph {
?npout npa:hasValidSignatureForPublicKeyHash ?pkout ;
np:hasAssertion ?aout ;
np:hasPublicationInfo ?piout .
filter not exists { ?ixout npx:invalidates ?npout ; npa:hasValidSignatureForPublicKeyHash ?pkout . }
filter not exists { ?sxout npx:supersedes ?npout . }
}
filter(contains(?memberPubkeys, ?pkout))
graph ?aout {
?_project_multi_iri ?relout ?iriout .
values ?relout { ff:has-article ff:has-dataset ff:has-software ff:has-method ff:has-dmp ff:has-presentation ff:has-blog-post ff:has-media-coverage ff:has-social-post ff:has-podcast ff:has-discussion }
}
optional { graph ?aout { ?iriout rdfs:label ?laout } }
optional { graph ?piout { ?iriout foaf:name ?lfout } }
optional { graph ?piout { ?iriout rdfs:label ?lqout } }
bind(coalesce(?laout, ?lfout, ?lqout, replace(str(?iriout), "^.*[/#]", "")) as ?labelout)
} group by ?iriout
}
bind(if(strlen(?lblout) > 42, concat(substr(?lblout, 1, 39), "..."), ?lblout) as ?tout)
bind(replace(replace(replace(?tout, "&", "&"), "<", "<"), ">", ">") as ?escout)
bind(concat('<a href="/part?id=', encode_for_uri(str(?iriout)),
'"><tspan x="860" dy="16">', ?escout, '</tspan></a>') as ?lineout)
}
}
{
select (group_concat(distinct ?lineppl; separator="") as ?linesppl) (count(*) as ?nppl) where {
{
select ?irippl (min(?labelppl) as ?lblppl) where {
values ?_project_multi_iri {}
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?stateG . }
values ?_project_multi_iri {}
graph ?stateG {
?_project_multi_iri npa:isMaintainedBy? ?space .
?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .
filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))
?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .
}
}
}
graph npa:graph {
?npppl npa:hasValidSignatureForPublicKeyHash ?pkppl ;
np:hasAssertion ?appl ;
np:hasPublicationInfo ?pippl .
filter not exists { ?ixppl npx:invalidates ?npppl ; npa:hasValidSignatureForPublicKeyHash ?pkppl . }
filter not exists { ?sxppl npx:supersedes ?npppl . }
}
filter(contains(?memberPubkeys, ?pkppl))
graph ?appl {
?_project_multi_iri ?relppl ?irippl .
values ?relppl { ff:has-principal-investigator ff:has-participant ff:has-data-steward gen:hasProjectLead }
}
optional { graph ?appl { ?irippl rdfs:label ?lappl } }
optional { graph ?pippl { ?irippl foaf:name ?lfppl } }
optional { graph ?pippl { ?irippl rdfs:label ?lqppl } }
bind(coalesce(?lappl, ?lfppl, ?lqppl, replace(str(?irippl), "^.*[/#]", "")) as ?labelppl)
} group by ?irippl
}
bind(if(strlen(?lblppl) > 78, concat(substr(?lblppl, 1, 75), "..."), ?lblppl) as ?tppl)
bind(replace(replace(replace(?tppl, "&", "&"), "<", "<"), ">", ">") as ?escppl)
bind(concat('<a href="/part?id=', encode_for_uri(str(?irippl)),
'"><tspan x="30" dy="16">', ?escppl, '</tspan></a>') as ?lineppl)
}
}
{
select (group_concat(distinct ?lineinst; separator="") as ?linesinst) (count(*) as ?ninst) where {
{
select ?iriinst (min(?labelinst) as ?lblinst) where {
values ?_project_multi_iri {}
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?stateG . }
values ?_project_multi_iri {}
graph ?stateG {
?_project_multi_iri npa:isMaintainedBy? ?space .
?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .
filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))
?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .
}
}
}
graph npa:graph {
?npinst npa:hasValidSignatureForPublicKeyHash ?pkinst ;
np:hasAssertion ?ainst ;
np:hasPublicationInfo ?piinst .
filter not exists { ?ixinst npx:invalidates ?npinst ; npa:hasValidSignatureForPublicKeyHash ?pkinst . }
filter not exists { ?sxinst npx:supersedes ?npinst . }
}
filter(contains(?memberPubkeys, ?pkinst))
graph ?ainst {
?_project_multi_iri ?relinst ?iriinst .
values ?relinst { ff:has-lead-institution ff:has-partner-institution ff:has-funder }
}
optional { graph ?ainst { ?iriinst rdfs:label ?lainst } }
optional { graph ?piinst { ?iriinst foaf:name ?lfinst } }
optional { graph ?piinst { ?iriinst rdfs:label ?lqinst } }
bind(coalesce(?lainst, ?lfinst, ?lqinst, replace(str(?iriinst), "^.*[/#]", "")) as ?labelinst)
} group by ?iriinst
}
bind(if(strlen(?lblinst) > 78, concat(substr(?lblinst, 1, 75), "..."), ?lblinst) as ?tinst)
bind(replace(replace(replace(?tinst, "&", "&"), "<", "<"), ">", ">") as ?escinst)
bind(concat('<a href="/part?id=', encode_for_uri(str(?iriinst)),
'"><tspan x="30" dy="16">', ?escinst, '</tspan></a>') as ?lineinst)
}
}
}
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/provenance
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/assertion
http://www.w3.org/ns/prov#wasAttributedTo
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/pubinfo
https://orcid.org/0000-0002-1267-0234
http://xmlns.com/foaf/0.1/name
Tobias Kuhn
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://purl.org/dc/terms/created
2026-08-14T09:00:00Z
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://purl.org/dc/terms/creator
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://purl.org/dc/terms/license
https://creativecommons.org/licenses/by/4.0/
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://purl.org/nanopub/x/embeds
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/get-project-summary-svg
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
http://www.w3.org/2000/01/rdf-schema#label
Get project summary diagram as SVG
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate
http://purl.org/np/RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate
https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/sig
http://purl.org/nanopub/x/hasAlgorithm
RSA
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/sig
http://purl.org/nanopub/x/hasPublicKey
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/sig
http://purl.org/nanopub/x/hasSignature
RaBtF/Och70Ssh7fjSgp8k+8awAywZdy94EaJy63+5MiFTzbauz9rH77PLU+4hIMP6QyGd7JOcOclDA8eBmy6Jzm5Iz1wanUoKIkJN8Wc5lJLdhDnXk6SYcf/QopIHlWyi3N8vhUWbQGMbX1cnRoU/1eYWdiRDwOPn5J507M+Ng=
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/sig
http://purl.org/nanopub/x/hasSignatureTarget
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I
https://w3id.org/np/RAB0A48STv6efzv1khghLrvl-hMh88-1hBl6vOMJvzM2I/sig
http://purl.org/nanopub/x/signedBy
https://orcid.org/0000-0002-1267-0234