@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-maturity-assessments-of-an-ontology a grlc:grlc-query; dct:description "Returns the maturity assessments recorded against a FAIRplus-DSM-style maturity model ontology, one row per assessment, with the dataset assessed, 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."; dct:license ; rdfs:label "Get the maturity assessments of an ontology"; grlc:endpoint ; grlc:sparql """prefix rdf: prefix rdfs: prefix dct: prefix foaf: prefix np: prefix npa: prefix npx: prefix dsm: select ?dataset ?dataset_label ?date ?level ?level_label ?verdicts ?satisfied ?partial ?not_satisfied ?not_applicable ?not_assessed ?assessor ?assessor_label (str(?assessment) as ?assessment_target) (str(?np) as ?override_target) ?np ?np_label where { { select ?assessment (max(?rank) as ?maxrank) where { values ?_ontology_multi_iri {} graph npa:graph { ?np_ npx:hasNanopubType dsm:MaturityAssessment ; npa:hasValidSignatureForPublicKeyHash ?pubkey ; dct:created ?d1 ; npx:introduces ?assessment ; np:hasAssertion ?a1 . filter not exists { ?inv npx:invalidates ?np_ ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } } graph ?a1 { ?assessment dct:conformsTo ?_ontology_multi_iri . } bind(concat(str(?d1), \"|\", str(?np_)) as ?rank) } group by ?assessment } graph npa:graph { ?np npx:hasNanopubType dsm:MaturityAssessment ; dct:created ?d2 ; npx:introduces ?assessment ; np:hasAssertion ?ag ; np:hasPublicationInfo ?pg . } filter(concat(str(?d2), \"|\", str(?np)) = ?maxrank) graph ?ag { ?assessment dsm:assessedDataset ?dataset ; dsm:assessmentDate ?date . } optional { graph ?ag { ?dataset rdfs:label ?dslab } } optional { graph ?ag { ?assessment dsm:achievedMaturityLevel ?lvl } } optional { graph ?pg { ?np dct:creator ?agent } } optional { graph ?pg { ?agent0 foaf:name ?aname . filter(?agent0 = ?agent) } } bind(coalesce(?dslab, str(?dataset)) as ?dataset_label) bind(coalesce(?lvl, ) as ?level) bind(coalesce(?agent, ) as ?assessor) bind(coalesce(?aname, \"\") as ?assessor_label) optional { { select (?t as ?level) (?tl as ?llab) where { values ?_ontology_multi_iri {} graph npa:graph { ?lnp npx:introduces ?t ; np:hasAssertion ?la } graph ?la { ?t dct:isPartOf ?_ontology_multi_iri ; rdfs:label ?tl } } } } optional { { select ?assessment (count(distinct ?verdict) as ?verdicts) (sum(if(?val = dsm:Satisfied, 1, 0)) as ?satisfied) (sum(if(?val = dsm:PartiallySatisfied, 1, 0)) as ?partial) (sum(if(?val = dsm:NotSatisfied, 1, 0)) as ?not_satisfied) (sum(if(?val = dsm:NotApplicable, 1, 0)) as ?not_applicable) (sum(if(?val = dsm:NotAssessed, 1, 0)) as ?not_assessed) where { { select ?verdict (max(?vrank) as ?vmax) where { graph npa:graph { ?vn npx:hasNanopubType dsm:IndicatorVerdict ; npa:hasValidSignatureForPublicKeyHash ?vpk ; dct:created ?vd1 ; npx:introduces ?verdict . filter not exists { ?vi npx:invalidates ?vn ; npa:hasValidSignatureForPublicKeyHash ?vpk . } } bind(concat(str(?vd1), \"|\", str(?vn)) as ?vrank) } group by ?verdict } graph npa:graph { ?vnp npx:hasNanopubType dsm:IndicatorVerdict ; dct:created ?vd2 ; npx:introduces ?verdict ; np:hasAssertion ?va . } filter(concat(str(?vd2), \"|\", str(?vnp)) = ?vmax) graph ?va { ?assessment dsm:hasVerdict ?verdict . ?verdict dsm:verdictValue ?val } } group by ?assessment } } bind(coalesce(?llab, \"\") as ?level_label) bind(\"^\" as ?np_label) } order by desc(?date) ?dataset_label """ . } 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-09-07T06:42:34Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-maturity-assessments-of-an-ontology; rdfs:label "Get the maturity assessments of an ontology"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "LBB4XvFr88EWosTn6K0xYpEkbY9lAAkBIRYfF87lTsFdagwI7GwWGk4B89GvF8ZO8Z/21yDZaz76AWsXagb0vVI3RHwiN3S/nLXlZkdoDnDjUfOEXIGBRORBEJi1YgO0dg+e9Y77IfGoO22tr6E1FfZ8y18fUjGTvMT6OXkeILQ="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }