[ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/pubinfo", "@graph": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U", "http://purl.org/dc/terms/created": [ { "@value": "2026-11-12T12:26:36.880+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/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/get-mvikg-sample-phenotypes" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get MVIKG phenotypes 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/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/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": "HKgr6VmBdeJ5nTFH3r7LkZJzJhHH1kOf7gFIgPa2fW894oqwncCk73n7TAHVPG2LCHytlHOndF6RkEkT4XyYJkatBYrWDidI2UA3BQIJHMynNEcbaFdyJvCSx+IUei1Hdfl5MWrpx0aRdmuIbI8Hti481tYzgIS3Sm3G1gbK9dE=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/assertion", "@graph": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/get-mvikg-sample-phenotypes", "http://purl.org/dc/terms/description": [ { "@value": "Lists the phenotype and antibiogram observation records that are results of a sample ('partid') of the MVIKG knowledge graph, with description, baseline, associated variant and review status. 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 phenotypes 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 ?phenotype ?phenotype_label ?description ?compared_to ?variant ?variant_label ?status ?np ?np_label where {\n {\n select ?phenotype ?np (sample(?l) as ?pl) (sample(?c) as ?description) (sample(?ct) as ?compared_to) (sample(coalesce(?varc, ?var)) as ?variant) (min(?varl) as ?vl) (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 { ?phenotype sosa:isResultOf ?alias . ?phenotype a biolink:PhenotypicFeature ; dct:isPartOf . }\n graph npa:graph {\n ?np np:hasAssertion ?a ; npx:introduces ?phenotype ; 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 ?phenotype ; 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 { ?phenotype rdfs:label ?l } }\n optional { graph ?a { ?phenotype rdfs:comment ?c } }\n optional { graph ?a { ?phenotype mvikg:comparedTo ?ct } }\n optional { graph ?a { ?phenotype mvikg:isAssociatedWithVariant ?var } }\n optional {\n graph npa:graph {\n ?varonp npx:introduces ?var . ?varnp npx:supersedes* ?varonp ; npx:introduces ?varc ; rdfs:label ?varl ;\n npa:hasValidSignatureForPublicKeyHash ?varpk .\n filter not exists { ?varinv npx:invalidates ?varnp ; npa:hasValidSignatureForPublicKeyHash ?varpk . }\n }\n }\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 ?phenotype ?np\n }\n bind(coalesce(str(?pl), replace(str(?phenotype), '^.*/np/', '')) as ?phenotype_label)\n bind(coalesce(str(?vl), replace(str(?variant), '^.*/np/', '')) as ?variant_label)\n bind(if(!bound(?mv), '⏳ pending', if(strends(?mv, 'd'), '🚫 rejected', '✅ approved')) as ?status)\n bind('^' as ?np_label)\n}\norder by ?phenotype_label" } ] } ] }, { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/Head", "@graph": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/provenance", "@graph": [ { "@id": "https://w3id.org/np/RARVqlc-69m9ITEdA68gPbvj_atZkj06k7acJBvuYyW4U/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] } ]