@prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-evidence-info a grlc:grlc-query; dct:description "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."; dct:license ; npx:supersedes ; rdfs:label "Get basic information about a piece of evidence"; grlc:endpoint ; grlc:sparql """prefix rdf: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: prefix ff: prefix obo: prefix cito: prefix prov: prefix foaf: 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 . } graph npa:graph { ?mnp0 np:hasAssertion ?ma0 . filter not exists { ?msup0 npx:supersedes ?mnp0 . } } graph ?ma0 { ?project0 ?mrel0 ?member0 . values ?mrel0 { gen:hasAdmin gen:hasProjectLead ff:has-principal-investigator ff:has-participant ff:has-data-steward } } 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)))))))""" . } 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-08-17T12:54:36Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-evidence-info; npx:supersedes ; rdfs:label "Get basic information about a piece of evidence"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "e/elP5jzCxCBg+zddqKPpuCe96pFNRJlo95w2n+gIvX7aWo3SNkL31IVmHBRBibNH0Bq5lPlmcQEkK8MaaB9ZT1Qe80GmtHsZri77q3e1F8DB1AZrUq6izTrCdvq4mzaUrFe2GQ1JOHvYXZ0hQV2kh+wxbM9reh7kocfRkyBDeI="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }