🔗 References (max. 100)

show query show view
part subject predicate object published by date
Assertion
Assertion
Get all spaces
Assertion
Assertion
Returns one row per known space with its label, type IRI and short type name, plus the number of members (Admin + Maintainer + Member tiers) and the number of observers (Observer tier), ordered by member count (most first), then alphabetically by space label. Intended for the /spaces table view.
Assertion
Assertion
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix gen: <https://w3id.org/kpxl/gen/terms/> select ?space_iri (sample(?lbl) as ?space_iri_label) (sample(?t) as ?type) (sample(?tlbl) as ?type_label) (coalesce(sample(?mc), 0) as ?members_count) (coalesce(sample(?oc), 0) as ?observers_count) 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) optional { select ?space_iri (count(distinct ?memberAgent) as ?mc) (count(distinct ?observerAgent) as ?oc) where { graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?g . } graph ?g { ?ri a gen:RoleInstantiation ; npa:forSpace ?space_iri ; npa:forAgent ?agent ; npa:hasRoleType ?tier . } bind(if(?tier != gen:ObserverRole, ?agent, ?unboundM) as ?memberAgent) bind(if(?tier = gen:ObserverRole, ?agent, ?unboundO) as ?observerAgent) } group by ?space_iri } } group by ?space_iri order by desc(coalesce(sample(?mc), 0)) lcase(sample(?lbl))
PublicationInfo
Assertion