[ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/provenance", "@graph": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/pubinfo", "@graph": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc", "http://purl.org/dc/terms/created": [ { "@value": "2026-11-12T12:26:36.891+01:00", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "http://purl.org/nanopub/x/embeds": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/get-mvikg-sample-variants" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get MVIKG variants of a sample" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA" }, { "@id": "https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } ] }, { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "nVb2FozcrBmG3c1q8INc9xxGZfzGiGrc95/m88Gd5ccu3Ca2zG/1y5DynFSqzvwu0VxpXYMTLv0Mgdvm9pQlBiQsb1cCzvFnirmhHxNiRArYYZbdwAnpvGIX0wFKCGE5l+uBTrdxdA3hbkDWcoGWuYnSpY8sFfUBDqa37bfAM3U=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/Head", "@graph": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/assertion", "@graph": [ { "@id": "https://w3id.org/np/RA721o3bE085lJ5EM5FF70QMUEk1SmOuqbmnf6qKVBAgc/get-mvikg-sample-variants", "http://purl.org/dc/terms/description": [ { "@value": "Lists the sequence variant records observed in a sample ('partid') of the MVIKG knowledge graph, with gene, Sequence Ontology type, effect and review status. The gene-to-sample and gene-to-variant links are read from the variant's own nanopub. Only records signed by a current admin, maintainer or member of the mvikg space count, in their newest non-invalidated version; the review status is the latest npx:approvesOf / npx:disapprovesOf verdict of a current mvikg admin on that version (none: pending)." } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "@type": [ "https://w3id.org/kpxl/grlc/grlc-query" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get MVIKG variants of a sample" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/full" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix rdf: \nprefix rdfs: \nprefix dct: \nprefix np: \nprefix npa: \nprefix npx: \nprefix gen: \nprefix sosa: \nprefix biolink: \nprefix mvikg: \nprefix obo: \n\nselect ?variant ?variant_label ?gene ?gene_label ?type ?effect ?status ?np ?np_label where {\n {\n select ?variant ?np (sample(?l) as ?vl) (sample(?g) as ?gene) (group_concat(distinct ?tl; separator=', ') as ?type) (sample(?e) as ?effect) (max(?verdict) as ?mv) where {\n service {\n select (group_concat(distinct ?pk; separator=' ') as ?memberKeys) (group_concat(distinct ?apk; separator=' ') as ?adminKeys) where {\n graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?sg . }\n graph ?sg {\n ?ri a gen:RoleInstantiation ; npa:forSpace ; npa:hasRoleType ?tier ; npa:forAgent ?agent .\n filter(?tier in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))\n ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?pk .\n bind(if(?tier = gen:AdminRole, ?pk, '') as ?apk)\n }\n }\n }\n {\n select distinct ?alias where {\n { bind(?_partid_iri as ?alias) }\n union\n { graph npa:graph { ?cur npx:introduces ?_partid_iri . ?cur npx:supersedes* ?old . ?old npx:introduces ?alias . } }\n }\n }\n graph ?a { ?g sosa:isFeatureOfInterestOf ?alias ; biolink:has_sequence_variant ?variant . ?variant a biolink:SequenceVariant ; dct:isPartOf . }\n graph npa:graph {\n ?np np:hasAssertion ?a ; npx:introduces ?variant ; dct:created ?date ;\n npa:hasValidSignatureForPublicKeyHash ?pubkey .\n filter not exists { ?inv npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }\n }\n filter(contains(?memberKeys, ?pubkey))\n optional {\n graph npa:graph {\n ?np2 npx:introduces ?variant ; dct:created ?date2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 .\n filter not exists { ?inv2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . }\n }\n filter(contains(?memberKeys, ?pubkey2) && concat(str(?date2), '>', str(?np2)) > concat(str(?date), '>', str(?np)))\n }\n filter(!bound(?np2))\n optional { graph ?a { ?variant rdfs:label ?l } }\n optional { graph ?a { ?variant mvikg:effect ?e } }\n optional { graph ?a { ?variant a ?t . filter(?t != biolink:SequenceVariant) } bind(if(?t = obo:SO_0000159, 'deletion', if(?t = obo:SO_0000667, 'insertion', if(?t = obo:SO_0000694, 'SNP', if(?t = obo:SO_0001483, 'SNV', if(?t = obo:SO_0001059, 'sequence alteration', if(?t = obo:SO_1000002, 'substitution', if(?t = obo:SO_1000032, 'delins', if(?t = obo:SO_0002007, 'MNV', replace(replace(str(?t), '^.*[/#]', ''), '_', ':'))))))))) as ?tl) }\n optional {\n values ?vpred { npx:approvesOf npx:disapprovesOf }\n graph ?va { ?vagent ?vpred ?np . }\n graph npa:graph {\n ?vnp np:hasAssertion ?va ; dct:created ?vdate ; npa:hasValidSignatureForPublicKeyHash ?vpk .\n filter not exists { ?vinv npx:invalidates ?vnp ; npa:hasValidSignatureForPublicKeyHash ?vpk . }\n }\n filter(contains(?adminKeys, ?vpk))\n bind(concat(str(?vdate), '>', if(?vpred = npx:disapprovesOf, 'd', 'a')) as ?verdict)\n }\n } group by ?variant ?np\n }\n bind(coalesce(str(?vl), replace(str(?variant), '^.*/np/', '')) as ?variant_label)\n bind(replace(str(?gene), '^.*[/#]', '') as ?gene_label)\n bind(if(!bound(?mv), '⏳ pending', if(strends(?mv, 'd'), '🚫 rejected', '✅ approved')) as ?status)\n bind('^' as ?np_label)\n}\norder by ?variant_label" } ] } ] } ]