OntoCheck 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. ontocheck-0.0.1/LICENSE +9 -0
  2. ontocheck-0.0.1/PKG-INFO +211 -0
  3. ontocheck-0.0.1/README.md +182 -0
  4. ontocheck-0.0.1/pyproject.toml +38 -0
  5. ontocheck-0.0.1/setup.cfg +4 -0
  6. ontocheck-0.0.1/src/OntoCheck.egg-info/PKG-INFO +211 -0
  7. ontocheck-0.0.1/src/OntoCheck.egg-info/SOURCES.txt +26 -0
  8. ontocheck-0.0.1/src/OntoCheck.egg-info/dependency_links.txt +1 -0
  9. ontocheck-0.0.1/src/OntoCheck.egg-info/entry_points.txt +2 -0
  10. ontocheck-0.0.1/src/OntoCheck.egg-info/requires.txt +3 -0
  11. ontocheck-0.0.1/src/OntoCheck.egg-info/top_level.txt +1 -0
  12. ontocheck-0.0.1/src/ontocheck/__init__.py +29 -0
  13. ontocheck-0.0.1/src/ontocheck/altLabelCheck.py +142 -0
  14. ontocheck-0.0.1/src/ontocheck/check_external_data_provider_links_ttl.py +136 -0
  15. ontocheck-0.0.1/src/ontocheck/check_for_isolated_elements.py +152 -0
  16. ontocheck-0.0.1/src/ontocheck/check_human_readable_license_ttl.py +76 -0
  17. ontocheck-0.0.1/src/ontocheck/check_rdf_dump_accessibility_ttl.py +83 -0
  18. ontocheck-0.0.1/src/ontocheck/check_sparql_accessibility_ttl.py +76 -0
  19. ontocheck-0.0.1/src/ontocheck/cli.py +62 -0
  20. ontocheck-0.0.1/src/ontocheck/count_class_connected_components.py +69 -0
  21. ontocheck-0.0.1/src/ontocheck/defCheck.py +137 -0
  22. ontocheck-0.0.1/src/ontocheck/find_duplicate_labels_from_graph.py +55 -0
  23. ontocheck-0.0.1/src/ontocheck/get_properties_missing_domain_and_range.py +66 -0
  24. ontocheck-0.0.1/src/ontocheck/helpers/__init__.py +5 -0
  25. ontocheck-0.0.1/src/ontocheck/helpers/helpers.py +854 -0
  26. ontocheck-0.0.1/src/ontocheck/leafNodeCheck.py +97 -0
  27. ontocheck-0.0.1/src/ontocheck/run_assessment.py +101 -0
  28. ontocheck-0.0.1/src/ontocheck/semanticConnection.py +163 -0
@@ -0,0 +1,9 @@
1
+ Copyright 2025 SDLE Lab
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
+
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
+
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
+
9
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,211 @@
1
+ Metadata-Version: 2.4
2
+ Name: OntoCheck
3
+ Version: 0.0.1
4
+ Summary: A package for assessing the quality and structure of ontologies.
5
+ Author-email: "Rishabh Kundu, Van Tran, Redad Mehdi,Erika I. Barcelos, Alp Sehirlioglu, Yinghui Wu, Roger H. French" <mxm1684@case.edu>
6
+ Maintainer-email: Redad Mehdi <mxm1684@case.edu>
7
+ License: Copyright 2025 SDLE Lab
8
+
9
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
10
+
11
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16
+ Project-URL: Homepage, https://github.com/cwru-sdle/OntoCheck
17
+ Project-URL: Documentation, https://ontocheck.readthedocs.io/en/latest/
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Topic :: Scientific/Engineering
22
+ Requires-Python: >=3.8
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: rdflib
26
+ Requires-Dist: networkx
27
+ Requires-Dist: requests
28
+ Dynamic: license-file
29
+
30
+ # Introduction
31
+
32
+ OntoCheck is a Py package that provides a suite of metrics for evaluating ontology quality, usability, and compliance. It aims to support both developers by revealing potential quality gaps and users by assessing an ontology’s fitness for use across different domains.
33
+
34
+ -> Motivation
35
+
36
+ While there are established approaches for assessing linked-data quality and FAIR data compliance, there are no widely accepted standards dedicated specifically to ontology assessment. Many existing frameworks lack maintenance, and comprehensive semantic data management metrics remain underdeveloped.
37
+
38
+ -> What OntoCheck Does
39
+
40
+ OntoCheck builds on existing concepts rather than reinventing them. It brings together:
41
+
42
+ - Linked-data assessment principles
43
+
44
+ - FAIR-data compliance indicators
45
+
46
+ - Semantic data management metrics
47
+
48
+ All implemented within a maintainable and user-friendly Py environment.
49
+
50
+ -> Key Features
51
+
52
+ – combines adapted metrics from literature with new, experience-based measures
53
+
54
+ – users can select which metrics to apply
55
+
56
+ – generates structured evaluation summaries for easy review
57
+
58
+ – ongoing development of feedback mechanisms to refine and expand metrics
59
+
60
+ -> Our Goal
61
+
62
+ OntoCheck strives to promote transparency and quality in ontology development. By integrating principles from linked-data and FAIR-data assessments, we aim to foster a foundation for future standardization in ontology evaluation.
63
+
64
+ We welcome feedback and contributions from the community as we continue to expand the metrics and tools offered in OntoCheck.
65
+
66
+ This tool is actively developed and maintained by the **SDLE Research Center at Case Western Reserve University**.
67
+
68
+ ---
69
+
70
+ ## ✍️ Authors
71
+
72
+ * Rishabh Kundu
73
+ * Redad Mehdi
74
+ * Van D. Tran
75
+ * Erika I. Barcelos
76
+ * Alp Sehirlioglu
77
+ * Yinghui Wu
78
+ * Roger H. French
79
+
80
+ ---
81
+
82
+ ## 🏢 Affiliation
83
+
84
+ Materials Data Science for Stockpile Stewardship Center of Excellence, Case Western Reserve University, Cleveland, OH 44106, USA
85
+
86
+ ---
87
+
88
+ ## 🐍 Installation
89
+
90
+ ```bash
91
+ pip install OntoCheck
92
+ ```
93
+
94
+ ---
95
+
96
+ ## ⏰ Quick Start
97
+
98
+ ```bash
99
+ ontocheck -h
100
+ ```
101
+
102
+ ---
103
+
104
+ ## 🛠️ Available Metrics in v0.0.1
105
+
106
+
107
+ For more detail visit our [Read The Docs website](https://ontology-assessment.readthedocs.io)
108
+
109
+ "altLabelCheck": mainAltLabelCheck_v_0_0_1,
110
+ "externalLinks": check_external_data_provider_links_ttl_v_0_0_1,
111
+ "isolatedElements": check_for_isolated_elements_v_0_0_1,
112
+ "humanLicense": check_human_readable_license_ttl_v_0_0_1,
113
+ "rdfDump": check_rdf_dump_accessibility_ttl_v_0_0_1,
114
+ "sparqlEndpoint": check_sparql_accessibility_ttl_v_0_0_1,
115
+ "classConnections": count_class_connected_components_v_0_0_1,
116
+ "definitionCheck": mainDefCheck_v_0_0_1,
117
+ "duplicateLabels": find_duplicate_labels_from_graph_v_0_0_1,
118
+ "missingDomainRange": get_properties_missing_domain_and_range_v_0_0_1,
119
+ "leafNodeCheck": mainLeafNodeCheck_v_0_0_1,
120
+ "semanticConnection": mainSemanticConnection_v_0_0_1,
121
+
122
+
123
+ ## Example runs in command
124
+
125
+
126
+ Running metrics: altLabelCheck and humanLicense
127
+
128
+ ``bash
129
+ ontocheck path/to/ontology.ttl --metrics altLabelCheck humanLicense -log-file path/to/log/file.log --csv-file path/to/file.csv
130
+ ``
131
+
132
+ Results of run:
133
+
134
+ ``text
135
+ --- SKOS Definition Coverage Summary ---
136
+ Total classes analyzed: 1406
137
+ Classes with definitions: 360(25.6%)
138
+ Classes without definitions: 1046 (74.4%)
139
+ Assessment: Low definition coverage
140
+ ``
141
+
142
+ ``text
143
+ --- Classes WITH altLabel (360) ---
144
+ Class: afe:AFE_0002281
145
+ Preferred Label: Nuclear Magnetic Resonance Tube
146
+ Alternative Labels (1):
147
+ - "NMR Tube"
148
+ Class: cco: ont00000003
149
+ Preferred Label: Designative Name
150
+ Alternative Labels (1):
151
+ - "Name"
152
+ Class: cco: ont00000009
153
+ Preferred Label: Mass Density
154
+ Alternative Labels (1):
155
+ - "Density"
156
+ ``
157
+
158
+ ``text
159
+ --- Classes WITHOUT altLabel (1046) ---
160
+ <https://w3id.org/ODE_AM/AMAO#AdditiveManufacturingMachine>
161
+ afe:AFE_0000029 (Label: "well-plate") afe: AFE_0000052 (Label: "cuvette") afe:AFE_0000329 (Label: "Vial")
162
+ afe:AFE_0000409 (Label: "monochromator") afe:AFE_0000718 (Label: "Tube")
163
+ afe:AFE_0001691 (Label: "non-contactprobe") afe:AFE_0001703 (Label: "pressure regulator") afe:AFE_0001772 (Label: "deuteriumlamp") afe:AFE_0002248 (Label: "probe")
164
+ afe: AFR_0001856 (Label: "electric current") afm: AFM_0000059 (Label: "additive") afm:AFM_0000884 (Label: "electricalenergy")
165
+ afm: AFM_0001032 (Label: "foam") afm:AFM_0001097 afr: AFR_0000955
166
+ afr:AFR_0002641 (Label: "viscosity")
167
+ ``
168
+
169
+ Run status:
170
+
171
+
172
+ | Metric | Score | Status |
173
+ |---|---|---|
174
+ | altLabelCheck | | Success |
175
+ | humanLicense | 1 | Success |
176
+
177
+
178
+ (all metrics)
179
+
180
+ | Metric | Score | Status |
181
+ |---|---|---|
182
+ | altLabelCheck | | Success |
183
+ | externalLinks | 0.08476821 | Success |
184
+ | isolatedElements | ['Number of i... | Success |
185
+ | humanLicense | 1 | Success |
186
+ | rdfDump | 0 | Success |
187
+ | sparqlEndpoint | 0 | Success |
188
+ | classConnections | 268 | Success |
189
+ | definitionCheck | | Success |
190
+ | duplicateLabels | 51 | Success |
191
+ | missingDomains | ['count_missi... | Success |
192
+ | leafNodeCheck | | Success |
193
+ | semanticConnection | | Success |
194
+
195
+
196
+
197
+ ## Acknowledge
198
+
199
+ * U.S. Department of Energy’s Office of Energy Efficiency and Renewable Energy (EERE) under the Solar Energy Technologies Office (SETO) — Agreement Numbers **DE-EE0009353** and **DE-EE0009347**
200
+ * Department of Energy (National Nuclear Security Administration) — Award Number **DE-NA0004104** and Contract Number **B647887**
201
+ * U.S. National Science Foundation — Award Number **2133576**
202
+
203
+
204
+ ## How to cite package
205
+
206
+ If you use ``OntoCheck`` in your work please cite
207
+
208
+ Rishabh Kundu, Redad Mehdi, Van D. Tran, Erika I. Barcelos, Alp Sehirlioglu, Yinghui Wu, Roger H. French (2025). OntoCheck: A package for assessing the quality and structure of ontologies. [Python]. https://pypi.org/project/OntoCheck/
209
+
210
+
211
+
@@ -0,0 +1,182 @@
1
+ # Introduction
2
+
3
+ OntoCheck is a Py package that provides a suite of metrics for evaluating ontology quality, usability, and compliance. It aims to support both developers by revealing potential quality gaps and users by assessing an ontology’s fitness for use across different domains.
4
+
5
+ -> Motivation
6
+
7
+ While there are established approaches for assessing linked-data quality and FAIR data compliance, there are no widely accepted standards dedicated specifically to ontology assessment. Many existing frameworks lack maintenance, and comprehensive semantic data management metrics remain underdeveloped.
8
+
9
+ -> What OntoCheck Does
10
+
11
+ OntoCheck builds on existing concepts rather than reinventing them. It brings together:
12
+
13
+ - Linked-data assessment principles
14
+
15
+ - FAIR-data compliance indicators
16
+
17
+ - Semantic data management metrics
18
+
19
+ All implemented within a maintainable and user-friendly Py environment.
20
+
21
+ -> Key Features
22
+
23
+ – combines adapted metrics from literature with new, experience-based measures
24
+
25
+ – users can select which metrics to apply
26
+
27
+ – generates structured evaluation summaries for easy review
28
+
29
+ – ongoing development of feedback mechanisms to refine and expand metrics
30
+
31
+ -> Our Goal
32
+
33
+ OntoCheck strives to promote transparency and quality in ontology development. By integrating principles from linked-data and FAIR-data assessments, we aim to foster a foundation for future standardization in ontology evaluation.
34
+
35
+ We welcome feedback and contributions from the community as we continue to expand the metrics and tools offered in OntoCheck.
36
+
37
+ This tool is actively developed and maintained by the **SDLE Research Center at Case Western Reserve University**.
38
+
39
+ ---
40
+
41
+ ## ✍️ Authors
42
+
43
+ * Rishabh Kundu
44
+ * Redad Mehdi
45
+ * Van D. Tran
46
+ * Erika I. Barcelos
47
+ * Alp Sehirlioglu
48
+ * Yinghui Wu
49
+ * Roger H. French
50
+
51
+ ---
52
+
53
+ ## 🏢 Affiliation
54
+
55
+ Materials Data Science for Stockpile Stewardship Center of Excellence, Case Western Reserve University, Cleveland, OH 44106, USA
56
+
57
+ ---
58
+
59
+ ## 🐍 Installation
60
+
61
+ ```bash
62
+ pip install OntoCheck
63
+ ```
64
+
65
+ ---
66
+
67
+ ## ⏰ Quick Start
68
+
69
+ ```bash
70
+ ontocheck -h
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 🛠️ Available Metrics in v0.0.1
76
+
77
+
78
+ For more detail visit our [Read The Docs website](https://ontology-assessment.readthedocs.io)
79
+
80
+ "altLabelCheck": mainAltLabelCheck_v_0_0_1,
81
+ "externalLinks": check_external_data_provider_links_ttl_v_0_0_1,
82
+ "isolatedElements": check_for_isolated_elements_v_0_0_1,
83
+ "humanLicense": check_human_readable_license_ttl_v_0_0_1,
84
+ "rdfDump": check_rdf_dump_accessibility_ttl_v_0_0_1,
85
+ "sparqlEndpoint": check_sparql_accessibility_ttl_v_0_0_1,
86
+ "classConnections": count_class_connected_components_v_0_0_1,
87
+ "definitionCheck": mainDefCheck_v_0_0_1,
88
+ "duplicateLabels": find_duplicate_labels_from_graph_v_0_0_1,
89
+ "missingDomainRange": get_properties_missing_domain_and_range_v_0_0_1,
90
+ "leafNodeCheck": mainLeafNodeCheck_v_0_0_1,
91
+ "semanticConnection": mainSemanticConnection_v_0_0_1,
92
+
93
+
94
+ ## Example runs in command
95
+
96
+
97
+ Running metrics: altLabelCheck and humanLicense
98
+
99
+ ``bash
100
+ ontocheck path/to/ontology.ttl --metrics altLabelCheck humanLicense -log-file path/to/log/file.log --csv-file path/to/file.csv
101
+ ``
102
+
103
+ Results of run:
104
+
105
+ ``text
106
+ --- SKOS Definition Coverage Summary ---
107
+ Total classes analyzed: 1406
108
+ Classes with definitions: 360(25.6%)
109
+ Classes without definitions: 1046 (74.4%)
110
+ Assessment: Low definition coverage
111
+ ``
112
+
113
+ ``text
114
+ --- Classes WITH altLabel (360) ---
115
+ Class: afe:AFE_0002281
116
+ Preferred Label: Nuclear Magnetic Resonance Tube
117
+ Alternative Labels (1):
118
+ - "NMR Tube"
119
+ Class: cco: ont00000003
120
+ Preferred Label: Designative Name
121
+ Alternative Labels (1):
122
+ - "Name"
123
+ Class: cco: ont00000009
124
+ Preferred Label: Mass Density
125
+ Alternative Labels (1):
126
+ - "Density"
127
+ ``
128
+
129
+ ``text
130
+ --- Classes WITHOUT altLabel (1046) ---
131
+ <https://w3id.org/ODE_AM/AMAO#AdditiveManufacturingMachine>
132
+ afe:AFE_0000029 (Label: "well-plate") afe: AFE_0000052 (Label: "cuvette") afe:AFE_0000329 (Label: "Vial")
133
+ afe:AFE_0000409 (Label: "monochromator") afe:AFE_0000718 (Label: "Tube")
134
+ afe:AFE_0001691 (Label: "non-contactprobe") afe:AFE_0001703 (Label: "pressure regulator") afe:AFE_0001772 (Label: "deuteriumlamp") afe:AFE_0002248 (Label: "probe")
135
+ afe: AFR_0001856 (Label: "electric current") afm: AFM_0000059 (Label: "additive") afm:AFM_0000884 (Label: "electricalenergy")
136
+ afm: AFM_0001032 (Label: "foam") afm:AFM_0001097 afr: AFR_0000955
137
+ afr:AFR_0002641 (Label: "viscosity")
138
+ ``
139
+
140
+ Run status:
141
+
142
+
143
+ | Metric | Score | Status |
144
+ |---|---|---|
145
+ | altLabelCheck | | Success |
146
+ | humanLicense | 1 | Success |
147
+
148
+
149
+ (all metrics)
150
+
151
+ | Metric | Score | Status |
152
+ |---|---|---|
153
+ | altLabelCheck | | Success |
154
+ | externalLinks | 0.08476821 | Success |
155
+ | isolatedElements | ['Number of i... | Success |
156
+ | humanLicense | 1 | Success |
157
+ | rdfDump | 0 | Success |
158
+ | sparqlEndpoint | 0 | Success |
159
+ | classConnections | 268 | Success |
160
+ | definitionCheck | | Success |
161
+ | duplicateLabels | 51 | Success |
162
+ | missingDomains | ['count_missi... | Success |
163
+ | leafNodeCheck | | Success |
164
+ | semanticConnection | | Success |
165
+
166
+
167
+
168
+ ## Acknowledge
169
+
170
+ * U.S. Department of Energy’s Office of Energy Efficiency and Renewable Energy (EERE) under the Solar Energy Technologies Office (SETO) — Agreement Numbers **DE-EE0009353** and **DE-EE0009347**
171
+ * Department of Energy (National Nuclear Security Administration) — Award Number **DE-NA0004104** and Contract Number **B647887**
172
+ * U.S. National Science Foundation — Award Number **2133576**
173
+
174
+
175
+ ## How to cite package
176
+
177
+ If you use ``OntoCheck`` in your work please cite
178
+
179
+ Rishabh Kundu, Redad Mehdi, Van D. Tran, Erika I. Barcelos, Alp Sehirlioglu, Yinghui Wu, Roger H. French (2025). OntoCheck: A package for assessing the quality and structure of ontologies. [Python]. https://pypi.org/project/OntoCheck/
180
+
181
+
182
+
@@ -0,0 +1,38 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "OntoCheck"
7
+ version = "0.0.1"
8
+ authors = [
9
+ { name = "Rishabh Kundu, Van Tran, Redad Mehdi,Erika I. Barcelos, Alp Sehirlioglu, Yinghui Wu, Roger H. French", email = "mxm1684@case.edu" },
10
+ ]
11
+ maintainers = [
12
+ { name = "Redad Mehdi", email = "mxm1684@case.edu" },
13
+ ]
14
+ description = "A package for assessing the quality and structure of ontologies."
15
+ readme = "README.md"
16
+ requires-python = ">=3.8"
17
+ license = { file="LICENSE" }
18
+ classifiers = [
19
+ "Programming Language :: Python :: 3",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Operating System :: OS Independent",
22
+ "Topic :: Scientific/Engineering",
23
+ ]
24
+ dependencies = [
25
+ "rdflib",
26
+ "networkx",
27
+ "requests",
28
+ ]
29
+
30
+ [project.urls]
31
+ "Homepage" = "https://github.com/cwru-sdle/OntoCheck"
32
+ "Documentation" = "https://ontocheck.readthedocs.io/en/latest/"
33
+
34
+ [project.scripts]
35
+ ontocheck = "ontocheck.cli:main"
36
+
37
+ [tool.setuptools.packages.find]
38
+ where = ["src"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,211 @@
1
+ Metadata-Version: 2.4
2
+ Name: OntoCheck
3
+ Version: 0.0.1
4
+ Summary: A package for assessing the quality and structure of ontologies.
5
+ Author-email: "Rishabh Kundu, Van Tran, Redad Mehdi,Erika I. Barcelos, Alp Sehirlioglu, Yinghui Wu, Roger H. French" <mxm1684@case.edu>
6
+ Maintainer-email: Redad Mehdi <mxm1684@case.edu>
7
+ License: Copyright 2025 SDLE Lab
8
+
9
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
10
+
11
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16
+ Project-URL: Homepage, https://github.com/cwru-sdle/OntoCheck
17
+ Project-URL: Documentation, https://ontocheck.readthedocs.io/en/latest/
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Topic :: Scientific/Engineering
22
+ Requires-Python: >=3.8
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: rdflib
26
+ Requires-Dist: networkx
27
+ Requires-Dist: requests
28
+ Dynamic: license-file
29
+
30
+ # Introduction
31
+
32
+ OntoCheck is a Py package that provides a suite of metrics for evaluating ontology quality, usability, and compliance. It aims to support both developers by revealing potential quality gaps and users by assessing an ontology’s fitness for use across different domains.
33
+
34
+ -> Motivation
35
+
36
+ While there are established approaches for assessing linked-data quality and FAIR data compliance, there are no widely accepted standards dedicated specifically to ontology assessment. Many existing frameworks lack maintenance, and comprehensive semantic data management metrics remain underdeveloped.
37
+
38
+ -> What OntoCheck Does
39
+
40
+ OntoCheck builds on existing concepts rather than reinventing them. It brings together:
41
+
42
+ - Linked-data assessment principles
43
+
44
+ - FAIR-data compliance indicators
45
+
46
+ - Semantic data management metrics
47
+
48
+ All implemented within a maintainable and user-friendly Py environment.
49
+
50
+ -> Key Features
51
+
52
+ – combines adapted metrics from literature with new, experience-based measures
53
+
54
+ – users can select which metrics to apply
55
+
56
+ – generates structured evaluation summaries for easy review
57
+
58
+ – ongoing development of feedback mechanisms to refine and expand metrics
59
+
60
+ -> Our Goal
61
+
62
+ OntoCheck strives to promote transparency and quality in ontology development. By integrating principles from linked-data and FAIR-data assessments, we aim to foster a foundation for future standardization in ontology evaluation.
63
+
64
+ We welcome feedback and contributions from the community as we continue to expand the metrics and tools offered in OntoCheck.
65
+
66
+ This tool is actively developed and maintained by the **SDLE Research Center at Case Western Reserve University**.
67
+
68
+ ---
69
+
70
+ ## ✍️ Authors
71
+
72
+ * Rishabh Kundu
73
+ * Redad Mehdi
74
+ * Van D. Tran
75
+ * Erika I. Barcelos
76
+ * Alp Sehirlioglu
77
+ * Yinghui Wu
78
+ * Roger H. French
79
+
80
+ ---
81
+
82
+ ## 🏢 Affiliation
83
+
84
+ Materials Data Science for Stockpile Stewardship Center of Excellence, Case Western Reserve University, Cleveland, OH 44106, USA
85
+
86
+ ---
87
+
88
+ ## 🐍 Installation
89
+
90
+ ```bash
91
+ pip install OntoCheck
92
+ ```
93
+
94
+ ---
95
+
96
+ ## ⏰ Quick Start
97
+
98
+ ```bash
99
+ ontocheck -h
100
+ ```
101
+
102
+ ---
103
+
104
+ ## 🛠️ Available Metrics in v0.0.1
105
+
106
+
107
+ For more detail visit our [Read The Docs website](https://ontology-assessment.readthedocs.io)
108
+
109
+ "altLabelCheck": mainAltLabelCheck_v_0_0_1,
110
+ "externalLinks": check_external_data_provider_links_ttl_v_0_0_1,
111
+ "isolatedElements": check_for_isolated_elements_v_0_0_1,
112
+ "humanLicense": check_human_readable_license_ttl_v_0_0_1,
113
+ "rdfDump": check_rdf_dump_accessibility_ttl_v_0_0_1,
114
+ "sparqlEndpoint": check_sparql_accessibility_ttl_v_0_0_1,
115
+ "classConnections": count_class_connected_components_v_0_0_1,
116
+ "definitionCheck": mainDefCheck_v_0_0_1,
117
+ "duplicateLabels": find_duplicate_labels_from_graph_v_0_0_1,
118
+ "missingDomainRange": get_properties_missing_domain_and_range_v_0_0_1,
119
+ "leafNodeCheck": mainLeafNodeCheck_v_0_0_1,
120
+ "semanticConnection": mainSemanticConnection_v_0_0_1,
121
+
122
+
123
+ ## Example runs in command
124
+
125
+
126
+ Running metrics: altLabelCheck and humanLicense
127
+
128
+ ``bash
129
+ ontocheck path/to/ontology.ttl --metrics altLabelCheck humanLicense -log-file path/to/log/file.log --csv-file path/to/file.csv
130
+ ``
131
+
132
+ Results of run:
133
+
134
+ ``text
135
+ --- SKOS Definition Coverage Summary ---
136
+ Total classes analyzed: 1406
137
+ Classes with definitions: 360(25.6%)
138
+ Classes without definitions: 1046 (74.4%)
139
+ Assessment: Low definition coverage
140
+ ``
141
+
142
+ ``text
143
+ --- Classes WITH altLabel (360) ---
144
+ Class: afe:AFE_0002281
145
+ Preferred Label: Nuclear Magnetic Resonance Tube
146
+ Alternative Labels (1):
147
+ - "NMR Tube"
148
+ Class: cco: ont00000003
149
+ Preferred Label: Designative Name
150
+ Alternative Labels (1):
151
+ - "Name"
152
+ Class: cco: ont00000009
153
+ Preferred Label: Mass Density
154
+ Alternative Labels (1):
155
+ - "Density"
156
+ ``
157
+
158
+ ``text
159
+ --- Classes WITHOUT altLabel (1046) ---
160
+ <https://w3id.org/ODE_AM/AMAO#AdditiveManufacturingMachine>
161
+ afe:AFE_0000029 (Label: "well-plate") afe: AFE_0000052 (Label: "cuvette") afe:AFE_0000329 (Label: "Vial")
162
+ afe:AFE_0000409 (Label: "monochromator") afe:AFE_0000718 (Label: "Tube")
163
+ afe:AFE_0001691 (Label: "non-contactprobe") afe:AFE_0001703 (Label: "pressure regulator") afe:AFE_0001772 (Label: "deuteriumlamp") afe:AFE_0002248 (Label: "probe")
164
+ afe: AFR_0001856 (Label: "electric current") afm: AFM_0000059 (Label: "additive") afm:AFM_0000884 (Label: "electricalenergy")
165
+ afm: AFM_0001032 (Label: "foam") afm:AFM_0001097 afr: AFR_0000955
166
+ afr:AFR_0002641 (Label: "viscosity")
167
+ ``
168
+
169
+ Run status:
170
+
171
+
172
+ | Metric | Score | Status |
173
+ |---|---|---|
174
+ | altLabelCheck | | Success |
175
+ | humanLicense | 1 | Success |
176
+
177
+
178
+ (all metrics)
179
+
180
+ | Metric | Score | Status |
181
+ |---|---|---|
182
+ | altLabelCheck | | Success |
183
+ | externalLinks | 0.08476821 | Success |
184
+ | isolatedElements | ['Number of i... | Success |
185
+ | humanLicense | 1 | Success |
186
+ | rdfDump | 0 | Success |
187
+ | sparqlEndpoint | 0 | Success |
188
+ | classConnections | 268 | Success |
189
+ | definitionCheck | | Success |
190
+ | duplicateLabels | 51 | Success |
191
+ | missingDomains | ['count_missi... | Success |
192
+ | leafNodeCheck | | Success |
193
+ | semanticConnection | | Success |
194
+
195
+
196
+
197
+ ## Acknowledge
198
+
199
+ * U.S. Department of Energy’s Office of Energy Efficiency and Renewable Energy (EERE) under the Solar Energy Technologies Office (SETO) — Agreement Numbers **DE-EE0009353** and **DE-EE0009347**
200
+ * Department of Energy (National Nuclear Security Administration) — Award Number **DE-NA0004104** and Contract Number **B647887**
201
+ * U.S. National Science Foundation — Award Number **2133576**
202
+
203
+
204
+ ## How to cite package
205
+
206
+ If you use ``OntoCheck`` in your work please cite
207
+
208
+ Rishabh Kundu, Redad Mehdi, Van D. Tran, Erika I. Barcelos, Alp Sehirlioglu, Yinghui Wu, Roger H. French (2025). OntoCheck: A package for assessing the quality and structure of ontologies. [Python]. https://pypi.org/project/OntoCheck/
209
+
210
+
211
+
@@ -0,0 +1,26 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/OntoCheck.egg-info/PKG-INFO
5
+ src/OntoCheck.egg-info/SOURCES.txt
6
+ src/OntoCheck.egg-info/dependency_links.txt
7
+ src/OntoCheck.egg-info/entry_points.txt
8
+ src/OntoCheck.egg-info/requires.txt
9
+ src/OntoCheck.egg-info/top_level.txt
10
+ src/ontocheck/__init__.py
11
+ src/ontocheck/altLabelCheck.py
12
+ src/ontocheck/check_external_data_provider_links_ttl.py
13
+ src/ontocheck/check_for_isolated_elements.py
14
+ src/ontocheck/check_human_readable_license_ttl.py
15
+ src/ontocheck/check_rdf_dump_accessibility_ttl.py
16
+ src/ontocheck/check_sparql_accessibility_ttl.py
17
+ src/ontocheck/cli.py
18
+ src/ontocheck/count_class_connected_components.py
19
+ src/ontocheck/defCheck.py
20
+ src/ontocheck/find_duplicate_labels_from_graph.py
21
+ src/ontocheck/get_properties_missing_domain_and_range.py
22
+ src/ontocheck/leafNodeCheck.py
23
+ src/ontocheck/run_assessment.py
24
+ src/ontocheck/semanticConnection.py
25
+ src/ontocheck/helpers/__init__.py
26
+ src/ontocheck/helpers/helpers.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ ontocheck = ontocheck.cli:main