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 &#8212; 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 &#8212; 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 &#8212; 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, "&", "&amp;"), "<", "&lt;"), ">", "&gt;") 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, "&", "&amp;"), "<", "&lt;"), ">", "&gt;") 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, "&", "&amp;"), "<", "&lt;"), ">", "&gt;") 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, "&", "&amp;"), "<", "&lt;"), ">", "&gt;") 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, "&", "&amp;"), "<", "&lt;"), ">", "&gt;") 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, "&", "&amp;"), "<", "&lt;"), ">", "&gt;") 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