. . . . "Returns the maturity assessments recorded against a FAIRplus-DSM-style maturity model ontology, one row per assessment, with the dataset assessed (linked to its part page), the assessment date, the highest maturity level found to be reached, the number of indicator verdicts and how many of them fall into each outcome, and who carried the assessment out. Only the newest non-invalidated version of each assessment and of each of its verdicts is counted." . . . "Get the maturity assessments of an ontology" . . "prefix rdf: \nprefix rdfs: \nprefix dct: \nprefix foaf: \nprefix np: \nprefix npa: \nprefix npx: \nprefix dsm: \nselect ?dataset ?date ?level ?level_label ?verdicts ?satisfied ?partial\n ?not_satisfied ?not_applicable ?not_assessed ?assessor ?assessor_label\n (str(?assessment) as ?assessment_target) (str(?np) as ?override_target) ?np ?np_label\nwhere {\n {\n select ?assessment (max(?rank) as ?maxrank) where {\n values ?_ontology_multi_iri {}\n graph npa:graph {\n ?np_ npx:hasNanopubType dsm:MaturityAssessment ;\n npa:hasValidSignatureForPublicKeyHash ?pubkey ;\n dct:created ?d1 ; npx:introduces ?assessment ; np:hasAssertion ?a1 .\n filter not exists { ?inv npx:invalidates ?np_ ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }\n }\n graph ?a1 { ?assessment dct:conformsTo ?_ontology_multi_iri . }\n bind(concat(str(?d1), \"|\", str(?np_)) as ?rank)\n } group by ?assessment\n }\n graph npa:graph {\n ?np npx:hasNanopubType dsm:MaturityAssessment ;\n dct:created ?d2 ; npx:introduces ?assessment ;\n np:hasAssertion ?ag ; np:hasPublicationInfo ?pg .\n }\n filter(concat(str(?d2), \"|\", str(?np)) = ?maxrank)\n graph ?ag {\n ?assessment dsm:assessedDataset ?ds ; dsm:assessmentDate ?date .\n }\n optional { graph ?ag { ?ds rdfs:label ?dslab } }\n optional { graph ?ag { ?assessment dsm:achievedMaturityLevel ?lvl } }\n optional { graph ?pg { ?np dct:creator ?agent } }\n optional { graph ?pg { ?agent0 foaf:name ?aname . filter(?agent0 = ?agent) } }\n # link the dataset to its part page: the part route is namespace-based, and an\n # external PID never falls under the resource namespace, so the target is built here\n bind(replace(replace(replace(str(coalesce(?dslab, ?ds)), \"&\", \"&\"), \"<\", \"<\"), \">\", \">\") as ?dslabesc)\n bind(concat('', ?dslabesc, '') as ?dataset)\n bind(coalesce(?lvl, ) as ?level)\n bind(coalesce(?agent, ) as ?assessor)\n bind(coalesce(?aname, \"\") as ?assessor_label)\n optional {\n { select (?t as ?level) (?tl as ?llab) where {\n values ?_ontology_multi_iri {}\n graph npa:graph { ?lnp npx:introduces ?t ; np:hasAssertion ?la }\n graph ?la { ?t dct:isPartOf ?_ontology_multi_iri ; rdfs:label ?tl }\n } }\n }\n optional {\n { select ?assessment\n (count(distinct ?verdict) as ?verdicts)\n (sum(if(?val = dsm:Satisfied, 1, 0)) as ?satisfied)\n (sum(if(?val = dsm:PartiallySatisfied, 1, 0)) as ?partial)\n (sum(if(?val = dsm:NotSatisfied, 1, 0)) as ?not_satisfied)\n (sum(if(?val = dsm:NotApplicable, 1, 0)) as ?not_applicable)\n (sum(if(?val = dsm:NotAssessed, 1, 0)) as ?not_assessed)\n where {\n {\n select ?verdict (max(?vrank) as ?vmax) where {\n graph npa:graph {\n ?vn npx:hasNanopubType dsm:IndicatorVerdict ;\n npa:hasValidSignatureForPublicKeyHash ?vpk ;\n dct:created ?vd1 ; npx:introduces ?verdict .\n filter not exists { ?vi npx:invalidates ?vn ; npa:hasValidSignatureForPublicKeyHash ?vpk . }\n }\n bind(concat(str(?vd1), \"|\", str(?vn)) as ?vrank)\n } group by ?verdict\n }\n graph npa:graph {\n ?vnp npx:hasNanopubType dsm:IndicatorVerdict ;\n dct:created ?vd2 ; npx:introduces ?verdict ; np:hasAssertion ?va .\n }\n filter(concat(str(?vd2), \"|\", str(?vnp)) = ?vmax)\n graph ?va { ?assessment dsm:hasVerdict ?verdict . ?verdict dsm:verdictValue ?val }\n } group by ?assessment\n }\n }\n bind(coalesce(?llab, \"\") as ?level_label)\n bind(\"^\" as ?np_label)\n}\norder by desc(?date) ?dslabesc\n" . . "Tobias Kuhn" . "2026-09-07T07:10:36Z"^^ . . . . . "Get the maturity assessments of an ontology" . . . . . "RSA" . "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" . "Jy1yQvnW+AN4EBSw9Zp8czxwTY8PaG7m3Ev2pkKOyorsuSj0zXAXHcUBGdqBVISa7sxCmxViNdWIZHF+ZJ5ja91MF1oPt+++ic/ZsckxZLz1JLwLfTNmKbT1fYJIY90zBjXVbKBJDAwdjQr0ZLlHp4CvXNEDuCiAy3voMOErwVA=" . . .