Returns the basic information known about a piece of evidence or an argument as property/value rows: its kind, description, the study that generated it, the publication or dataset documenting it, who the statement is attributed to, whether it has been approved, and the source nanopublication it all comes from. Takes the most recent still-current nanopub about the evidence that was published by somebody holding a role in the project its study belongs to. Membership is taken from the validated space-role state (admin, maintainer or member tier) rather than from a fixed list of role predicates, so a nanopub counts whenever its creator holds any member-level role in the space.
Get basic information about a piece of evidence
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 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 cito: <http://purl.org/spar/cito/> prefix prov: <http://www.w3.org/ns/prov#> prefix foaf: <http://xmlns.com/foaf/0.1/> select ?Property_noheader ?Property_label ?Value_multi_val_noheader ?Value_label_multi ?np ?target_np ?approve_target where { { select ?np (sample(?npT) as ?npTitle) ?kind ?kind_label ?description ?study ?study_label (group_concat(distinct str(?source); separator="\n") as ?documented_in_multi_iri) (group_concat(distinct str(?att); separator="\n") as ?att_vals) (group_concat(distinct ?attName; separator="\n") as ?att_labels) where { values ?_evidence_multi_iri {} # the most recent still-current nanopub about this evidence, published by somebody # holding a role in the project the evidence's study belongs to { select ?np where { values ?_evidence_multi_iri {} graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pk0 ; np:hasAssertion ?a0 ; np:hasPublicationInfo ?pi0 . filter not exists { ?inv0 npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk0 . } filter not exists { ?sup0 npx:supersedes ?np . } } graph ?a0 { ?_evidence_multi_iri a obo:ECO_0000000 ; prov:wasGeneratedBy ?study0 . } graph npa:graph { ?snp0 np:hasAssertion ?sa0 . filter not exists { ?ssup0 npx:supersedes ?snp0 . } } graph ?sa0 { ?study0 a obo:OBI_0000066 ; dct:isPartOf ?project0 . } service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select ?project0 ?member0 where { graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?stateG . } graph ?stateG { ?ri0 a gen:RoleInstantiation ; npa:forSpace ?project0 ; npa:forAgent ?member0 ; npa:hasRoleType ?rt0 . filter(?rt0 in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole)) } } } graph ?pi0 { ?np dct:creator ?member0 ; dct:created ?created . } } order by desc(?created) limit 1 } graph npa:graph { ?np np:hasAssertion ?a ; np:hasPublicationInfo ?pi ; np:hasProvenance ?prov . } optional { graph ?a { ?_evidence_multi_iri dct:description ?description } } optional { graph ?a { ?_evidence_multi_iri a ?kind } filter(?kind != obo:ECO_0000000) optional { graph ?pi { ?kind rdfs:label ?kind_label } } } optional { graph ?a { ?_evidence_multi_iri prov:wasGeneratedBy ?study } optional { graph npa:graph { ?snp np:hasAssertion ?sa . filter not exists { ?ssup npx:supersedes ?snp . } } graph ?sa { ?study a obo:OBI_0000066 ; rdfs:label ?study_label . } } } optional { graph ?a { ?_evidence_multi_iri cito:isDocumentedBy ?source } } optional { graph ?prov { ?a prov:wasAttributedTo ?att } optional { graph ?pi { ?att foaf:name ?attName } } } optional { graph ?pi { ?np rdfs:label ?npT } } } group by ?kind ?kind_label ?description ?study ?study_label ?np } bind(exists { graph npa:graph { ?anp npa:hasValidSignatureForPublicKeyHash ?apk ; np:hasAssertion ?aa . filter not exists { ?ainv npx:invalidates ?anp ; npa:hasValidSignatureForPublicKeyHash ?apk . } filter not exists { ?asup npx:supersedes ?anp . } } graph ?aa { ?approver npx:approvesOf ?np } } as ?isApproved) values (?key ?Property_noheader ?Property_label) { ('Kind' rdf:type 'Kind:') ('Desc' dct:description 'Description:') ('Study' prov:wasGeneratedBy 'Generated by:') ('Src' cito:isDocumentedBy 'Documented by:') ('Att' prov:wasAttributedTo 'Stated by:') ('Status' npx:approvesOf 'Status:') ('Source' dct:source 'Source:') } bind(if(?key = 'Kind', str(?kind), if(?key = 'Desc', str(?description), if(?key = 'Study', str(?study), if(?key = 'Src', ?documented_in_multi_iri, if(?key = 'Att', ?att_vals, if(?key = 'Status', if(?isApproved, "approved", "not approved"), str(?np))))))) as ?rawVal) filter(bound(?rawVal) && ?rawVal != "") bind(?rawVal as ?Value_multi_val_noheader) bind(if(?key = 'Source', str(?np), ?nothing) as ?target_np) bind(if(?key = 'Status' && !?isApproved, str(?np), "") as ?approve_target) bind(if(?key = 'Kind', ?kind_label, if(?key = 'Study', ?study_label, if(?key = 'Att', ?att_labels, if(?key = 'Source', coalesce(?npTitle, ""), "")))) as ?Value_label_multi) } order by (if(?key = 'Kind', 1, if(?key = 'Desc', 2, if(?key = 'Study', 3, if(?key = 'Src', 4, if(?key = 'Att', 5, if(?key = 'Status', 6, 7)))))))