[ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0", "http://purl.org/dc/terms/created": [ { "@value": "2026-10-01T11:55:15Z", "@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/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/get-mira-record-info" } ], "http://purl.org/nanopub/x/supersedes": [ { "@id": "https://w3id.org/np/RAsOWAUk3a2WM7_VU-lLIR-Pyb-70CVSrOtHykXq1nzuU" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get the information about a MIRA record" } ], "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/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" }, { "@id": "https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw" }, { "@id": "https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } ] }, { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/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": "eWurGSd7/743yhu++LeTwpthn6riKYoxImqqQz3dzOM5VZwXBdz3BIX8qlRJkocuQ3cfAcFwlooLC5HUWdUqgsaZbSfEfSZjFd1+bKarwzpttI1tTRMMqEXuSpvk2wTh31uJsA3HWTfhyDKsYvDet8iJ9igs6eWdPc6hH139r5g=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/get-mira-record-info", "http://purl.org/dc/terms/description": [ { "@value": "Shows the stored information about any MIRA record -- question, claim, evidence item, study, protocol, request or source document -- as a property/value table, one row per populated field, so a single view serves every element type. Fields absent from a given record simply produce no row. Referenced records are shown by their own statement, and a final Source row gives the nanopublication the values were read from. Takes the part IRI in the partid placeholder." } ], "http://purl.org/dc/terms/license": [ { "@id": "http://www.apache.org/licenses/LICENSE-2.0" } ], "@type": [ "https://w3id.org/kpxl/grlc/grlc-query" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get the information about a MIRA record" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/type/5ee93356ac9163d743a44466ee5cae3e537a0bb429b81354f72799d7f700c947" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix rdf: \nprefix dct: \nprefix sioc: \nprefix mira: \nprefix np: \nprefix npa: \nprefix npx: \nprefix foaf: \nprefix rdfs: \n\nselect ?Property_noheader ?Property_label\n (group_concat(replace(str(?val), '[\\r\\n]+', ' '); separator='\\n') as ?Value_multi_val_noheader)\n (group_concat(replace(str(?vallabel), '[\\r\\n]+', ' '); separator='\\n') as ?Value_label_multi)\nwhere {\n {\n select ?ord ?Property_noheader ?Property_label ?val (min(?vallabelRaw) as ?vallabel) where {\n # The nanopublication that defines this record: the newest one whose assertion types\n # it as a MIRA record. The type repository holds only current versions, so this is\n # normally the only candidate; the limit guards against a second claimant.\n {\n select ?dnp ?da where {\n graph npa:graph { ?dnp np:hasAssertion ?da ; dct:created ?ddate . }\n graph ?da { ?_partid_iri a ?recordType . }\n values ?recordType { mira:Question mira:Claim mira:Evidence mira:Study\n mira:Protocol mira:Request mira:SourceDocument }\n } order by desc(?ddate) limit 1\n }\n {\n graph ?da { ?_partid_iri a ?iri }\n values (?iri ?typeName) {\n (mira:Question \"Research question\") (mira:Claim \"Claim\")\n (mira:Evidence \"Evidence item\") (mira:Study \"Study\")\n (mira:Protocol \"Protocol\") (mira:Request \"Request\")\n (mira:SourceDocument \"Source document\")\n }\n bind(1 as ?ord) bind(rdf:type as ?Property_noheader) bind('Type:' as ?Property_label)\n bind(?typeName as ?lit)\n } union {\n graph ?da { ?_partid_iri dct:title ?lit }\n bind(2 as ?ord) bind(dct:title as ?Property_noheader) bind('Statement:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri sioc:content ?lit }\n bind(3 as ?ord) bind(sioc:content as ?Property_noheader) bind('Detail:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:addresses ?iri }\n bind(10 as ?ord) bind(mira:addresses as ?Property_noheader) bind('Addresses question:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:observationStatement ?iri }\n bind(11 as ?ord) bind(mira:observationStatement as ?Property_noheader) bind('Observation of claim:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:observationBase ?iri }\n bind(12 as ?ord) bind(mira:observationBase as ?Property_noheader) bind('Based on data:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:is_grounded_in ?iri }\n bind(13 as ?ord) bind(mira:is_grounded_in as ?Property_noheader) bind('Grounded in study:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:sourceDocument ?iri }\n bind(14 as ?ord) bind(mira:sourceDocument as ?Property_noheader) bind('Reported in:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:follows ?iri }\n bind(15 as ?ord) bind(mira:follows as ?Property_noheader) bind('Follows protocol:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:grounds ?iri }\n bind(16 as ?ord) bind(mira:grounds as ?Property_noheader) bind('Grounds evidence:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:request_for ?iri }\n bind(17 as ?ord) bind(mira:request_for as ?Property_noheader) bind('Requests study:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:request_target ?iri }\n bind(18 as ?ord) bind(mira:request_target as ?Property_noheader) bind('Targets claim:' as ?Property_label)\n } union {\n graph ?da { ?_partid_iri mira:describesActivity ?iri }\n bind(19 as ?ord) bind(mira:describesActivity as ?Property_noheader) bind('Describes activity:' as ?Property_label)\n } union {\n graph npa:graph { ?dnp dct:creator ?iri ; np:hasPublicationInfo ?dpi . }\n bind(30 as ?ord) bind(dct:creator as ?Property_noheader) bind('Created by:' as ?Property_label)\n } union {\n graph npa:graph { ?dnp dct:created ?lit . }\n bind(31 as ?ord) bind(dct:created as ?Property_noheader) bind('Created:' as ?Property_label)\n } union {\n # the nanopublication these values were read from, as a final row rather than a\n # column repeated on every row\n bind(40 as ?ord) bind(dct:source as ?Property_noheader) bind('Source:' as ?Property_label)\n # ?iri must be bound by a pattern, not by bind(?dnp as ?iri): inside a union branch\n # ?dnp is not joined yet, so such a bind silently fails and leaves the value empty.\n # Joining on ?da constrains ?iri to exactly the defining nanopublication.\n graph npa:graph { ?iri np:hasAssertion ?da . }\n optional { graph npa:graph { ?iri rdfs:label ?srclab . } }\n }\n # One label lookup serving every IRI-valued branch above. ?iri must be coalesced to\n # a dummy first: left unbound on the literal-valued branches it would join against\n # every titled resource in the repository and attach a stray label to them.\n bind(coalesce(str(?iri), str(?lit)) as ?val)\n bind(coalesce(?iri, ) as ?target)\n optional {\n graph npa:graph { ?tnp npx:introduces ?target ; np:hasAssertion ?ta . }\n graph ?ta { ?target dct:title ?tt . }\n }\n optional { graph ?dpi { ?target foaf:name ?an . } }\n bind(coalesce(?typeName, ?srclab, ?tt, ?an, '') as ?vallabelRaw)\n } group by ?ord ?Property_noheader ?Property_label ?val\n }\n} group by ?ord ?Property_noheader ?Property_label order by ?ord" } ] } ] }, { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/Head", "@graph": [ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAICNJb9Wa9bJKnCpp14oXiwZp3TTvC4O0M2Ns4ogaSp0/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] } ]