diff --git a/.github/deployment/README.md b/.github/deployment/README.md new file mode 100644 index 0000000..bc25c8d --- /dev/null +++ b/.github/deployment/README.md @@ -0,0 +1,11 @@ +# CCO Deployment Files + +This directory contains files used in the yml/makefile process for validation and release generation, as well as files to support translations from content in CCO to similar content in other ontologies. + +## The Contents of this Repository + +* **sparql** - This directory contains sparl files used in quality control checks during the development process. +* **ontology-diff-files** - This directory contains ontology-diff-files, which Mark can tell you more about. +* **mappings** - This directory contains mappings between content in CCO and other ontologies. + + diff --git a/documentation/ro-ero-to-bfo2020.csv b/.github/deployment/mappings/ro-ero-to-bfo2020.csv similarity index 100% rename from documentation/ro-ero-to-bfo2020.csv rename to .github/deployment/mappings/ro-ero-to-bfo2020.csv diff --git a/documentation/ontology-diff-files/agent.html b/.github/deployment/ontology-diff-files/agent.html similarity index 100% rename from documentation/ontology-diff-files/agent.html rename to .github/deployment/ontology-diff-files/agent.html diff --git a/documentation/ontology-diff-files/artifact.html b/.github/deployment/ontology-diff-files/artifact.html similarity index 100% rename from documentation/ontology-diff-files/artifact.html rename to .github/deployment/ontology-diff-files/artifact.html diff --git a/documentation/ontology-diff-files/ero.html b/.github/deployment/ontology-diff-files/ero.html similarity index 100% rename from documentation/ontology-diff-files/ero.html rename to .github/deployment/ontology-diff-files/ero.html diff --git a/documentation/ontology-diff-files/event.html b/.github/deployment/ontology-diff-files/event.html similarity index 100% rename from documentation/ontology-diff-files/event.html rename to .github/deployment/ontology-diff-files/event.html diff --git a/documentation/ontology-diff-files/geospatial.html b/.github/deployment/ontology-diff-files/geospatial.html similarity index 100% rename from documentation/ontology-diff-files/geospatial.html rename to .github/deployment/ontology-diff-files/geospatial.html diff --git a/documentation/ontology-diff-files/info.html b/.github/deployment/ontology-diff-files/info.html similarity index 100% rename from documentation/ontology-diff-files/info.html rename to .github/deployment/ontology-diff-files/info.html diff --git a/documentation/ontology-diff-files/mro.html b/.github/deployment/ontology-diff-files/mro.html similarity index 100% rename from documentation/ontology-diff-files/mro.html rename to .github/deployment/ontology-diff-files/mro.html diff --git a/documentation/ontology-diff-files/time.html b/.github/deployment/ontology-diff-files/time.html similarity index 100% rename from documentation/ontology-diff-files/time.html rename to .github/deployment/ontology-diff-files/time.html diff --git a/.github/deployment/sparql/README.md b/.github/deployment/sparql/README.md new file mode 100644 index 0000000..f0fc795 --- /dev/null +++ b/.github/deployment/sparql/README.md @@ -0,0 +1,16 @@ +# SPARQL Quality Control + +This directory contains [SPARQL](https://www.w3.org/TR/sparql11-query/) files used to automate quality control checks against updates to CCO development branches and the CCO master branch. + +## Quality Control Format + +SPARQL Quality Control files should be named in a manner that illustrates their functionality, and must take the form of: +``` +Title + (descriptive title of the query) +Constraint Description: + (description of the query functionality) +Severity: + (select "Warning" or "Error") +``` +With respect to severity, a "Warning" will be some issue that should be addressed, but is not currently required to be addressed to maintain stability of bfo-core.owl. In constrast, "Error" indicates that the bfo-core.owl file must be corrected before it is usable. \ No newline at end of file diff --git a/.github/deployment/sparql/annotation_whitespace.sparql b/.github/deployment/sparql/annotation_whitespace.sparql new file mode 100644 index 0000000..dae47d3 --- /dev/null +++ b/.github/deployment/sparql/annotation_whitespace.sparql @@ -0,0 +1,18 @@ +# Title: +# No Extra Annotation Whitespace +# Constraint Description: +# No annotation value may have leading or trailing whitespace. +# Severity: +# Error + +PREFIX owl: +PREFIX rdfs: + +SELECT DISTINCT ?entity ?property ?value +WHERE { + ?property a owl:AnnotationProperty . + ?entity ?property ?value . + FILTER (!isBlank(?entity) && (REGEX(str(?value), "^[\\s\r\n]+") || REGEX(str(?value), "[\\s\r\n]+$"))) +} +ORDER BY ?entity + diff --git a/.github/deployment/sparql/deprecated_property_reference.sparql b/.github/deployment/sparql/deprecated_property_reference.sparql new file mode 100644 index 0000000..94c9bcb --- /dev/null +++ b/.github/deployment/sparql/deprecated_property_reference.sparql @@ -0,0 +1,69 @@ +# Title: +# Deprecated Ontology Elements in Axioms +# Constraint Description: +# The use of deprecated ontology elements in axioms is not allowed. +# Severity: +# Error + +PREFIX owl: +PREFIX rdfs: +PREFIX rdf: + +SELECT DISTINCT ?entity ?property ?value +WHERE { + { + VALUES ?property {rdfs:subClassOf owl:equivalentClass owl:disjointWith owl:ObjectProperty owl:DataProperty} + ?entity a owl:Class ; + owl:deprecated true ; + ?property ?value . + FILTER ( ?value NOT IN (owl:Thing) || + ?property IN (owl:equivalentClass, owl:disjointWith, owl:ObjectProperty, owl:DataProperty)) + } + UNION + { + VALUES ?property {rdfs:subClassOf owl:equivalentClass owl:disjointWith} + ?value ?property ?entity . + ?entity a owl:Class ; + owl:deprecated true . + } + UNION + { + VALUES ?property {owl:someValuesFrom owl:allValuesFrom} + ?value a owl:Class ; + owl:deprecated true . + ?rest a owl:Restriction ; + ?property ?value . + BIND("blank node" AS ?entity) + } + UNION + { + VALUES ?property {owl:equivalentProperty rdfs:subPropertyOf owl:inverseOf + } + ?entity a owl:ObjectProperty ; + owl:deprecated true . + ?value1 ?property ?entity . + } + UNION + { + VALUES ?property {owl:equivalentProperty rdfs:subPropertyOf} + ?entity a owl:DatatypeProperty ; + owl:deprecated true . + ?value1 ?property ?entity . + } + UNION + { + ?property owl:deprecated true . + ?entity ?property ?value1 . + BIND (IF(isIRI(?value1), ?value1, "blank node") AS ?value) + } + UNION + { + ?property owl:deprecated true . + ?entity ?x ?value1 . + ?value1 a owl:Restriction ; + owl:onProperty ?property . + BIND (IF(isIRI(?value1), ?value1, "blank node") AS ?value) + } +} +ORDER BY ?entity + diff --git a/.github/deployment/sparql/duplicate_definition.sparql b/.github/deployment/sparql/duplicate_definition.sparql new file mode 100644 index 0000000..96e045c --- /dev/null +++ b/.github/deployment/sparql/duplicate_definition.sparql @@ -0,0 +1,16 @@ +# Title: +# No Duplicate Definitions +# Constraint Description: +# No two ontology elements may have the exact same definition. +# Severity: +# Error + +PREFIX cco: + +SELECT DISTINCT ?entity ?definition +WHERE { + ?entity cco:definition ?definition . + ?entity2 cco:definition ?definition . + FILTER (?entity != ?entity2) + FILTER (!isBlank(?entity)) +} \ No newline at end of file diff --git a/.github/deployment/sparql/duplicate_label.sparql b/.github/deployment/sparql/duplicate_label.sparql new file mode 100644 index 0000000..f33024b --- /dev/null +++ b/.github/deployment/sparql/duplicate_label.sparql @@ -0,0 +1,21 @@ +# Title: +# No Duplicate Labels +# Constraint Description: +# Classes shall have no more than one rdfs:label. +# Severity: +# Warning + +PREFIX owl: +PREFIX rdfs: + +SELECT DISTINCT ?entity ?property ?value WHERE { + VALUES ?property {rdfs:label} + ?entity ?property ?value . + ?entity2 ?property ?value . + FILTER (?entity != ?entity2) + FILTER (!isBlank(?entity)) + FILTER (!isBlank(?entity2)) + FILTER NOT EXISTS { ?entity owl:deprecated true . + ?entity2 owl:deprecated true } +} +ORDER BY DESC(UCASE(str(?value))) \ No newline at end of file diff --git a/.github/deployment/sparql/exactly_1_prefLabel_per_lang.sparql b/.github/deployment/sparql/exactly_1_prefLabel_per_lang.sparql new file mode 100644 index 0000000..1664552 --- /dev/null +++ b/.github/deployment/sparql/exactly_1_prefLabel_per_lang.sparql @@ -0,0 +1,31 @@ +# Title: +# Ontology Elements Shall Have at Most One SKOS prefLabel per Language +# Constraint Description: +# Each ontology element shall have at most one skos:prefLabel per language. +# Severity: +# Warning + +PREFIX owl: +PREFIX skos: + + +SELECT DISTINCT ?resource ?property ?value +WHERE +{ + VALUES ?property { skos:prefLabel } + + # Find items with different labels in the same language. + ?resource ?property ?value . + ?resource ?property ?value2 . + FILTER ((lang(?value) = lang(?value2)) && (?value != ?value2)) . + + # Ignore deprecated resources + FILTER NOT EXISTS { ?resource owl:deprecated true } + + # Ignore blank nodes + FILTER (!isBlank(?resource)) + + # Ignore labels without a language label + FILTER (lang(?value) != "") +} +ORDER BY ?resource \ No newline at end of file diff --git a/.github/deployment/sparql/min_1_eng_def.sparql b/.github/deployment/sparql/min_1_eng_def.sparql new file mode 100644 index 0000000..3b053fa --- /dev/null +++ b/.github/deployment/sparql/min_1_eng_def.sparql @@ -0,0 +1,23 @@ +# Title: +# Definition Required +# Constraint Description: +# Any class or object property must have a non-empty defintiion with an English language tag. +# Severity: +# Warning + +PREFIX owl: +PREFIX rdfs: +PREFIX cco: + +SELECT DISTINCT ?resource ?label +WHERE { +VALUES ?type {owl:Class owl:ObjectProperty} + ?resource a ?type . + OPTIONAL { + ?resource cco:definition ?englishDefinition . + FILTER (langMatches(lang(?englishDefinition), "en")) + } + FILTER(!bound(?englishDefinition)) + FILTER(!isBlank(?resource)) +} +ORDER BY ?resource diff --git a/.github/deployment/sparql/min_1_ontology_title.sparql b/.github/deployment/sparql/min_1_ontology_title.sparql new file mode 100644 index 0000000..c619cd5 --- /dev/null +++ b/.github/deployment/sparql/min_1_ontology_title.sparql @@ -0,0 +1,17 @@ +# Title: +# Ontology Title Required +# Constraint Description: +# Any owl:Ontology must have a rdfs:label annotation property. +# Severity: +# Warning + +PREFIX rdfs: +PREFIX owl: + +SELECT DISTINCT ?resource +WHERE +{ + ?resource a owl:Ontology . + FILTER (!ISBLANK (?resource)) . + FILTER NOT EXISTS {?resource rdfs:label ?title} +} \ No newline at end of file diff --git a/.github/templates/bug-template.md b/.github/templates/bug-template.md new file mode 100644 index 0000000..ddd4a7d --- /dev/null +++ b/.github/templates/bug-template.md @@ -0,0 +1,32 @@ +--- +name: Bug Template +about: Create a report to help us improve +title: 'BUG: [TITLE SUMMARIZING ISSUE]' +labels: bug +assignees: + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. \ No newline at end of file diff --git a/.github/templates/feature-template.md b/.github/templates/feature-template.md new file mode 100644 index 0000000..88f4b9e --- /dev/null +++ b/.github/templates/feature-template.md @@ -0,0 +1,17 @@ +--- +name: Feature Template +about: Suggest updates to our repo +title: 'FEATURE: [SUMMARY TITLE OF FEATURE]' +labels: '' +assignees: + +--- + +**Describe the feature you'd like added** +A clear and concise description of changes you'd like to see, with motivation for those changes. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. \ No newline at end of file diff --git a/.github/workflows/manage_release.yml b/.github/workflows/manage_release.yml new file mode 100644 index 0000000..27eea6c --- /dev/null +++ b/.github/workflows/manage_release.yml @@ -0,0 +1,80 @@ +name: Build, Test, Draft Release + +on: + push: + branches: [ master ] + +permissions: + contents: write + +env: + cache-path: build/lib + artifacts-path: build/artifacts + release-build-content-type: application/ttl + cache-key: build-cache-dependencies + +jobs: + ontology_release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Restore cached dependencies + id: restore-cache + uses: actions/cache/restore@v3 + with: + path: ${{ env.cache-path }} + key: ${{ runner.os }}-${{ env.cache-key }} + + - name: List directory contents + run: ls -la + + - name: Build and test ontology release + run: make all + + - name: Capture release information + id: build_release + run: | + make -d all + echo "RELEASE_FILE_PATH=$(make output-release-filepath)" >> $GITHUB_OUTPUT + echo "RELEASE_NAME=$(make output-release-name)" >> $GITHUB_OUTPUT + + - name: Get basename of the release file + id: get_basename + run: echo "BASENAME=$(basename ${{ steps.build_release.outputs.RELEASE_FILE_PATH }})" >> $GITHUB_ENV + + - name: Save artifacts + uses: actions/upload-artifact@v3 + if: always() + with: + name: ontology_release_results + path: ${{ env.artifacts-path }} + + - name: Save dependencies to cache + id: save-cache + uses: actions/cache/save@v3 + if: always() && steps.restore-cache.outputs.cache-hit != 'true' + with: + path: ${{ env.cache-path }} + key: ${{ runner.os }}-${{ env.cache-key }} + + - name: Draft GitHub Release + uses: actions/create-release@v1 + id: draft_release + with: + draft: true + prerelease: false + release_name: ${{ steps.build_release.outputs.RELEASE_NAME }} + tag_name: ${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload GitHub release build + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.draft_release.outputs.upload_url }} + asset_path: ${{ steps.build_release.outputs.RELEASE_FILE_PATH }} + asset_name: ${{ steps.build_release.outputs.RELEASE_FILE_PATH }} + asset_content_type: ${{ env.release-build-content-type }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/LICENSE b/LICENSE index 1278661..26826d5 100644 --- a/LICENSE +++ b/LICENSE @@ -1 +1,28 @@ -https://opensource.org/license/BSD-3-Clause +BSD 3-Clause License + +Copyright (c) 2017, CUBRC, INC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +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. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +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. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..57c4278 --- /dev/null +++ b/Makefile @@ -0,0 +1,171 @@ +# Common Core Ontology Pipeline +# Adapted from previous works; see header comments for full attribution. +# Contact - John Beverley + +### Explanation ### +# The workflow involves two major steps: first, individual ontology files are checked and tested. +# After passing, they are merged into a single file, which is then checked and tested again. + +# ---------------------------------------- +# Project essentials +config.ONTOLOGY_PREFIX := CCO +config.BASE_IRI := http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ +config.DEV_IRI := $(config.BASE_IRI)/dev +config.MODULES_IRI := $(config.DEV_IRI)/modules + +# Local project directories +config.SOURCE_DIR := src/ +config.TEMP_DIR := build/artifacts +config.RELEASE_DIR := / +config.REPORTS_DIR := $(config.TEMP_DIR) +config.QUERIES_DIR := .github/deployment/sparql +config.LIBRARY_DIR := build/lib + +# Settings +config.FAIL_ON_TEST_FAILURES := false +config.REPORT_FAIL_ON := none + +# Branch-specific configurations +BRANCH := $(shell git rev-parse --abbrev-ref HEAD) + +# File names for dev branch +DEV_FILES = \ + src/cco-modules/AgentOntology.ttl \ + src/cco-modules/ArtifactOntology.ttl \ + src/cco-modules/CurrencyUnitOntology.ttl \ + src/cco-modules/EventOntology.ttl \ + src/cco-modules/ExtendedRelationOntology.ttl \ + src/cco-modules/FacilityOntology.ttl \ + src/cco-modules/GeospatialOntology.ttl \ + src/cco-modules/QualityOntology.ttl \ + src/cco-modules/UnitsOfMeasureOntology.ttl \ + src/cco-modules/TimeOntology.ttl \ + src/cco-modules/InformationEntityOntology.ttl + +# File for combined ontology +combined-file := $(config.SOURCE_DIR)/MergedAllCoreOntology.ttl + +# Other constants +TODAY := $(shell date +%Y-%m-%d) +TIMESTAMP := $(shell date +'%Y-%m-%d %H:%M') + +# Default name for release +config.RELEASE_NAME := $(config.ONTOLOGY_PREFIX) $(TIMESTAMP) + +# Generic files +EDITOR_BUILD_FILE = $(combined-file) # "editors ontology module" + +EDITOR_REPORT_FILE = $(config.REPORTS_DIR)/$(config.ONTOLOGY_PREFIX)-edit-report.tsv + +# Generic directories to create if needed +REQUIRED_DIRS = $(config.LIBRARY_DIR) $(config.SOURCE_DIR) $(config.QUERIES_DIR) $(config.REPORTS_DIR) + +# ---------------------------------------- +#### Targets / main "goals" of this Makefile +.PHONY: all +all: setup reason-individual test-individual build-combined reason-combined test-combined + +# Setup target for creating necessary directories +.PHONY: setup +setup: + mkdir -p $(REQUIRED_DIRS) src/ .github/deployment/sparql build/artifacts + +# Targets for dev branch - QC individual files and the combined file + +# Download ROBOT JAR +ROBOT_FILE := $(config.LIBRARY_DIR)/robot.jar +$(ROBOT_FILE): setup + curl -L -o $@ https://github.com/ontodev/robot/releases/download/v1.8.4/robot.jar + chmod +x $@ + +# Reason individual files +.PHONY: reason-individual +reason-individual: $(ROBOT_FILE) + for file in $(DEV_FILES); do \ + echo "Reasoning on $$file..."; \ + java -jar $(ROBOT_FILE) reason --input $$file --reasoner HermiT; \ + done + +# Test individual files +.PHONY: test-individual +test-individual: $(ROBOT_FILE) + for file in $(DEV_FILES); do \ + echo "Testing $$file..."; \ + java -jar $(ROBOT_FILE) verify --input $$file --output-dir $(config.REPORTS_DIR) --queries $(QUERIES) --fail-on-violation false || true; \ + done + +# Build combined file after individual files pass checks +$(combined-file): $(DEV_FILES) + cat $(DEV_FILES) > $@ + +# Build and QC combined file +.PHONY: build-combined +build-combined: $(combined-file) + +.PHONY: reason-combined test-combined +reason-combined: $(combined-file) | $(ROBOT_FILE) + java -jar $(ROBOT_FILE) reason --input $(combined-file) --reasoner HermiT + +test-combined: $(combined-file) | $(ROBOT_FILE) + java -jar $(ROBOT_FILE) verify --input $(combined-file) --output-dir $(config.REPORTS_DIR) --queries $(QUERIES) --fail-on-violation false || true + +.PHONY: report-edit +report-edit: TEST_INPUT = $(EDITOR_BUILD_FILE) +report-edit: REPORT_FILE_INPUT = $(EDITOR_REPORT_FILE) +report-edit: report + +.PHONY: output-release-filepath +output-release-filepath: + @echo $(combined-file) + +.PHONY: output-release-name +output-release-name: + @echo $(config.RELEASE_NAME) + +# ---------------------------------------- +#### Test / test ontology with reasoners and queries +QUERIES = $(wildcard $(config.QUERIES_DIR)/*.sparql) + +# Check for inconsistency +.PHONY: reason +reason: $(TEST_INPUT) | $(ROBOT_FILE) + java -jar $(ROBOT_FILE) reason --input $(TEST_INPUT) --reasoner HermiT + +# Test using specific queries +.PHONY: verify +verify: $(TEST_INPUT) $(QUERIES) | $(config.QUERIES_DIR) $(config.REPORTS_DIR) $(ROBOT_FILE) +ifeq ($(QUERIES),) + $(warning No query files found in $(config.QUERIES_DIR)) +else + java -jar $(ROBOT_FILE) verify --input $(TEST_INPUT) --output-dir $(config.REPORTS_DIR) --queries $(QUERIES) --fail-on-violation false || true +endif + +# Report using built-in ROBOT queries +.PHONY: report +report: $(TEST_INPUT) | $(config.REPORTS_DIR) $(ROBOT_FILE) + java -jar $(ROBOT_FILE) report --input $(TEST_INPUT) \ + --labels true \ + --fail-on $(config.REPORT_FAIL_ON) \ + --print 10 \ + --output $(REPORT_FILE_INPUT) + +# ---------------------------------------- +#### Setup / configure Make to use with our project +MAKEFLAGS += --warn-undefined-variables +SHELL := bash +.SHELLFLAGS := -eu -o pipefail -c +.DEFAULT_GOAL := all +.DELETE_ON_ERROR: +.SUFFIXES: +.SECONDARY: + +# Create any of these directories if they don't exist +$(REQUIRED_DIRS): + mkdir -p $@ + +# Cleanup - Remove build and release files +.PHONY: clean +clean: + @[ "${config.REPORTS_DIR}" ] || ( echo ">> config.REPORTS_DIR is not set"; exit 1 ) + rm -rf $(config.REPORTS_DIR) + rm -rf $(combined-file) diff --git a/README.md b/README.md index f8a5c44..22c8912 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,71 @@ -# Common Core Ontologies -The Common Core Ontologies (CCO) comprise twelve ontologies that are designed to represent and integrate taxonomies of generic classes and relations across all domains of interest. +# The Common Core Ontologies (CCO) -CCO is a mid-level extension of Basic Formal Ontology (BFO), an upper-level ontology framework widely used to structure and integrate ontologies in the biomedical domain (Arp, et al., 2015). BFO aims to represent the most generic categories of entity and the most generic types of relations that hold between them, by defining a small number of classes and relations. CCO then extends from BFO in the sense that every class in CCO is asserted to be a subclass of some class in BFO, and that CCO adopts the generic relations defined in BFO (e.g., has_part) (Smith and Grenon, 2004). Accordingly, CCO classes and relations are heavily constrained by the BFO framework, from which it inherits much of its basic semantic relationships. +## What is CCO? -The CCO provide semantics for concepts and relations that are used in most domains of interest. The utility of the CCO comes from preventing BFO-compliant domain-specific ontologies from needlessly duplicating common concepts or from forcing such ontologies to include concepts outside of their domain (e.g. organization in the Ontology of Biomedical Investigations). +The Common Core Ontologies (CCO) is a widely-used suite of eleven ontologies that consist of logically well-defined generic terms and relations among them reflecting entities across all domains of interest. -This utility has been realized by a number of U.S. Government sponsored projects in which either existing BFO compliant ontologies were aligned to the CCO or domain ontologies were created by using the CCO as a starting point and adding classes and properties as needed. +These eleven ontologies constitute a [mid-level ontology](https://arxiv.org/abs/2404.17757) that extends from the [Basic Formal Ontology (BFO)](https://github.com/bfo-ontology/BFO-2020), an [ISO-standard](https://www.iso.org/standard/71954.html) top-level ontology. Whereas BFO represents only the most generic entities and relations, CCO contains classes that users will find common across data sets in many domains. Such classes include, for example, person, facility, date, employment, nickname, and measurement. -The names of a sample of these domain ontologies are provided in the list below. +Both BFO and CCO have been directed for use as "[baseline standards](https://www.buffalo.edu/news/releases/2024/02/department-of-defense-ontology.html)" for formal ontology development across the United States Department of Defense and Intelligence Community. -The U.S. Government holds Government Purpose Rights on all of these domain ontologies. To obtain one or more of these domain ontologies for a government purpose it will be necessary for a government representative to contact the government sponsor of the development of the ontology. CUBRC can facilitate these connections so if interested please use the contact link at the bottom of this [page](https://www.cubrc.org/data-science-information-fusion/specialized-data-ontology-development/). +CCO is currently being evaluated as a mid-level ontology standard by the IEEE Standards Association under [PAR3195.1](https://standards.ieee.org/ieee/3195.1/11026/). -# Sample of Common Core Domain Ontology Extensions -Aircraft Ontology +CCO itself is not intended to grow indefinitely by including content that is proper to particular domains. Users are encouraged to create their own domain extensions with content particular to those domains and publish these ontologies for re-use by others. -Airforce Aircraft Maintenance Ontology +## Contributing -Army Universal Task List Ontology +Users may find the current release files for [CCO here](https://github.com/CommonCoreOntology/CommonCoreOntologies/releases/tag/v1.5-2024-02-14) -Atmospheric Feature Ontology +Developers may clone this repository and directly import AllCoreOntology.ttl in an ontology editor such as [Protégé](https://protege.stanford.edu/) to generate the merged version of the eleven CCO ontologies. Those who wish to forego managing imports may find a merged version of the files at src/cco-merged/ -Cyber Ontology +Users who wish to view the content of CCO in a web browser may view the current CCO release on the [Industrial Ontology Portal viewer](https://industryportal.enit.fr/ontologies/CCO) -Hydrographic Feature Ontology +For information regarding the management of CCO, tutorials, lists of projects that extend CCO, associated research, standards activities in the IEEE, and more, please navigate to the [CCO home page](https://commoncoreontology.github.io/cco-webpage/) -Legal and Criminal Act Ontology +For bug fixes, developed suggestions for improvement, or minor updates, please open an issue using the template [here](https://github.com/CommonCoreOntology/CommonCoreOntologies/issues) -Marine Corps Task List Ontology +For more open-ended discussion, general questions, or compliments, please navigate to the discussion board [here](https://github.com/CommonCoreOntology/CommonCoreOntologies/discussions) -Military Operations Ontology +## Who Oversees CCO Today? -Mission Planning Ontology +CCO is overseen by a governance board and a developers group. Our members come from academia, government, US national laboratories, and commercial industry. We offer multiple forums for feedback and discussion. -Occupation Ontology +For more information about the governance of CCO, please navigate to the [Common Core Ontologies home page.](https://commoncoreontology.github.io/cco-webpage/board/) -Outerspace Ontology +## The Common Core Ontologies -Physiographic Feature Ontology +- **Geospatial Ontology** - An ontology whosse scope is the representation of sites, spatial regions, and other entities, especially those that are located near the surface of Earth, as well as the relations that hold between them. +- **Information Entity Ontology** - An ontology whose scope is the representation of generic types of information as well as the relationships between information and other entities. +- **Event Ontology** - An ontology whose scope is the representation of processual entities, especially those performed by agents, that occur within multiple domains. +- **Time Ontology** - An ontology whose scope is the representation of temporal regions and the relations that hold between them. +- **Agent Ontology** - An ontology whose scope is the representation of represent agents, especially persons and organizations, and their roles. +- **Quality Ontology** - An ontology whose scope is the representation of a range of attributes of entities especially qualities, realizable entities, and process profiles. +- **Units of Measure Ontology** - An ontology whose scope is the representation of standard measurement units that are used when measuring various attributes of entities. +- **Currency Unit Ontology** - An ontology whose scope is the representation of currencies that are issued and used by countries. +- **Facility Ontology** - An ontology whose scope is the representation of buildings and campuses that are designed to serve some specific purpose, and which are common to multiple domains. +- **Artifact Ontology** - An ontology whose scope is the representation of artifacts that are common to multiple domains along with their models, specifications, and functions. +- **Extended Relation Ontology** - An ontology whose scope is the representation of the relations that hold between entities at the level of the mid-level Common Core Ontologies. -Sensor Ontology +## The Contents of this Repository -Spacecraft Mission Ontology - -Spacecraft Ontology - -Space Event Ontology - -Space Object Ontology - -Transportation Infrastructure Ontology - -Undersea Warfare Ontology - -Watercraft Ontology +* **documentation** - This directory contains the ModalRelationOntology.ttl. + * **archive** + * **legacy documentation** - Contains documentation concerning previous versions of CCO, a list of obsoleted terms, changefiles for releases, as well as xlsx glossaries for each previous release. + * **previous-versions** - Contains previous releases of CCO, beginning with version 1.3. + * **contributing** + * **contributing** - Contains guidance for making contributions to the CCO repository. + * **github overview** - Contains guidance for using git and Github with Visual Studio Code, command lines, and GitHub Desktop. + * **design patterns** - Contains common design patterns for CCO, motivated by specific use cases, characterized by competency questions, and accompanied by serialization in RDF. + * **images** - Contains images used in this repository. + * **user guides** - Contains user guides for: ontology developers, software developers and subject matter experts. +* **src** + * **cco-merged** - Contains the current CCO merged release file and an import file that is used to generate the merged CCO file. + * **cco-modules** - Contains versions of the 11 CCO modules. + * **cco extensions** - Contains versions of CCO extensions maintained by the governance board, such as the Modal Relations Ontology. +* **.github** - This directory contains files needed to support automated GitHub actions. + * **deployment** + * **sparql** - Contains sparql files used in quality control checks during the development process. + * **ontology-diff-files** - Contains ontology-diff-files, which Mark can tell you more about. + * **mappings** - Contains mappings between content in CCO and other ontologies. + * **templates** - Contains templates used to create issues and discussion topics. + * **workflows** - Contains release management files needed for GitHub Actions. diff --git a/cco-merged/README.md b/cco-merged/README.md deleted file mode 100644 index a90a132..0000000 --- a/cco-merged/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Merged All Core Ontology - -This directory contains a merged version of all eleven CCO ontologies plus BFO. The file represents a stable stand-alone snapshot release of all of CCO and its import dependancies. A sub-directory archives previous versions of Merged All Core. diff --git a/documentation/README.md b/documentation/README.md index e35a76c..ac902f8 100644 --- a/documentation/README.md +++ b/documentation/README.md @@ -1 +1,15 @@ -This folder contains user guides and supporting documents, some of which are specific to the current release. Previous versions of these documents are now stored in the Legacy subfolder. +# CCO Documentation + +This directory contains files to promote user understanding and contributions: + +## The Contents of this Repository + +* **archive** + * **legacy documentation** - Contains documentation concerning previous versions of CCO, a list of obsoleted terms, changefiles for releases, as well as xlsx glossaries for each previous release. + * **previous-versions** - Contains previous releases of CCO, beginning with version 1.3. +* **contributing** + * **contributing** - Contains guidance for making contributions to the CCO repository. + * **github overview** - Contains guidance for using git and Github with Visual Studio Code, command lines, and GitHub Desktop. +* **design patterns** - Contains common design patterns for CCO, motivated by specific use cases, characterized by competency questions, and accompanied by serialization in RDF. +* **images** - Contains images used in this repository. +* **user guides** - Contains user guides for: ontology developers, software developers and subject matter experts. diff --git a/documentation/archive/README.md b/documentation/archive/README.md new file mode 100644 index 0000000..3b6aec8 --- /dev/null +++ b/documentation/archive/README.md @@ -0,0 +1,8 @@ +# CCO Archive + +This directory serves as a home for outdated documentation regarding CCO and related projects. This documentation is not intended to be used as guidance in the development or application of current versions of CCO artifacts. + +## The Contents of this Repository + +* **legacy documentation** - This directory contains documentation concerning previous versions of CCO, a list of obsoleted terms, changefiles for releases, as well as xlsx glossaries for each previous release. +* **previous-versions** - This directory contains previous releases of CCO, beginning with version 1.3. \ No newline at end of file diff --git a/documentation/legacy documentation/An Overview of the Common Core Ontologies 1.1.docx b/documentation/archive/legacy-documentation/An Overview of the Common Core Ontologies 1.1.docx similarity index 100% rename from documentation/legacy documentation/An Overview of the Common Core Ontologies 1.1.docx rename to documentation/archive/legacy-documentation/An Overview of the Common Core Ontologies 1.1.docx diff --git a/documentation/An Overview of the Common Core Ontologies.docx b/documentation/archive/legacy-documentation/An Overview of the Common Core Ontologies 1.3.docx similarity index 100% rename from documentation/An Overview of the Common Core Ontologies.docx rename to documentation/archive/legacy-documentation/An Overview of the Common Core Ontologies 1.3.docx diff --git a/documentation/legacy documentation/Common Core Ontology Glossary 1.3.xlsx b/documentation/archive/legacy-documentation/Common Core Ontology Glossary 1.3.xlsx similarity index 100% rename from documentation/legacy documentation/Common Core Ontology Glossary 1.3.xlsx rename to documentation/archive/legacy-documentation/Common Core Ontology Glossary 1.3.xlsx diff --git a/documentation/legacy documentation/Common Core Ontology Glossary 1.4.xlsx b/documentation/archive/legacy-documentation/Common Core Ontology Glossary 1.4.xlsx similarity index 100% rename from documentation/legacy documentation/Common Core Ontology Glossary 1.4.xlsx rename to documentation/archive/legacy-documentation/Common Core Ontology Glossary 1.4.xlsx diff --git a/documentation/legacy documentation/Common Core Ontology Glossary.xlsx b/documentation/archive/legacy-documentation/Common Core Ontology Glossary.xlsx similarity index 100% rename from documentation/legacy documentation/Common Core Ontology Glossary.xlsx rename to documentation/archive/legacy-documentation/Common Core Ontology Glossary.xlsx diff --git a/documentation/legacy documentation/Modeling Information with the Common Core Ontologies 1.0.docx b/documentation/archive/legacy-documentation/Modeling Information with the Common Core Ontologies 1.0.docx similarity index 100% rename from documentation/legacy documentation/Modeling Information with the Common Core Ontologies 1.0.docx rename to documentation/archive/legacy-documentation/Modeling Information with the Common Core Ontologies 1.0.docx diff --git a/documentation/Modeling Information with the Common Core Ontologies.docx b/documentation/archive/legacy-documentation/Modeling Information with the Common Core Ontologies 1.3.docx similarity index 100% rename from documentation/Modeling Information with the Common Core Ontologies.docx rename to documentation/archive/legacy-documentation/Modeling Information with the Common Core Ontologies 1.3.docx diff --git a/documentation/legacy documentation/ObsoleteTerms.ttl b/documentation/archive/legacy-documentation/ObsoleteTerms.ttl similarity index 100% rename from documentation/legacy documentation/ObsoleteTerms.ttl rename to documentation/archive/legacy-documentation/ObsoleteTerms.ttl diff --git a/documentation/legacy documentation/RO-Update.xlsx b/documentation/archive/legacy-documentation/RO-Update.xlsx similarity index 100% rename from documentation/legacy documentation/RO-Update.xlsx rename to documentation/archive/legacy-documentation/RO-Update.xlsx diff --git a/documentation/legacy documentation/Version 1_1 Release Change File.xlsx b/documentation/archive/legacy-documentation/Version 1_1 Release Change File.xlsx similarity index 100% rename from documentation/legacy documentation/Version 1_1 Release Change File.xlsx rename to documentation/archive/legacy-documentation/Version 1_1 Release Change File.xlsx diff --git a/documentation/legacy documentation/Version 1_2 Release Change File.xlsx b/documentation/archive/legacy-documentation/Version 1_2 Release Change File.xlsx similarity index 100% rename from documentation/legacy documentation/Version 1_2 Release Change File.xlsx rename to documentation/archive/legacy-documentation/Version 1_2 Release Change File.xlsx diff --git a/documentation/legacy documentation/Version 1_3 Release Change File.xlsx b/documentation/archive/legacy-documentation/Version 1_3 Release Change File.xlsx similarity index 100% rename from documentation/legacy documentation/Version 1_3 Release Change File.xlsx rename to documentation/archive/legacy-documentation/Version 1_3 Release Change File.xlsx diff --git a/documentation/legacy documentation/Version 1_4 Release Change File.xlsx b/documentation/archive/legacy-documentation/Version 1_4 Release Change File.xlsx similarity index 100% rename from documentation/legacy documentation/Version 1_4 Release Change File.xlsx rename to documentation/archive/legacy-documentation/Version 1_4 Release Change File.xlsx diff --git a/cco-merged/previous-versions/MergedAllCoreOntology-v1.3-2021-03-01.ttl b/documentation/archive/previous-versions/MergedAllCoreOntology-v1.3-2021-03-01.ttl similarity index 100% rename from cco-merged/previous-versions/MergedAllCoreOntology-v1.3-2021-03-01.ttl rename to documentation/archive/previous-versions/MergedAllCoreOntology-v1.3-2021-03-01.ttl diff --git a/cco-merged/previous-versions/MergedAllCoreOntology-v1.4-2023-04-07.ttl b/documentation/archive/previous-versions/MergedAllCoreOntology-v1.4-2023-04-07.ttl similarity index 100% rename from cco-merged/previous-versions/MergedAllCoreOntology-v1.4-2023-04-07.ttl rename to documentation/archive/previous-versions/MergedAllCoreOntology-v1.4-2023-04-07.ttl diff --git a/cco-merged/previous-versions/MergedAllCoreOntology_v1.3.ttl b/documentation/archive/previous-versions/MergedAllCoreOntology_v1.3.ttl similarity index 100% rename from cco-merged/previous-versions/MergedAllCoreOntology_v1.3.ttl rename to documentation/archive/previous-versions/MergedAllCoreOntology_v1.3.ttl diff --git a/documentation/contributing/contributing.md b/documentation/contributing/contributing.md new file mode 100644 index 0000000..5df1c9c --- /dev/null +++ b/documentation/contributing/contributing.md @@ -0,0 +1,162 @@ +# Contributing Guidelines and Code of Conduct + +Branching: +`master` will always contain the latest release. +`develop` is where approved changes are merged into from patch and feature branches. + +Instructions: +- All changes shall be made on a patch/feature branch that is created from an issue. Use the feature located to the right under Development to create branch. Make sure to select "Change Branch Source" and select 'develop'. +- If the changes are not based on an existing issue, create one. +- Make sure your preferred method of editing OWL files isn't generating spurious diffs. To prevent this, make a token change (e.g., add an annotation to the ontology) to the file and save it. +- Then use your favorite diff checker to confirm only that change is being rendered. Different versions of OWL API and Protégé will sometimes cause formatting issues. +- If you can't prevent the bogus diffs, then make commit the file with a message "Bogus change to render diffs correctly". +- Better to commit often rather than not enough. Ideally your commits will be have a unified objective. E.g., "changed language tags on all properties", "updated formatting for a few definitions", "deleted class Agent Identifier & fixed related axioms". +- When you've made changes as dictated by the issue, then perform a MR on `develop`. +- A set of checks will be run. Any failures need to be addressed before it can be accepted. +- Only Lead Developers can accept MRs. + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. + +### Branching: +`master` contain the latest release +`develop` where pull requests are made from patch and feature branches + +### Instructions: +- If you do not have write privileges in the repo, then create a fork and work off that. +- All changes shall be made on an issue-specifc branch. + - Use the feature in the isseu tracker located to the right under "Development" to create the branch. Make sure to "Change Branch Source" and select 'develop'. +- If the changes are not based on an existing issue, create one first, assign yourself. +- Make sure your preferred method of editing OWL files isn't generating spurious diffs. + - To prevent this, make a token change to the file and save. E.g., add an annotation to the ontology "foo". Then use your favorite diff checker to confirm only that change is being rendered. Delete the change before making any other changes. + - If you can't prevent the bogus diffs, then make a change to the file with a message "Change to render diffs correctly." + - Delete the change and commit with message "Change for diffs deleted." +- Better to commit often rather than not enough. Ideally your commits will be have a unified objective. E.g., "changed language tags on all properties", "updated formatting for a few definitions", "deleted class Agent Identifier & fixed related axioms". +- Double check your work, make sure it loads in Protege, open All Core Ontology and confirm there are no bugs. +- Perform a PR on `develop`. Optionally, you may assign one or more reviewers, e.g., people that contributed to the issue. + + \ No newline at end of file diff --git a/documentation/contributing/github overview.md b/documentation/contributing/github overview.md new file mode 100644 index 0000000..f61b4e1 --- /dev/null +++ b/documentation/contributing/github overview.md @@ -0,0 +1,286 @@ +# Git and GitHub Overview + +## Prerequisites + +Prior to using GitHub in this repository, you will need to: + +- **GitHub account** - [Register Here](https://github.com/join?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F&source=header-home) +- **Git Client** - Install a git client such as [GitHub Desktop](https://desktop.github.com/) or [Visual Studio Code](https://code.visualstudio.com/) with [necessary extensions](https://code.visualstudio.com/docs/sourcecontrol/github) + +## Objectives + +- [Introduction](#introduction) +- [Git and GitHub](#git-and-github) +- [GitHub Workflow](#github-workflow) +- [GitHub Issues](#issues) +- [GitHub Pull Requests](#pr) + +- [Ontology Development Workflows](#workflow) + + +- [Open Source Etiquette](#etiquette) +- [Further Resources](#resource) + + + + +## Introduction + +The content of this file is adapted from the Github Classroom starter assignment, which is designed to give you a brief introduction to Git and GitHub. + + + +## Git and GitHub + +**Git** is a system for tracking changes to your code, collaborating, and sharing. With Git you can track the changes you make to your project so you always have a record of what you’ve worked on and can easily revert back to an older version if need be. + +**GitHub** is a web-based platform that builds on Git, by adding an intuitive interface, automating workflow actions, and allowing for transparent communication around projects. + + + +## GitHub Workflow + +The **GitHub Flow** is a workflow that allows you to experiment and collaborate on your projects easily, without the risk of losing your previous work. + +A **repository** is where your project work happens--think of it as your project folder. It contains all of your project’s files and revision history. You can work within a repository alone or invite others to collaborate with you on those files. Repositories also contain **README**s, which are used to explain to other people why your project is useful, what they can do with your project, and how they can use it. + + +A README is a text file that introduces and explains a project. It is intended for _everyone_, not just the software or ontology developers. Ideally, the README file will include detailed information about the ontology, how to get started with using any of the files, license information and other details. The README is usually on the front page of the GitHub repository. + + +Git repositories typically have a main branch that is not directly edited. Changes are made by creating a **branch** from main, which is essentially a complete copy of the main branch along with its entire history of updates. + + + + +You can copy (fork) any GitHub repo to some other location on GitHub without having to ask permission from the owners.  If you modify some files in that repo, e.g. to fix a bug in some code, or a typo in a document, you can then suggest to the owners (via a Pull Request) that they adopt (merge) you your changes back into their repo. + +If you have permission from the owners, you can instead make a new branch. For this training, we gave you access to the repository. See the [Appendix](../howto/github-create-fork.md) for instructions on how to make a fork. + + + + +When a repository is created with GitHub, it’s stored remotely in the cloud. You can **clone** a repository to create a local copy on your computer and then use Git to sync the two. This makes it easier to fix issues, add or remove files, and push larger commits. Cloning a repository pulls down all the repository data that GitHub has at that point in time, including all versions of every file and folder for the project. This can be helpful if you experiment with your project and then realize you liked a previous version more. + +A **fork** is another way to copy a repository, but is usually used when you want to contribute to someone else’s project. Forking a repository allows you to freely experiment with changes without affecting the original project and is very popular when contributing to open source software projects. + +**Committing** and **pushing** are how you can add the changes you made on your local machine to the main course repository so that your instructor can see your latest work. You should add a helpful **commit message** to remind yourself or your teammates what work you did. Once you have a commit or multiple commits that you’re ready to add to your repository, you can use the push command to add those changes to your remote repository. + +When working with branches, you can use a **pull request** to tell others about the changes you want to make and ask for their feedback. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add more changes if need be. You can add specific people as reviewers of your pull request which shows you want their feedback on your changes! Once a pull request is ready-to-go, it can be merged into your main branch. + +**Issues** are a way to track enhancements, tasks, or bugs for your work on GitHub. Issues are a great way to keep track of all the tasks you want to work on for your project and let others know what you plan to work on. + +## Github Workflow + +To illustrate, suppose you want to edit a file from the Common Core Ontologies GitHUb. You should then 'fork' the develop branch of the CCO repository on your personal Github account, so that you can make whatever changes you like. + +When you make changes to your personal Github CCO repository then go to save them in GitHub, you will be prompted to either "commit to the main branch' or "create a new branch for this request and start a pull request". You should almost always open a 'pull request'. By opening a pull request, you open the door for your peers to help you refine the submission. That in mind, when you open a pull request, it is good practice to tag others and request they review your work. Once your reviewers have 'approved' your work, you will then 'merge' your work to your personal repository. + +Once you have merged your work there, you will open another pull request - this time tagging one of the lead CCO developers - so they can review your work before merging it to the develop branch of CCO. Over time, when sufficient updates have been made to CCO, the develop branch will be merged into the main branch, triggering a new release of CCO. + +You can visualize the process as something like: + +```mermaid + gitGraph + commit id: "1" + commit id: "2" + branch Your_Work + checkout Your_Work + commit id: "3" + checkout main + commit id: "4" + checkout Your_Work + branch Your_Work_in_PR + commit id: "5" + checkout Your_Work + merge Your_Work_in_PR id: "Reviewed!" + checkout main + merge Your_Work id: "Submit Work" + commit id: "6" + checkout main + commit id: "7" + ``` +Where the numbers instances where changes have been made to a repository. The top grey line represents the main course repository. At change - or 'commit' - 2, you create a copy of the repository and begin working. You periodically check to make sure that your copy is up to date with the main branch, and this is reflected in your making commit 3 then making commit 5. This is because commit 4 occurred on the main branch, but you - good student that you are - updated your personal repository to keep up with the main course repository. Eventually, you submit your work to the main branch and it is 'merged'. Afterwards, you'll be able to see your work on the main course repository. + + + + + +### CCO Development Workflow + +The steps below describe how to make changes to Common Core Ontologies content. + +1. Clone the CCO GitHub repository. The example below describes how to clone the Mondo Disease Ontology repo, but this can be applied to any ontology that is stored in GitHub. + +#### Clone the CCO Repository + +1. Navigate to the [Common Core Ontologies repository](https://github.com/CommonCoreOntology/CommonCoreOntologies) +2. Click Code + +![image](https://user-images.githubusercontent.com/6722114/116610830-801b0480-a8ea-11eb-8567-9da0c1159954.png) + +3. Click 'Open with GitHub Desktop' + +![image]() + +4. You will be given an option as to where to save the repository. Consider creating a folder on your local device named "Git" or "Repos", which will be the home for any repositories you save locally. +5. This will open GitHub Desktop and the repo should start downloading. This could take some time depending on how big the file is and how much memory your computer has. + +#### Create a branch using GitHub Desktop + +6. Click the little arrow in Current Branch +7. Click New Branch +8. Give your branch a name: + +![image]() + + + +## GitHub Pull Requests (adapted from OBOOK) + +### Committing, Pushing and Making Pull Requests + +1. Changes made to the ontology can be viewed in GitHub Desktop. + +2. Before committing, check the diff. Examples of a diff are pasted below. Large diffs are a sign that something went wrong. In this case, do not commit the changes and ask the ontology editors for help instead. + +Example 1: + +![]() + +1. Commit: Add a meaningful message in the Commit field in the lower left, for example + +NOTE: You can use the word 'fixes' or 'closes' in the description of the commit message, followed by the corresponding ticket number (in the format #1234) - these are magic words in GitHub; when used in combination with the ticket number, it will automatically close the ticket. Learn more on this GitHub Help Documentation page about [Closing issues via commit messages](https://help.github.com/en/articles/closing-issues-using-keywords). + +1. Note: 'Fixes' and "Closes' are case-insensitive. + +2. If you don't want to close the ticket, just refer to the ticket # without the word 'Fixes' or use 'Adresses'. The commit will be associated with the correct ticket but the ticket will remain open. NOTE: It is also possible to type a longer message than allowed when using the '-m' argument; to do this, skip the -m, and a vi window (on mac) will open in which an unlimited description may be typed. + +3. Click Commit to [branch]. This will save the changes to the cl-edit.owl file. + +4. Push: To incorporate the changes into the remote repository, click Publish branch. + + + + + + +## Open Source Etiquette + +- Be respectful in your requests and comments. +- Do not include any private information. +- GitHub sends notifications to your email, and you can respond via your email client. However, responses are posted publicly. Be sure to delete your email signature if it includes personal information, such as your phone number. +- Many ontologies have limited resources and personnel for development and maintenance. Please be patient with your requests. +- If your ticket/request has been unanswered for a long period of time, you may check in by commenting on the ticket. + + + +## Resources +* [A short video explaining what GitHub is](https://www.youtube.com/watch?v=w3jLJU7DT5E&feature=youtu.be) +* [Git and GitHub learning resources](https://docs.github.com/en/github/getting-started-with-github/git-and-github-learning-resources) +* [Understanding the GitHub flow](https://guides.github.com/introduction/flow/) +* [How to use GitHub branches](https://www.youtube.com/watch?v=H5GJfcp3p4Q&feature=youtu.be) +* [Interactive Git training materials](https://githubtraining.github.io/training-manual/#/01_getting_ready_for_class) +* [GitHub's Learning Lab](https://lab.github.com/) +* [Education community forum](https://education.github.community/) +* [GitHub community forum](https://github.community/) + + + + + + + +# Merging Branches + +## Merging Branches in VS Code Using the Command Palette + +1. **Open VS Code**: Launch Visual Studio Code. + +2. **Open the Command Palette**: + - Press `Ctrl+Shift+P` (Windows/Linux) or `Cmd+Shift+P` (Mac) to open the Command Palette. + +3. **Switch to the `master` (or `main`) Branch**: + - Type `Git: Checkout to...` and select it from the dropdown. + - Choose `master` or `main` from the list of branches. + +4. **Pull the Latest Changes (Optional but Recommended)**: + - Open the Command Palette again. + - Type `Git: Pull` and select it from the dropdown. + - Choose the remote branch you want to pull changes from, typically `origin/master` or `origin/main`. + +5. **Merge the `dev` Branch into `master` (or `main`)**: + - Open the Command Palette. + - Type `Git: Merge Branch...` and select it. + - Choose `dev` from the list of branches to merge into the currently checked-out branch (`master` or `main`). + +6. **Resolve Any Merge Conflicts**: + - If there are conflicts, VS Code will show them in the editor. Open the conflicted files. + - Use the inline merge conflict resolution tools provided by VS Code to resolve the conflicts. + +7. **Commit the Merge**: + - If conflicts were resolved, go to the Source Control view to commit the merge. + +8. **Push the Changes**: + - Open the Command Palette. + - Type `Git: Push` and select it to push the changes to the remote repository. + + +## Merging Branches in VS Code Using Source Control View + +1. **Open VS Code**: Launch Visual Studio Code. + +2. **Open the Source Control View**: + - Click on the Source Control icon in the [Activity Bar](https://code.visualstudio.com/docs/getstarted/userinterface) on the side of the window, or press `Ctrl+Shift+G` (Windows/Linux) or `Cmd+Shift+G` (Mac). + +3. **Switch to the `master` (or `main`) Branch**: + - Click on the branch name in the bottom-left corner of the Status Bar. + - Select `master` or `main` from the list of branches to switch to it. + +4. **Pull the Latest Changes (Optional but Recommended)**: + - Click on the ellipsis (`...`) in the Source Control view. + - Select `Pull` from the dropdown to fetch the latest changes from the remote repository. + +5. **Merge the `dev` Branch into `master` (or `main`)**: + - Click on the ellipsis (`...`) in the Source Control view. + - Select `Merge Branch...`. + - Choose `dev` from the list of branches to merge into the currently checked-out branch (`master` or `main`). + +6. **Resolve Any Merge Conflicts**: + - If there are conflicts, VS Code will highlight them in the editor. Open the conflicted files and use the inline tools to resolve them. + +7. **Commit the Merge**: + - If conflicts were resolved, you will see the merge changes in the Source Control view. Enter a commit message and commit the merge. + +8. **Push the Changes**: + - Click on the ellipsis (`...`) in the Source Control view. + - Select `Push` to push the merged changes to the remote repository. + + +## Merging Branches Using Git in the Command Line + +1. **Open Terminal and Navigate to Your Repository**: + - cd /path/to/your/repo + +2. **Fetch the Latest Changes from Remote (Optional but Recommended)**: + - git fetch origin + +3. **Switch to the Master (or Main) Branch**: + - git checkout master (or git checkout main) + +4. **Pull the Latest Changes to Master (or Main)**: + - git pull origin master (git pull origin main) + +5. **Merge the Dev Branch into Master (or Main)**: + - git merge dev + +6. **Resolve Any Merge Conflicts (If They Arise)**: + - Open conflicted files in a text editor and resolve conflicts. + - After resolving conflicts, add the resolved files: + - git add + +7. **Complete the Merge if There Were Conflicts**: + - git commit + +8. **Push the Changes to the Remote Repository**: + - git push origin master (git push origin main) diff --git a/documentation/Best Practices of Ontology Development.docx b/documentation/user-guides/Best Practices of Ontology Development.docx similarity index 100% rename from documentation/Best Practices of Ontology Development.docx rename to documentation/user-guides/Best Practices of Ontology Development.docx diff --git a/documentation/CCO Getting Started Guide.docx b/documentation/user-guides/CCO Getting Started Guide.docx similarity index 100% rename from documentation/CCO Getting Started Guide.docx rename to documentation/user-guides/CCO Getting Started Guide.docx diff --git a/documentation/user-guides/Common Core Ontologies 2024.pdf b/documentation/user-guides/Common Core Ontologies 2024.pdf new file mode 100644 index 0000000..fdf19a9 Binary files /dev/null and b/documentation/user-guides/Common Core Ontologies 2024.pdf differ diff --git a/imports/Readme.md b/imports/Readme.md deleted file mode 100644 index 69502da..0000000 --- a/imports/Readme.md +++ /dev/null @@ -1,4 +0,0 @@ -## Important Note -The Relations Ontology is no longer used. See here (ADD LINK) - -TODO: Add brief summary diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..208cfbe --- /dev/null +++ b/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Disallow: /documentation/images/ +Disallow: /archive/ +Disallow: /workflow/ \ No newline at end of file diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..5fb8c49 --- /dev/null +++ b/src/README.md @@ -0,0 +1,23 @@ +# CCO Source Files + +This directory contains versions of CCO, its modules, and extensions. + +## The Contents of this Repository + +* **cco-merged** - Contains the current CCO merged release file and an import file that is used to generate the merged CCO file. +* **cco extensions** - Contains versions of CCO extensions maintained by the governance board, such as the Modal Relations Ontology. +* **cco-modules** - Contains versions of the 11 CCO modules listed below: + +| Ontology Name | Description | +|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| **Geospatial Ontology** | An ontology whose scope is the representation of sites, spatial regions, and other entities, especially those that are located near the surface of Earth, as well as the relations that hold between them. | +| **Information Entity Ontology** | An ontology whose scope is the representation of generic types of information as well as the relationships between information and other entities. | +| **Event Ontology** | An ontology whose scope is the representation of processual entities, especially those performed by agents, that occur within multiple domains. | +| **Time Ontology** | An ontology whose scope is the representation of temporal regions and the relations that hold between them. | +| **Agent Ontology** | An ontology whose scope is the representation of agents, especially persons and organizations, and their roles. | +| **Quality Ontology** | An ontology whose scope is the representation of a range of attributes of entities especially qualities, realizable entities, and process profiles. | +| **Units of Measure Ontology** | An ontology whose scope is the representation of standard measurement units that are used when measuring various attributes of entities. | +| **Currency Unit Ontology** | An ontology whose scope is the representation of currencies that are issued and used by countries. | +| **Facility Ontology** | An ontology whose scope is the representation of buildings and campuses that are designed to serve some specific purpose, and which are common to multiple domains. | +| **Artifact Ontology** | An ontology whose scope is the representation of artifacts that are common to multiple domains along with their models, specifications, and functions. | +| **Extended Relations Ontology** | An ontology whose scope is the representation of the relations that hold between entities at the level of the mid-level Common Core Ontologies. | diff --git a/ModalRelationOntology.ttl b/src/cco-extensions/ModalRelationOntology.ttl similarity index 98% rename from ModalRelationOntology.ttl rename to src/cco-extensions/ModalRelationOntology.ttl index 644b891..2d18c92 100644 --- a/ModalRelationOntology.ttl +++ b/src/cco-extensions/ModalRelationOntology.ttl @@ -661,7 +661,7 @@ mro:affects rdf:type owl:ObjectProperty ; owl:inverseOf mro:is_affected_by ; rdfs:domain obo:BFO_0000015 ; rdfs:range obo:BFO_0000002 ; - cco:definition "p affects c iff p is an instance of a Process and c is an instance of a Continuant, such that p influences c in some manner, most often by producing a change in c."@en ; + cco:definition "x affects y iff x is an instance of Process and y is an instance of Continuant, and x influences y in some manner, most often by producing a change in y."@en ; cco:is_curated_in_ontology ; rdfs:label "affects"@en . @@ -759,7 +759,7 @@ mro:caused_by rdf:type owl:ObjectProperty ; owl:inverseOf mro:is_cause_of ; rdfs:domain obo:BFO_0000003 ; rdfs:range obo:BFO_0000003 ; - cco:definition "x caused_by y iff x and y are instances of occurrents, and x is a consequence of y."@en ; + cco:definition "x caused_by y iff x and y are instances of Occurrent, and x is a consequence of y."@en ; cco:is_curated_in_ontology ; rdfs:label "caused by"@en . @@ -1189,12 +1189,12 @@ mro:has_maternal_uncle rdf:type owl:ObjectProperty ; ### http://www.ontologyrepository.com/CommonCoreOntologies/ModalRelationOntology/has_member_of_located_in mro:has_member_of_located_in rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf mro:ModalObjectProperty ; + rdfs:subPropertyOf mro:has_some_member_of_located_in ; rdfs:domain obo:BFO_0000027 ; rdfs:range obo:BFO_0000040 ; - cco:definition "An instance of an Object Aggregate 'has member of located in' an instance of some material entity if and only if every member of that Aggregate is located in the same instance of that material entity."@en ; + cco:definition "x has all members of located in y iff x is an instance of Object Aggregate and y is an instance of Material Entity, and every member of x is located in y."@en ; cco:is_curated_in_ontology ; - rdfs:label "has member of located in"@en . + rdfs:label "has all members of located in"@en . ### http://www.ontologyrepository.com/CommonCoreOntologies/ModalRelationOntology/has_mother @@ -1368,6 +1368,14 @@ mro:has_sister_in_law rdf:type owl:ObjectProperty ; rdfs:label "has sister in law"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/ModalRelationOntology/has_some_member_of_located_in +mro:has_some_member_of_located_in rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf mro:ModalObjectProperty ; + cco:definition "x has member of located in y iff x is an instance of Object Aggregate and y is an instance of Material Entity, and at least one member of x is located in y."@en ; + cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology"^^xsd:anyURI ; + rdfs:label "has some member of located in"@en . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/ModalRelationOntology/has_son mro:has_son rdf:type owl:ObjectProperty ; rdfs:subPropertyOf mro:is_parent_of ; @@ -1736,7 +1744,7 @@ mro:is_affected_by rdf:type owl:ObjectProperty ; rdfs:subPropertyOf mro:BFO_0000056 ; rdfs:domain obo:BFO_0000002 ; rdfs:range obo:BFO_0000015 ; - cco:definition "c is_affected_by p iff p is an instance of a Process and c is an instance of a Continuant, such that p influences c in some manner, most often by producing a change in c."@en ; + cco:definition "x is_affected_by y iff x is an instance of Continuant and y is an instance of Process, such that y influences x in some manner, most often by producing a change in x."@en ; cco:is_curated_in_ontology ; rdfs:label "is affected by"@en . @@ -1795,7 +1803,7 @@ mro:is_cause_of rdf:type owl:ObjectProperty ; rdfs:subPropertyOf mro:ModalObjectProperty ; rdfs:domain obo:BFO_0000003 ; rdfs:range obo:BFO_0000003 ; - cco:definition "x is_cause_of y iff x and y are instances of occurrents, and y is a consequence of x."@en ; + cco:definition "x is_cause_of y iff x and y are instances of Occurrents and y is a consequence of x."@en ; cco:is_curated_in_ontology ; rdfs:label "is cause of"@en . @@ -2807,6 +2815,7 @@ mro:asWKT rdf:type owl:DatatypeProperty ; mro:has_URI_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:anyURI ; + cco:definition "A data property that has as its range a URI value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has URI value"@en . @@ -2823,6 +2832,7 @@ mro:has_altitude_value rdf:type owl:DatatypeProperty ; mro:has_boolean_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:boolean ; + cco:definition "A data property that has as its range a boolean value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has boolean value"@en . @@ -2830,6 +2840,7 @@ mro:has_boolean_value rdf:type owl:DatatypeProperty ; ### http://www.ontologyrepository.com/CommonCoreOntologies/ModalRelationOntology/has_date_value mro:has_date_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; + cco:definition "A data property that has as its range a date value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has date value"@en . @@ -2838,6 +2849,7 @@ mro:has_date_value rdf:type owl:DatatypeProperty ; mro:has_datetime_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:dateTime ; + cco:definition "A data property that has as its value a datetime value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has datetime value"@en . @@ -2846,6 +2858,7 @@ mro:has_datetime_value rdf:type owl:DatatypeProperty ; mro:has_decimal_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:decimal ; + cco:definition "A data property that has as its range a decimal value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has decimal value"@en . @@ -2854,6 +2867,7 @@ mro:has_decimal_value rdf:type owl:DatatypeProperty ; mro:has_double_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:double ; + cco:definition "A data property that has as its range a double value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has double value"@en . @@ -2862,6 +2876,7 @@ mro:has_double_value rdf:type owl:DatatypeProperty ; mro:has_integer_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:integer ; + cco:definition "A data property that has as its range an integer value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has integer value"@en . @@ -2885,8 +2900,12 @@ mro:has_longitude_value rdf:type owl:DatatypeProperty ; ### http://www.ontologyrepository.com/CommonCoreOntologies/ModalRelationOntology/has_text_value mro:has_text_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; - rdfs:range xsd:string ; - cco:definition "A relationship between an Information Bearing Entity and a string representation."@en ; + rdfs:range [ rdf:type rdfs:Datatype ; + owl:unionOf ( rdf:langString + xsd:string + ) + ] ; + cco:definition "A data property that has as its range a string value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ModalRelationOntology" ; rdfs:label "has text value"@en . diff --git a/src/cco-extensions/README.md b/src/cco-extensions/README.md new file mode 100644 index 0000000..5bc5033 --- /dev/null +++ b/src/cco-extensions/README.md @@ -0,0 +1,7 @@ +# CCO Extensions + +This directory contains extensions of CCO. + +## The Contents of this Repository + +* **Modal Relations Ontology** - The file contains modal counterparts to the object and data properties contained in CCO files and the bfo-core file. \ No newline at end of file diff --git a/imports/bfo-core.ttl b/src/cco-imports/bfo-core.ttl similarity index 100% rename from imports/bfo-core.ttl rename to src/cco-imports/bfo-core.ttl diff --git a/AllCoreOntology.ttl b/src/cco-merged/AllCoreOntology.ttl similarity index 100% rename from AllCoreOntology.ttl rename to src/cco-merged/AllCoreOntology.ttl diff --git a/cco-merged/MergedAllCoreOntology-v1.5-2024-02-14.ttl b/src/cco-merged/MergedAllCoreOntology-v1.5-2024-02-14.ttl similarity index 100% rename from cco-merged/MergedAllCoreOntology-v1.5-2024-02-14.ttl rename to src/cco-merged/MergedAllCoreOntology-v1.5-2024-02-14.ttl diff --git a/catalog-v001.xml b/src/cco-merged/catalog-v001.xml similarity index 73% rename from catalog-v001.xml rename to src/cco-merged/catalog-v001.xml index f9291c1..b3e49fe 100644 --- a/catalog-v001.xml +++ b/src/cco-merged/catalog-v001.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/AgentOntology.ttl b/src/cco-modules/AgentOntology.ttl similarity index 99% rename from AgentOntology.ttl rename to src/cco-modules/AgentOntology.ttl index 9eb4c42..6a737f9 100644 --- a/AgentOntology.ttl +++ b/src/cco-modules/AgentOntology.ttl @@ -1436,7 +1436,7 @@ cco:DivisonOfGeopoliticalEntity rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/EducationalOrganization cco:EducationalOrganization rdf:type owl:Class ; rdfs:subClassOf cco:Organization ; - cco:definition "An Organization whose purpose is to provide training or otherwise facilitate learning or the acquisition of knowledge, Skills, values, beliefs, or habits."@en ; + cco:definition "An Organization whose primary purpose is to provide training or otherwise facilitate learning or the acquisition of knowledge, Skills, values, beliefs, or habits."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=Education&oldid=1064011752"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology"^^xsd:anyURI ; rdfs:label "Educational Organization"@en . @@ -1455,7 +1455,7 @@ cco:Enemy rdf:type owl:Class ; rdfs:subClassOf cco:Person ; cco:definition "A Person who is the bearer of some Enemy Role."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology"^^xsd:anyURI ; - rdfs:label "Enemy"@en . + rdfs:label "Enemy Person"@en . ### http://www.ontologyrepository.com/CommonCoreOntologies/EnemyRole @@ -2259,4 +2259,4 @@ cco:Village rdf:type owl:Class ; rdfs:label "Village"@en . -### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi +### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi \ No newline at end of file diff --git a/ArtifactOntology.ttl b/src/cco-modules/ArtifactOntology.ttl similarity index 99% rename from ArtifactOntology.ttl rename to src/cco-modules/ArtifactOntology.ttl index aada2ac..0905682 100644 --- a/ArtifactOntology.ttl +++ b/src/cco-modules/ArtifactOntology.ttl @@ -595,8 +595,7 @@ cco:Certificate rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/Chart cco:Chart rdf:type owl:Class ; rdfs:subClassOf cco:Image ; - cco:definition "An Image that bears a table, lists, diagrams, or graphs."@en ; - cco:definition_source "Adapted from “Chart.” Merriam-Webster.com Dictionary, Merriam-Webster, https://www.merriam-webster.com/dictionary/chart. Accessed 4 Aug. 2024." ; + cco:definition "An Image that is designed to represent an Information Content Entity by means of Written Symbols in order to convey that information in a readily understandable format."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Chart"@en . @@ -671,7 +670,7 @@ cco:Code93Barcode rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/CodeList cco:CodeList rdf:type owl:Class ; rdfs:subClassOf cco:List ; - cco:definition "A List that contains an ordered sequence of Information Bearing Entities that bear Code Identifiers."@en ; + cco:definition "A List that represents an ordered sequence of Information Bearing Entities that bear Code Identifiers."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Code List"@en . @@ -768,6 +767,16 @@ cco:CommunicationSystem rdf:type owl:Class ; rdfs:label "Communication System"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/ComplexOpticalLens +cco:ComplexOpticalLens rdf:type owl:Class ; + rdfs:subClassOf cco:OpticalLens ; + cco:alternative_label "Lens System"@en ; + cco:definition "An Optical Lens consisting of more than one Simple Optical Lenses."@en ; + cco:definition_source "Hecht, Eugene (1987). Optics (2nd ed.). Addison Wesley. ISBN 978-0-201-11609-0. Chapters 5 & 6."@en ; + cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; + rdfs:label "Complex Optical Lens"@en . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/ComponentRole cco:ComponentRole rdf:type owl:Class ; rdfs:subClassOf obo:BFO_0000023 ; @@ -1666,7 +1675,7 @@ cco:FrictionReductionArtifactFunction rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/FuelArtifactFunction cco:FuelArtifactFunction rdf:type owl:Class ; rdfs:subClassOf cco:ArtifactFunction ; - cco:definition "An Artifact Function that is realized in processes of reacting with other substances in order to release chemical or nuclear energy as heat or ot be used for work."@en ; + cco:definition "An Artifact Function that is realized in processes in which a Portion of Fuel is reacted with other substances in order to release chemical or nuclear energy to be used for heat or for work."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=Fuel&oldid=1063590518"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Fuel Artifact Function"@en . @@ -2409,7 +2418,7 @@ cco:LegalInstrument rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/LifeSupportArtifactFunction cco:LifeSupportArtifactFunction rdf:type owl:Class ; rdfs:subClassOf cco:ArtifactFunction ; - cco:definition "An Artifact Function that is realized during events in which an Artifact is used to enable an organism to continue living in a situation where death would otherwise occur."@en ; + cco:definition "An Artifact Function that is realized during events in which an Artifact materially affects an organism, where this causes that organism to continue living in a situation where death would otherwise occur."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Life Support Artifact Function"@en . @@ -2442,7 +2451,7 @@ cco:LightingSystem rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/List cco:List rdf:type owl:Class ; rdfs:subClassOf cco:InformationBearingArtifact ; - cco:definition "An Information Bearing Artifact that contains an ordered sequence of values, where the same value may occur more than once."@en ; + cco:definition "An Information Bearing Artifact that represents an ordered sequence of values, where the same value may occur more than once."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=List_(abstract_data_type)&oldid=1041588680"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "List"@en . @@ -2538,7 +2547,7 @@ cco:MeasurementArtifactFunction rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/MedicalArtifact cco:MedicalArtifact rdf:type owl:Class ; rdfs:subClassOf cco:Artifact ; - cco:definition "A Material Artifact that is designed for diagnosing, treating, or preventing disease or disability."@en ; + cco:definition "A Material Artifact that is designed for diagnosing, treating, or preventing disease, disability, or death."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Medical Artifact"@en . @@ -3097,7 +3106,7 @@ cco:PortionOfFood rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/PortionOfFuel cco:PortionOfFuel rdf:type owl:Class ; rdfs:subClassOf cco:PortionOfMaterial ; - cco:definition "A Portion of Material that is designed to be used as an input in a Combustion process."@en ; + cco:definition "A Portion of Material that is designed to release thermal energy when reacted with other substances."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Portion of Fuel"@en . @@ -3598,7 +3607,7 @@ cco:RadioCommunicationInterferenceArtifactFunction rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/RadioCommunicationReceptionArtifactFunction cco:RadioCommunicationReceptionArtifactFunction rdf:type owl:Class ; rdfs:subClassOf cco:CommunicationReceptionArtifactFunction ; - cco:definition "A Communication Reception Artifact Function that inheres in an Artifact that is capable of receiving information transmitted from another Artifact to which it is not connected by an electrical conductor."@en ; + cco:definition "A Communication Reception Artifact Function that is realized during events in which an Artifact receives information transmitted from another Artifact, where the transmission of information occurs using radio waves."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Radio Communication Reception Artifact Function"@en . @@ -4168,6 +4177,14 @@ cco:SignalProcessingArtifactFunction rdf:type owl:Class ; rdfs:label "Signal Processing Artifact Function"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/SimpleOpticalLens +cco:SimpleOpticalLens rdf:type owl:Class ; + rdfs:subClassOf cco:OpticalLens ; + cco:definition "An Optical Lens consisting of a single piece of transparent material."@en ; + cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; + rdfs:label "Simple Optical Lens"@en . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/SniperRifle cco:SniperRifle rdf:type owl:Class ; rdfs:subClassOf cco:Rifle ; @@ -4383,7 +4400,7 @@ cco:SystemClock rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/SystemRole cco:SystemRole rdf:type owl:Class ; rdfs:subClassOf obo:BFO_0000023 ; - cco:definition "A Role that inheres in an entity in virtue of it being an arrangement of parts or elements that together exhibit behavior or meaning that the individual constituents do not."@en ; + cco:definition "A Role that inheres in an entity in virtue of its parts or elements being arranged in such a way that they together exhibit behavior or meaning that they do not exhibit individually."@en ; cco:definition_source "https://www.incose.org/about-systems-engineering/system-and-se-definition/general-system-definition"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "System Role"@en . @@ -4751,7 +4768,7 @@ cco:TurbojetAirBreathingJetEngine rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/TwoDimensionalBarCode cco:TwoDimensionalBarCode rdf:type owl:Class ; rdfs:subClassOf cco:Barcode ; - cco:definition "A Barcode that consists of a two-dimensional symbol pattern."@en ; + cco:definition "A Barcode whose concretizations consist of two-dimensional symbol patterns."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Two-Dimensional Barcode"@en . @@ -5019,7 +5036,7 @@ cco:WiredCommunicationArtifactFunction rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/WiredCommunicationReceptionArtifactFunction cco:WiredCommunicationReceptionArtifactFunction rdf:type owl:Class ; rdfs:subClassOf cco:CommunicationReceptionArtifactFunction ; - cco:definition "A Communication Reception Artifact Function that inheres in an Artifact that is capable of receiving information transmitted from another Artifact to which it is connected by an electrical conductor."@en ; + cco:definition "A Communication Reception Artifact Function that is realized during events in which an Artifact receives information transmitted from another Artifact, where the transmission of information occurs via a direct connection using an electrical conductor."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology"^^xsd:anyURI ; rdfs:label "Wired Communication Reception Artifact Function"@en . @@ -5060,4 +5077,4 @@ cco:XRayTelescope rdf:type owl:Class ; rdfs:label "X-ray Telescope"@en . -### Generated by the OWL API (version 4.5.26.2023-07-17T20:34:13Z) https://github.com/owlcs/owlapi +### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi \ No newline at end of file diff --git a/CurrencyUnitOntology.ttl b/src/cco-modules/CurrencyUnitOntology.ttl similarity index 100% rename from CurrencyUnitOntology.ttl rename to src/cco-modules/CurrencyUnitOntology.ttl diff --git a/EventOntology.ttl b/src/cco-modules/EventOntology.ttl similarity index 98% rename from EventOntology.ttl rename to src/cco-modules/EventOntology.ttl index b75e06e..15a8294 100644 --- a/EventOntology.ttl +++ b/src/cco-modules/EventOntology.ttl @@ -290,6 +290,15 @@ cco:ActOfContractFormation rdf:type owl:Class ; rdfs:label "Act of Contract Formation"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/ActOfDataTransformation +cco:ActOfDataTransformation rdf:type owl:Class ; + rdfs:subClassOf cco:ActOfInformationProcessing ; + cco:definition "An Act of Information Processing in which an algorithm is executed to act upon one or more input Information Content Entities into one or more output Information Content Entities."@en ; + cco:elucidation "It is not a requirement that the output Information Content Entity(ies) be qualitatively distinct from the input(s) as a result of an Act of Data Transformation, though doing so is typically the goal of performing this Act. Consider, for example, selecting a column in an Excel spreadsheet then executing the \\\"Remove Duplicates\\\" Algorithm on it. The intent is to remove rows in that column containing duplicate content. If no duplicate values are present, the information in the column remains unchanged but an Act of Data Transformation was nonetheless performed."@en ; + cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology"^^xsd:anyURI ; + rdfs:label "Act of Data Transformation"@en . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/ActOfDeceptiveCommunication cco:ActOfDeceptiveCommunication rdf:type owl:Class ; rdfs:subClassOf cco:ActOfCommunication ; @@ -501,6 +510,14 @@ cco:ActOfIdentifying rdf:type owl:Class ; rdfs:label "Act of Identifying"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/ActOfInformationProcessing +cco:ActOfInformationProcessing rdf:type owl:Class ; + rdfs:subClassOf cco:IntentionalAct ; + cco:definition "A Planned Act in which one or more input Information Content Entities are received, manipulated, transferred, or stored by an Agent."@en ; + cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology"^^xsd:anyURI ; + rdfs:label "Act of Information Processing"@en . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/ActOfInhabitancy cco:ActOfInhabitancy rdf:type owl:Class ; rdfs:subClassOf cco:IntentionalAct ; @@ -1249,7 +1266,7 @@ cco:Cause rdf:type owl:Class ; owl:equivalentClass [ owl:intersectionOf ( obo:BFO_0000015 [ rdf:type owl:Restriction ; owl:onProperty cco:is_cause_of ; - owl:someValuesFrom obo:BFO_0000003 + owl:someValuesFrom obo:BFO_0000015 ] ) ; rdf:type owl:Class @@ -1367,8 +1384,8 @@ cco:DecreaseOfDisposition rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/DecreaseOfFunction cco:DecreaseOfFunction rdf:type owl:Class ; - rdfs:subClassOf cco:DecreaseOfRealizableEntity ; - cco:definition "A Decrease of Realizable Entity in which some Independent Continuant has a decrease of some Function that it bears."@en ; + rdfs:subClassOf cco:DecreaseOfDisposition ; + cco:definition "A Decrease of Disposition in which some Independent Continuant has a decrease of some Function that it bears."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology"^^xsd:anyURI ; rdfs:label "Decrease of Function"@en . @@ -1444,7 +1461,7 @@ cco:Effect rdf:type owl:Class ; owl:equivalentClass [ owl:intersectionOf ( obo:BFO_0000015 [ rdf:type owl:Restriction ; owl:onProperty cco:caused_by ; - owl:someValuesFrom obo:BFO_0000003 + owl:someValuesFrom obo:BFO_0000015 ] ) ; rdf:type owl:Class @@ -1687,7 +1704,7 @@ cco:GainOfDisposition rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/GainOfFunction cco:GainOfFunction rdf:type owl:Class ; - rdfs:subClassOf cco:GainOfRealizableEntity , + rdfs:subClassOf cco:GainOfDisposition , [ rdf:type owl:Restriction ; owl:onProperty obo:BFO_0000057 ; owl:someValuesFrom [ owl:intersectionOf ( obo:BFO_0000004 @@ -1699,7 +1716,7 @@ cco:GainOfFunction rdf:type owl:Class ; rdf:type owl:Class ] ] ; - cco:definition "A Gain of Realizable Entity in which some Independent Continuant becomes the bearer of some Function."@en ; + cco:definition "A Gain of Disposition in which some Independent Continuant becomes the bearer of some Function."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology"^^xsd:anyURI ; rdfs:comment "This class should be used to demarcate the start of the temporal interval (through the BFO 'occupies temporal region' property) that the Entity bears the Function."@en ; rdfs:label "Gain of Function"@en . @@ -1875,8 +1892,8 @@ cco:IncreaseOfDisposition rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/IncreaseOfFunction cco:IncreaseOfFunction rdf:type owl:Class ; - rdfs:subClassOf cco:IncreaseOfRealizableEntity ; - cco:definition "An Increase of Realizable Entity in which some Independent Continuant has an increase of some Function that it bears."@en ; + rdfs:subClassOf cco:IncreaseOfDisposition ; + cco:definition "An Increase of Disposition in which some Independent Continuant has an increase of some Function that it bears."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology"^^xsd:anyURI ; rdfs:label "Increase of Function"@en . @@ -2008,8 +2025,8 @@ cco:LossOfDisposition rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/LossOfFunction cco:LossOfFunction rdf:type owl:Class ; - rdfs:subClassOf cco:LossOfRealizableEntity ; - cco:definition "A Loss of Realizable Entity in which some Independent Continuant ceases to be the bearer of some Function."@en ; + rdfs:subClassOf cco:LossOfDisposition ; + cco:definition "A Loss of Disposition in which some Independent Continuant ceases to be the bearer of some Function."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology"^^xsd:anyURI ; rdfs:label "Loss of Function"@en . @@ -3117,4 +3134,4 @@ cco:XrayFrequency rdf:type owl:Class ; rdfs:label "X-ray Frequency"@en . -### Generated by the OWL API (version 4.5.26.2023-07-17T20:34:13Z) https://github.com/owlcs/owlapi +### Generated by the OWL API (version 4.5.26.2023-07-17T20:34:13Z) https://github.com/owlcs/owlapi \ No newline at end of file diff --git a/ExtendedRelationOntology.ttl b/src/cco-modules/ExtendedRelationOntology.ttl similarity index 96% rename from ExtendedRelationOntology.ttl rename to src/cco-modules/ExtendedRelationOntology.ttl index 56bda50..33993e8 100644 --- a/ExtendedRelationOntology.ttl +++ b/src/cco-modules/ExtendedRelationOntology.ttl @@ -270,7 +270,7 @@ cco:affects rdf:type owl:ObjectProperty ; owl:inverseOf cco:is_affected_by ; rdfs:domain obo:BFO_0000015 ; rdfs:range obo:BFO_0000002 ; - cco:definition "p affects c iff p is an instance of a Process and c is an instance of a Continuant, such that p influences c in some manner, most often by producing a change in c."@en ; + cco:definition "x affects y iff x is an instance of Process and y is an instance of Continuant, and x influences y in some manner, most often by producing a change in y."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology"^^xsd:anyURI ; rdfs:label "affects"@en . @@ -325,7 +325,7 @@ cco:caused_by rdf:type owl:ObjectProperty ; owl:inverseOf cco:is_cause_of ; rdfs:domain obo:BFO_0000003 ; rdfs:range obo:BFO_0000003 ; - cco:definition "x caused_by y iff x and y are instances of occurrents, and x is a consequence of y."@en ; + cco:definition "x caused_by y iff x and y are instances of Occurrent, and x is a consequence of y."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology"^^xsd:anyURI ; rdfs:label "caused by"@en . @@ -390,11 +390,12 @@ cco:has_input rdf:type owl:ObjectProperty ; ### http://www.ontologyrepository.com/CommonCoreOntologies/has_member_of_located_in cco:has_member_of_located_in rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf cco:has_some_member_of_located_in ; rdfs:domain obo:BFO_0000027 ; rdfs:range obo:BFO_0000040 ; - cco:definition "An instance of an Object Aggregate 'has member of located in' an instance of some material entity if and only if every member of that Aggregate is located in the same instance of that material entity."@en ; + cco:definition "x has all members of located in y iff x is an instance of Object Aggregate and y is an instance of Material Entity, and every member of x is located in y."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology"^^xsd:anyURI ; - rdfs:label "has member of located in"@en . + rdfs:label "has all members of located in"@en . ### http://www.ontologyrepository.com/CommonCoreOntologies/has_object @@ -429,6 +430,14 @@ cco:has_process_part rdf:type owl:ObjectProperty ; rdfs:label "has process part"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/has_some_member_of_located_in +cco:has_some_member_of_located_in rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty ; + cco:definition "x has member of located in y iff x is an instance of Object Aggregate and y is an instance of Material Entity, and at least one member of x is located in y."@en ; + cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology"^^xsd:anyURI ; + rdfs:label "has some member of located in"@en . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/inheres_in_aggregate cco:inheres_in_aggregate rdf:type owl:ObjectProperty ; rdfs:domain [ rdf:type owl:Class ; @@ -466,7 +475,7 @@ cco:is_affected_by rdf:type owl:ObjectProperty ; rdfs:subPropertyOf obo:BFO_0000056 ; rdfs:domain obo:BFO_0000002 ; rdfs:range obo:BFO_0000015 ; - cco:definition "c is_affected_by p iff p is an instance of a Process and c is an instance of a Continuant, such that p influences c in some manner, most often by producing a change in c."@en ; + cco:definition "x is_affected_by y iff x is an instance of Continuant and y is an instance of Process, and y influences x in some manner, most often by producing a change in x."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology"^^xsd:anyURI ; rdfs:label "is affected by"@en . @@ -475,7 +484,7 @@ cco:is_affected_by rdf:type owl:ObjectProperty ; cco:is_cause_of rdf:type owl:ObjectProperty ; rdfs:domain obo:BFO_0000003 ; rdfs:range obo:BFO_0000003 ; - cco:definition "x is_cause_of y iff x and y are instances of occurrents, and y is a consequence of x."@en ; + cco:definition "x is_cause_of y iff x and y are instances of Occurrent, and y is a consequence of x."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology"^^xsd:anyURI ; rdfs:label "is cause of"@en . diff --git a/FacilityOntology.ttl b/src/cco-modules/FacilityOntology.ttl similarity index 99% rename from FacilityOntology.ttl rename to src/cco-modules/FacilityOntology.ttl index 2de52c3..e4dfaf5 100644 --- a/FacilityOntology.ttl +++ b/src/cco-modules/FacilityOntology.ttl @@ -800,7 +800,7 @@ cco:WashingFacility rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/WasteManagementFacility cco:WasteManagementFacility rdf:type owl:Class ; rdfs:subClassOf cco:Facility ; - cco:definition "A Facility that is designed for managing waste from its inception to its final disposal."@en ; + cco:definition "A Facility that is designed for managing waste for some portion of the waste's existence."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=Waste_management&oldid=1062844209"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/FacilityOntology"^^xsd:anyURI ; rdfs:label "Waste Management Facility"@en . @@ -842,4 +842,4 @@ cco:WindFarm rdf:type owl:Class ; rdfs:label "Wind Farm"@en . -### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi +### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi \ No newline at end of file diff --git a/GeospatialOntology.ttl b/src/cco-modules/GeospatialOntology.ttl similarity index 95% rename from GeospatialOntology.ttl rename to src/cco-modules/GeospatialOntology.ttl index b8d93b1..fb1e403 100644 --- a/GeospatialOntology.ttl +++ b/src/cco-modules/GeospatialOntology.ttl @@ -264,7 +264,7 @@ cco:ConstructedFeature rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/Continent cco:Continent rdf:type owl:Class ; rdfs:subClassOf cco:GeospatialRegion ; - cco:definition "A Geospatial Region bounded by any of the Earth's main continuous expanses of land."@en ; + cco:definition "A Geospatial Region that is bounded by any of the Earth's main continuous expanses of land."@en ; cco:definition_source "JC3IEDM version 3.0.2" ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Continent"@en . @@ -297,15 +297,15 @@ cco:GeographicFeature rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/GeospatialBoundary cco:GeospatialBoundary rdf:type owl:Class ; rdfs:subClassOf obo:BFO_0000142 ; - cco:definition "A One-Dimensional Continuant Fiat Boundary that is a boundary of some Geospatial Region."@en ; + cco:definition "A Fiat Line that is a boundary of some Geospatial Region."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; - rdfs:label "Geospatial Boundary"@en . + rdfs:label "One-Dimensional Geospatial Boundary"@en . ### http://www.ontologyrepository.com/CommonCoreOntologies/GeospatialEllipse cco:GeospatialEllipse rdf:type owl:Class ; - rdfs:subClassOf cco:GeospatialLineString ; - cco:definition "A Geospatial Boundary that is formed by following a symmetric arc between four vertices which are connected to the center point of the ellipse via a straight line."@en ; + rdfs:subClassOf cco:GeospatialBoundary ; + cco:definition "A One-Dimensional Geospatial Boundary that is formed by following a symmetric arc between four vertices which are connected to the center point of the ellipse via a straight line."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Geospatial Ellipse"@en . @@ -313,7 +313,7 @@ cco:GeospatialEllipse rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/GeospatialErrorRegion cco:GeospatialErrorRegion rdf:type owl:Class ; rdfs:subClassOf cco:GeospatialBoundary ; - cco:definition "A Geospatial Boundary that bounds some Geospatial Region according to probability estimations for locating some object within it."@en ; + cco:definition "A One-Dimensional Geospatial Boundary that bounds some Geospatial Region according to probability estimations for locating some object within it."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Geospatial Error Region"@en . @@ -329,7 +329,7 @@ cco:GeospatialLine rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/GeospatialLineString cco:GeospatialLineString rdf:type owl:Class ; rdfs:subClassOf cco:GeospatialBoundary ; - cco:definition "A Geospatial Boundary that has two or more Geospatial Positions as vertices, where each vertex is connected to only one other vertex by a straight line."@en ; + cco:definition "A One-Dimensional Geospatial Boundary that has two or more Geospatial Positions as vertices, where each vertex is connected to only one other vertex by a straight line."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Geospatial Line String"@en . @@ -341,7 +341,7 @@ cco:GeospatialLocation rdf:type owl:Class ; owl:onProperty obo:BFO_0000124 ; owl:someValuesFrom obo:BFO_0000001 ] ; - cco:definition "A Geospatial Region at which an Entity or Event is located."@en ; + cco:definition "A Geospatial Region that is at which an Entity or Event is located."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Geospatial Location"@en . @@ -357,7 +357,7 @@ cco:GeospatialPolygon rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/GeospatialPosition cco:GeospatialPosition rdf:type owl:Class ; rdfs:subClassOf obo:BFO_0000147 ; - cco:definition "A zero-dimensional continuant fiat boundary that is at or near the surface of the Earth and fixed according to some Geospatial Coordinate Reference System."@en ; + cco:definition "A Fiat Point that is at or near the surface of the Earth and fixed according to some Geospatial Coordinate Reference System."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Geospatial Position"@en . @@ -365,7 +365,7 @@ cco:GeospatialPosition rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/GeospatialRegion cco:GeospatialRegion rdf:type owl:Class ; rdfs:subClassOf obo:BFO_0000029 ; - cco:definition "A Site at or near the surface of the Earth."@en ; + cco:definition "A Site that is at or near the surface of the Earth."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Geospatial Region"@en . @@ -496,7 +496,7 @@ cco:PhysiographicFeature rdf:type owl:Class ; cco:PitchAxis rdf:type owl:Class ; rdfs:subClassOf cco:AxisOfRotation ; cco:alternative_label "Lateral Axis"@en ; - cco:definition "An Axis of Rotation that passes through the center of an object's Mass from one side of the object to the other and is perpendicular to the direction of the object's motion."@en ; + cco:definition "An Axis of Rotation that passes through the center of an object's Mass and is perpendicular both to the direction of the object's motion and to the object's Yaw Axis."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Pitch Axis"@en . @@ -567,7 +567,7 @@ cco:RollAxis rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/SeaLevel cco:SeaLevel rdf:type owl:Class ; rdfs:subClassOf obo:BFO_0000146 ; - cco:definition "A two-dimensional continuant fiat boundary that divides the spheroid composed of Earth and its atmosphere at some point that corresponds to the mean level of calm water in the Earth’s oceans."@en ; + cco:definition "A Fiat Surface that divides the spheroid composed of Earth and its atmosphere at some point that corresponds to the mean level of calm water in the Earth’s oceans."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Sea Level"@en . @@ -591,7 +591,7 @@ cco:SemiMinorAxis rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/Subcontinent cco:Subcontinent rdf:type owl:Class ; rdfs:subClassOf cco:GeospatialRegion ; - cco:definition "A Geospatial Region bounded by a large, relatively self-contained landmass forming a subdivision of a Continent."@en ; + cco:definition "A Geospatial Region that is bounded by a large, relatively self-contained landmass forming a subdivision of a Continent."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=Continent&oldid=1064057312"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/GeospatialOntology"^^xsd:anyURI ; rdfs:label "Subcontinent"@en . @@ -660,4 +660,4 @@ cco:zAxis rdf:type owl:Class ; rdfs:label "z-Axis"@en . -### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi +### Generated by the OWL API (version 4.5.25.2023-02-15T19:15:49Z) https://github.com/owlcs/owlapi diff --git a/InformationEntityOntology.ttl b/src/cco-modules/InformationEntityOntology.ttl similarity index 98% rename from InformationEntityOntology.ttl rename to src/cco-modules/InformationEntityOntology.ttl index e05f625..2ce4430 100644 --- a/InformationEntityOntology.ttl +++ b/src/cco-modules/InformationEntityOntology.ttl @@ -387,6 +387,7 @@ cco:uses_time_zone_identifier rdf:type owl:ObjectProperty ; cco:has_URI_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:anyURI ; + cco:definition "A data property that has as its range a URI value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has URI value"@en . @@ -395,6 +396,7 @@ cco:has_URI_value rdf:type owl:DatatypeProperty ; cco:has_boolean_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:boolean ; + cco:definition "A data property that has as its range a boolean value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has boolean value"@en . @@ -402,6 +404,7 @@ cco:has_boolean_value rdf:type owl:DatatypeProperty ; ### http://www.ontologyrepository.com/CommonCoreOntologies/has_date_value cco:has_date_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; + cco:definition "A data property that has as its range a date value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has date value"@en . @@ -410,6 +413,7 @@ cco:has_date_value rdf:type owl:DatatypeProperty ; cco:has_datetime_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:dateTime ; + cco:definition "A data property that has as its value a datetime value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has datetime value"@en . @@ -418,6 +422,7 @@ cco:has_datetime_value rdf:type owl:DatatypeProperty ; cco:has_decimal_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:decimal ; + cco:definition "A data property that has as its range a decimal value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has decimal value"@en . @@ -426,6 +431,7 @@ cco:has_decimal_value rdf:type owl:DatatypeProperty ; cco:has_double_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:double ; + cco:definition "A data property that has as its range a double value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has double value"@en . @@ -434,6 +440,7 @@ cco:has_double_value rdf:type owl:DatatypeProperty ; cco:has_integer_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; rdfs:range xsd:integer ; + cco:definition "A data property that has as its range an integer value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has integer value"@en . @@ -441,8 +448,12 @@ cco:has_integer_value rdf:type owl:DatatypeProperty ; ### http://www.ontologyrepository.com/CommonCoreOntologies/has_text_value cco:has_text_value rdf:type owl:DatatypeProperty ; rdfs:domain cco:InformationBearingEntity ; - rdfs:range xsd:string ; - cco:definition "A relationship between an Information Bearing Entity and a string representation."@en ; + rdfs:range [ rdf:type rdfs:Datatype ; + owl:unionOf ( rdf:langString + xsd:string + ) + ] ; + cco:definition "A data property that has as its range a string value."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "has text value"@en . @@ -471,7 +482,7 @@ cco:Acronym rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/Algorithm cco:Algorithm rdf:type owl:Class ; rdfs:subClassOf cco:DirectiveInformationContentEntity ; - cco:definition "A Directive Information Content Entity that prescribes the inputs and output of mathematical functions as well as workflow of execution for achieving a predefined objective."@en ; + cco:definition "A Directive Information Content Entity that prescribes some Process and contains a finite sequence of unambiguous instructions in order to achieve some Objective."@en ; cco:definition_source "http://purl.obolibrary.org/obo/IAO_0000064"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology"^^xsd:anyURI ; rdfs:label "Algorithm"@en . @@ -498,7 +509,7 @@ cco:ArtifactVersionOrdinality rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/ArtificialLanguage cco:ArtificialLanguage rdf:type owl:Class ; rdfs:subClassOf cco:Language ; - owl:disjointWith cco:NautralLanguage ; + owl:disjointWith cco:NaturalLanguage ; cco:definition "A Language that is developed through conscious planning and premeditation, rather than one that was developed through use and repetition."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=Constructed_language&oldid=1062733589"^^xsd:anyURI ; cco:example_of_usage "Esperanto" , @@ -1012,8 +1023,8 @@ cco:ModePointEstimateInformationContentEntity rdf:type owl:Class ; rdfs:label "Mode Point Estimate Information Content Entity"@en . -### http://www.ontologyrepository.com/CommonCoreOntologies/NautralLanguage -cco:NautralLanguage rdf:type owl:Class ; +### http://www.ontologyrepository.com/CommonCoreOntologies/NaturalLanguage +cco:NaturalLanguage rdf:type owl:Class ; rdfs:subClassOf cco:Language ; cco:definition "A Language that is developed and evolves through use and repetition, rather than through conscious planning or premeditation."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=Natural_language&oldid=1060890461"^^xsd:anyURI ; @@ -1880,6 +1891,14 @@ cco:InternationalAtomicTime rdf:type owl:NamedIndividual , rdfs:label "International Atomic Time"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/InternationalGeomagneticReferenceField +cco:InternationalGeomagneticReferenceField rdf:type owl:NamedIndividual , + cco:GeospatialCoordinateReferenceSystem ; + cco:definition_source "Alken, P., Thébault, E., Beggan, C.D. et al. International Geomagnetic Reference Field: the thirteenth generation. Earth Planets Space 73, 49 (2021). https://doi.org/10.1186/s40623-020-01288-x , https://www.iaga-aiga.org/" ; + rdfs:comment "This global main field model provides magnetic field values for any location on Earth, e.g. for navigational purposes (declination) or as a standard for core field subtraction for aeromagnetic surveys. An updated version is adopted by International Association of Geomagnetism and Aeronomy (IAGA) every 5 years)."@en ; + rdfs:label "International Geomagnetic Reference Field"@en . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/InternationalTerrestrialReferenceSystem cco:InternationalTerrestrialReferenceSystem rdf:type owl:NamedIndividual , cco:GeospatialCoordinateReferenceSystem ; @@ -2203,4 +2222,4 @@ cco:ZuluTimeZone rdf:type owl:NamedIndividual , rdfs:label "Zulu Time Zone"@en . -### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi +### Generated by the OWL API (version 4.5.25.2023-02-15T19:15:49Z) https://github.com/owlcs/owlapi diff --git a/QualityOntology.ttl b/src/cco-modules/QualityOntology.ttl similarity index 99% rename from QualityOntology.ttl rename to src/cco-modules/QualityOntology.ttl index 03c9cd6..3fddf15 100644 --- a/QualityOntology.ttl +++ b/src/cco-modules/QualityOntology.ttl @@ -191,7 +191,7 @@ cco:ConcaveShape rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/ConeShape cco:ConeShape rdf:type owl:Class ; rdfs:subClassOf cco:ThreeDimensionalShape ; - cco:definition "A Three Dimensional Shape that inheres in a bearer in virtue of it having a flat base with sides that taper smoothly to an apex."@en ; + cco:definition "A Three Dimensional Shape that inheres in a bearer in virtue of it having a Round base that tapers smoothly to an apex."@en ; cco:definition_source "https://en.wikipedia.org/w/index.php?title=Cone&oldid=1058362269"^^xsd:anyURI ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/QualityOntology"^^xsd:anyURI ; rdfs:label "Cone Shape"@en . @@ -736,7 +736,7 @@ cco:SpatialOrientation rdf:type owl:Class ; ### http://www.ontologyrepository.com/CommonCoreOntologies/Spherical cco:Spherical rdf:type owl:Class ; rdfs:subClassOf cco:ThreeDimensionalShape ; - cco:definition "A Three Dimensional Shape inhering in a bearer in virtue of it having round cross sections."@en ; + cco:definition "A Three Dimensional Shape inhering in a bearer in virtue of all of its cross sections being round."@en ; cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/QualityOntology"^^xsd:anyURI ; rdfs:label "Spherical"@en . @@ -965,4 +965,4 @@ cco:Yellow rdf:type owl:Class ; rdfs:label "Yellow"@en . -### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi +### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi \ No newline at end of file diff --git a/TimeOntology.ttl b/src/cco-modules/TimeOntology.ttl similarity index 100% rename from TimeOntology.ttl rename to src/cco-modules/TimeOntology.ttl diff --git a/UnitsOfMeasureOntology.ttl b/src/cco-modules/UnitsOfMeasureOntology.ttl similarity index 98% rename from UnitsOfMeasureOntology.ttl rename to src/cco-modules/UnitsOfMeasureOntology.ttl index e283ab9..84b5323 100644 --- a/UnitsOfMeasureOntology.ttl +++ b/src/cco-modules/UnitsOfMeasureOntology.ttl @@ -1,5 +1,6 @@ @prefix : . @prefix cco: . +@prefix dc: . @prefix obo: . @prefix owl: . @prefix rdf: . @@ -477,6 +478,23 @@ cco:DecibelMeasurementUnit rdf:type owl:NamedIndividual , rdfs:label "Decibel Measurement Unit"@en . +### http://www.ontologyrepository.com/CommonCoreOntologies/DecibelIsotropicMeasurementUnit +cco:DecibelIsotropicMeasurementUnit rdf:type owl:NamedIndividual , + cco:MeasurementUnitOfPower ; + cco:SI_unit_symbol "dBi" ; + rdfs:label "Decibel Isotropic Measurement Unit"@en ; + cco:alternative_label "Decibels Relative to Isotrope" ; + cco:alternative_label "Decibels Relative to Isotropic Radiator" ; + cco:alternative_label "Decibels Over Isotropic" ; + cco:alternative_label "Decibels Over Isotropic Antenna" ; + cco:alternative_label "Decibels Relative to an Isotropic Reference Antenna" ; + cco:definition_source "https://www.techtarget.com/whatis/definition/decibels-relative-to-isotropic-radiator-dBi"^^xsd:anyURI ; + cco:definition_source "https://shopdelta.eu/dbi-power-gain-of-isotropic-antenna_l2_aid836.html"^^xsd:anyURI ; + cco:is_curated_in_ontology "http://www.ontologyrepository.com/CommonCoreOntologies/Mid/UnitsOfMeasureOntology"^^xsd:anyURI ; + dc:contributor "Donna Jones" ; + dc:contributor "Olivia Hobai" . + + ### http://www.ontologyrepository.com/CommonCoreOntologies/DecigramMeasurementUnit cco:DecigramMeasurementUnit rdf:type owl:NamedIndividual , cco:MeasurementUnitOfMass ;