Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions dashboard/about.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<!DOCTYPE html>
<html>
<head>
<title>About the </title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<style>
body {
margin: 2em;
}

.tooltip-inner {
max-width: 280px;
}

.check {
text-align: center;
}

.fixedHeader {
position: sticky;
top: 0;
background-color: white;
}

th {
max-width: 4em;
height: 5em;
}

th a {
display: block;
transform: rotate(-45deg);
margin: 0.2em;
}
</style>
</head>
<body>
<h1>OBO Dashboard</h1>
<p><strong>The OBO Dashboard is a new feature under active development.</strong></p>
<p>The OBO Dashboard is being developed by the OBO Operations Committee and members of the Technical Working Group. Our goal is to provide a set of automated tests that establish a minimum level of compliance with OBO Principles and best practises. Keep in mind that automated checks often cannot capture the full intent of a given principle &ndash; we do our best while keeping the automated checks as fast and cheap as possible.</p>
<p>For each ontology, two aspects are checked: the OBO Registry entry, and the latest release of the project&rsquo;s main OWL file. For each check we provide links to the rule text and implementation.</p>
<p><strong>Please give us your feedback!</strong></p>
<p><a href="https://github.com/OBOFoundry/OBOFoundry.github.io/issues/1076">This issue</a> is for general comments, with links to the specific issue for each check.</p>
<hr>
<h2>Limitations</h2>
<p>This is an alpha version of an automated representation of the OBO Foundry principles. Many of the principles contain a subjective aspect, making the checks difficult to implement. These checks are still in review and subject to change.</p>
<p><strong>The result of the OBO Foundry Dashboard is not a reflection of the quality of content of an ontology.</strong> </p>
<p>It is simply a means to alert ontology developers to areas that may need review.</p>
<hr>
<h2>Reading the Dashboard</h2>
<p>The dashboard page contains a table with all results from all OBO Foundry ontologies. These results are sorted in the same order that the ontologies appear on the OBO Foundry homepage: foundry ontologies, active ontologies, orphaned, and finally obsolete ontologies.</p>
<p>Each column after the ontology ID represents one dashboard check. There are four levels of results for each column:</p>
<ol>
<li>Pass - green check</li>
<li>Info - blue <em>i</em></li>
<li>Warning - yellow exclamation point</li>
<li>Error - red <strong>x</strong></li>
</ol>
<p>For details on what constitutes a pass versus an error for each check, click on the column header.</p>
<p>The last column contains a summary of the dashboard check. This column corresponds to the lowest result of all checks. For example, if there are any errors, this column will contain a red <strong>x</strong>. Likewise, if there are any infos, but no errors or warnings, this column will contain a blue <em>i</em>.</p>
<p>Finally, you can download the report summary as a YAML file from the link near the top of the page.</p>
<hr>
<h2>Reading Individual Results</h2>
<p>To view more details on an ontology&rsquo;s results, click on the ontology ID in the first column.</p>
<p>From the dashboard report page, you can see the version IRI that the dashboard was run on (for all OWL file checks) and the date it was run. Some checks include reports, which you can view under the <strong>Resources</strong> column. Each individual report page includes a link to download those reports as TSV files.</p>
<h4>Reading ROBOT Reports</h4>
<p><a href="http://robot.obolibrary.org/report">ROBOT report</a> runs a series of standard queries over the OWL file. More details on these queries can be <a href="http://robot.obolibrary.org/report_queries/">found here</a>. Like the dashboard checks, report has three levels of violations (passing results are not shown in the table): info, warning, and error.</p>
<p>Each row contains the violation level, the rule name (corresponding to a query), the subject of the violation, the property of the violation, and the value of the violation. For specific details on what the rule checks and how to fix it, click on the rule name.</p>
<hr>
<hr/>
</body>
</html>
270 changes: 270 additions & 0 deletions dashboard/analysis.html

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions dashboard/assets/check.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions dashboard/assets/info.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions dashboard/assets/warning.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions dashboard/assets/x.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions dashboard/dashboard-results.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"ontologies": [
{
"base_generated": true,
"base_prefixes": [
"OMO",
"OMOALT",
"OMO"
],
"changed": true,
"failure": "failed_ontology_dashboard",
"last_ontology_dashboard_run_failed": true,
"metrics": {
"Axioms: Breakdown of axiom types": {
"AnnotationAssertion": 523,
"AnnotationPropertyRangeOf": 1,
"ClassAssertion": 19,
"Declaration": 125,
"DifferentIndividuals": 2,
"EquivalentClasses": 3,
"SubAnnotationPropertyOf": 18,
"SubClassOf": 26
},
"Axioms: Number of axioms": 717,
"Entities: % of entities reused": 85.61,
"Entities: Number of annotation properties": 82,
"Entities: Number of classes": 27,
"Entities: Number of data properties": 0,
"Entities: Number of individuals": 20,
"Entities: Number of object properties": 0,
"Entities: Number of unsatisfiable classes": 0,
"Info: Breakdown of OWL class expressions used": {
"Class": 101,
"ObjectOneOf": 3
},
"Info: Does the ontology fall under OWL 2 DL?": true,
"Info: Experimental OBO score": {
"_impact": 0.0,
"_impact_external": 0.25,
"_reuse": 0.856
},
"Info: How many externally documented uses?": 1,
"Info: How many ontologies use it?": 0,
"Info: Logical consistency": true,
"Info: Syntax": "RDF/XML Syntax",
"Info: Usage of namespaces in axioms": {
"IAO": 555,
"OMO": 36,
"dc": 35,
"dc11": 29,
"oboInOwl": 27,
"owl": 1,
"prefix_unknown": 1,
"rdfs": 123,
"xsd": 1
},
"Info: Which ontologies use it?": []
},
"mirror_from": "http://purl.obolibrary.org/obo/omo.owl",
"namespace": "omo",
"sha256_hash": "779c51183f570ef260bf8c2048d567be95bfa605f0427c5d06451f6abef06071"
}
],
"oboscore": {
"dashboard_score_weights": {
"no_base": 5,
"overall_error": 5,
"overall_warning": 0.5,
"overall_info": 0.1,
"report_errors": 0.05,
"report_warning": 0.01,
"report_info": 0.005,
"dashboard": 1,
"impact": 1,
"reuse": 1,
"impact_external": 3
},
"dashboard_score_max_impact": {
"no_base": 5,
"overall_error": 20,
"overall_warning": 10,
"overall_info": 5,
"report_errors": 10,
"report_warning": 5,
"report_info": 3,
"dashboard": 1,
"impact": 1,
"reuse": 1,
"impact_external": 3
}
}
}
78 changes: 78 additions & 0 deletions dashboard/dashboard-results.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
oboscore:
dashboard_score_max_impact:
dashboard: 1
impact: 1
impact_external: 3
no_base: 5
overall_error: 20
overall_info: 5
overall_warning: 10
report_errors: 10
report_info: 3
report_warning: 5
reuse: 1
dashboard_score_weights:
dashboard: 1
impact: 1
impact_external: 3
no_base: 5
overall_error: 5
overall_info: 0.1
overall_warning: 0.5
report_errors: 0.05
report_info: 0.005
report_warning: 0.01
reuse: 1
ontologies:
- base_generated: true
base_prefixes:
- OMO
- OMOALT
- OMO
changed: true
failure: failed_ontology_dashboard
last_ontology_dashboard_run_failed: true
metrics:
'Axioms: Breakdown of axiom types':
AnnotationAssertion: 523
AnnotationPropertyRangeOf: 1
ClassAssertion: 19
Declaration: 125
DifferentIndividuals: 2
EquivalentClasses: 3
SubAnnotationPropertyOf: 18
SubClassOf: 26
'Axioms: Number of axioms': 717
'Entities: % of entities reused': 85.61
'Entities: Number of annotation properties': 82
'Entities: Number of classes': 27
'Entities: Number of data properties': 0
'Entities: Number of individuals': 20
'Entities: Number of object properties': 0
'Entities: Number of unsatisfiable classes': 0
'Info: Breakdown of OWL class expressions used':
Class: 101
ObjectOneOf: 3
'Info: Does the ontology fall under OWL 2 DL?': true
'Info: Experimental OBO score':
_impact: 0.0
_impact_external: 0.25
_reuse: 0.856
'Info: How many externally documented uses?': 1
'Info: How many ontologies use it?': 0
'Info: Logical consistency': true
'Info: Syntax': RDF/XML Syntax
'Info: Usage of namespaces in axioms':
IAO: 555
OMO: 36
dc: 35
dc11: 29
oboInOwl: 27
owl: 1
prefix_unknown: 1
rdfs: 123
xsd: 1
'Info: Which ontologies use it?': []
mirror_from: http://purl.obolibrary.org/obo/omo.owl
namespace: omo
sha256_hash: 779c51183f570ef260bf8c2048d567be95bfa605f0427c5d06451f6abef06071
112 changes: 112 additions & 0 deletions dashboard/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<head>
<title>OBO Dashboard (2025-09-01)</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<style>
body {
margin: 2em;
}

.tooltip-inner {
max-width: 280px;
}

.check {
text-align: center;
}

th {
max-width: 4em;
height: 5em;
position: sticky;
top: 0;
background-color: white;
}

th a {
display: block;
transform: rotate(-66deg);
margin: 0.2em;
}
</style>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
<script>
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
</script>
</head>
<body>
<h1>OBO Dashboard (2025-09-01)</h1>
<h4>Dashboard for checking ontology quality. Under construction. <a href="about.html">Learn More!</a></h4>
<p>Created with <a href="http://robot.obolibrary.org/">ROBOT version 1.9.8</a> and <a href="https://github.com/OBOFoundry/OBO-Dashboard/commit/d58e5376ebec3cc910c2986296d4283b3b6ba911">OBO Metadata Schema</a>.</p>
<p>A very basic analysis of the results can be found <a href="analysis.html">here</a>.</p>
<table class="table table-borderless">
<thead>
<tr>
<th>Ontology<br/>(click for details)</th>
<th>
<a href="http://obofoundry.org/principles/fp-001-open.html">Open</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-002-format.html">Format</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-003-uris.html">URIs</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-004-versioning.html">Versioning</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-005-delineated-content.html">Scope</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-006-textual-definitions.html">Definitions</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-007-relations.html">Relations</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-008-documented.html">Documented</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-009-users.html">Users</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-011-locus-of-authority.html">Authority</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-012-naming-conventions.html">Naming</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-016-maintenance.html">Maintained</a>
</th>
<th>
<a href="http://obofoundry.org/principles/fp-020-responsiveness.html">Responsiveness</a>
</th>
<th>
<a href="http://robot.obolibrary.org/report">ROBOT Report</a>
</th>
<th>
Summary
</th>
</tr>
</thead>
<tbody class="scrollContent">

<tr>
<td><b><a href="omo/dashboard.html">omo</a></b></td>

<td class="table-notchecked" colspan="13">Failed to process ontology: failed_ontology_dashboard</td>




<td class="check table-danger"><img src="assets/x.svg" height="15px"></td>

</tr>

</tbody>
</table>
</body>
1 change: 1 addition & 0 deletions dashboard/omo/dashboard-qc-badge.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"schemaVersion": 1, "label": "QC", "message": "Processing error: build dashboard", "color": "red", "logoSvg": "<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 135.54 133.3\"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#231f20;}</style></defs><path class=\"cls-1\" d=\"M85.31,20.58l-4-16.64s0,0,0,0c-1.11-.14-2.21-.26-3.33-.35s-2.24-.15-3.36-.18-2.26,0-3.4,0c-.82,0-1.66.06-2.49.11L63.21,19.66c-.22,0-.43.11-.65.15l0,.11c-1.58.3-3.13.68-4.65,1.12s-3,1-4.45,1.53L40.52,11.64c-.58.32-1.17.63-1.74,1-1,.56-1.91,1.14-2.83,1.74s-1.84,1.23-2.73,1.88-1.77,1.31-2.63,2l-.73.6L34.72,35c-.15.16-.28.33-.42.48v0c-1.12,1.18-2.17,2.42-3.17,3.7s-1.95,2.59-2.84,4h-.06v0l-16.83-1c-.31.62-.62,1.23-.91,1.85-.46,1-.88,2-1.29,3.07-.28.69-.53,1.39-.79,2.09-.12.35-.26.7-.38,1.05-.36,1-.69,2.1-1,3.17-.1.33-.17.68-.26,1l13.4,10.13a54.29,54.29,0,0,0-.56,10.73L5.25,84.54c.09.52.16,1,.26,1.55.21,1.08.44,2.16.7,3.23s.54,2.14.85,3.2.65,2.12,1,3.16c.14.42.31.82.46,1.24h0L25.22,97l0,0h.13a51.6,51.6,0,0,0,5.88,9L24.87,122c.61.59,1.21,1.18,1.83,1.74.85.76,1.71,1.49,2.59,2.2S31.06,127.35,32,128s1.62,1.14,2.45,1.69l13.68-9.92c.14.07.3.12.43.19l.1-.07c1.22.59,2.47,1.11,3.73,1.59a19.94,19.94,0,0,1,9.28-28.87A22.89,22.89,0,0,1,72.29,49.46a23.11,23.11,0,0,1,6,.82,19.92,19.92,0,0,1,11.53-27.8l.16-.42A47.65,47.65,0,0,0,85.31,20.58Z\"/><path class=\"cls-2\" d=\"M43.71,37.89V34.77c0-2.89,1.57-4,4.09-4s4.09,1.07,4.09,4v3.12c0,3-1.2,4.17-4.09,4.17S43.71,40.86,43.71,37.89Zm6.4,0V34.77c0-2-.84-2.37-2.31-2.37s-2.32.39-2.32,2.37v3.12c0,2,.73,2.62,2.32,2.62S50.11,39.87,50.11,37.89Z\"/><path class=\"cls-2\" d=\"M60.46,41.87l-.22-1.44a2.71,2.71,0,0,1-2.71,1.5c-2.19,0-3.7-1-3.7-3.94V35.11c0-3,1.4-4.24,3.7-4.24a3,3,0,0,1,2.63.95V27.27H62v14.6Zm-2.54-9.28c-1.59,0-2.31.63-2.31,2.56V38c0,1.79.72,2.26,2.18,2.26s2.37-.71,2.37-2.86V35.05C60.16,33.19,59.51,32.59,57.92,32.59Z\"/><path class=\"cls-2\" d=\"M67,37h-.8v4.85H64.42V27.45H66.2v7.88h.71L70.29,31h2.17l-4,5.13,4.37,5.79H70.7Z\"/><path class=\"cls-1\" d=\"M126.8,64.76a4.35,4.35,0,0,0-3.28,1.52l-6.24-3A8.16,8.16,0,0,0,115.15,55l3.73-5.15a2.7,2.7,0,0,0,.63.07A2.93,2.93,0,1,0,116.58,47a2.87,2.87,0,0,0,.42,1.48l-3.74,5.15a8.21,8.21,0,0,0-12,7.27,7.59,7.59,0,0,0,.11,1.27L84.84,67.27a13.6,13.6,0,0,0-3.38-4.87l10.7-13.85a8.12,8.12,0,0,0,4,1.07,8.24,8.24,0,1,0-5.89-2.5L79.61,61a13.54,13.54,0,1,0-9.5,24.75l-1.3,17.14a8.21,8.21,0,0,0,.55,16.4l.49,0,1.38,6.7a2.3,2.3,0,1,0,2.29-.46l-1.38-6.7a8.21,8.21,0,0,0-1-15.74l1.3-17.13a13.5,13.5,0,0,0,6.26-1.6l8.18,12.51A8.2,8.2,0,0,0,90.48,111L90,116.62a4.39,4.39,0,1,0,2.33.2l.47-5.66A8.21,8.21,0,0,0,99.49,107l7.1,2.71a2.32,2.32,0,1,0,.84-2.18l-7.11-2.71a8.2,8.2,0,0,0-11.48-9.24L80.65,83a13.74,13.74,0,0,0,3.81-4.71L99.14,84a8,8,0,0,0-.22,1.84,8.22,8.22,0,1,0,1-4L85.3,76.12a13.36,13.36,0,0,0,.23-6.62L102,64.42a8.21,8.21,0,0,0,14.27,1l6.24,3a4.41,4.41,0,0,0-.08.73,4.36,4.36,0,1,0,4.36-4.36Z\"/></svg>"}
Loading