ucoProject / UCO

This repository is for development of the Unified Cyber Ontology.
Apache License 2.0
79 stars 34 forks source link

UCO usage of upstream design vocabularies needs a typo checker #488

Closed ajnelson-nist closed 1 year ago

ajnelson-nist commented 1 year ago

Background

UCO uses four concept namespaces to define its ontology:

Each of these namespaces has a fixed set of members, such as owl:Class, with defined semantics. The members have IRIs that should be treated as case-sensitive when programming, due to some programming languages' case sensitivity.

Unfortunately, some of these concepts are easy to spell incorrectly, or misinterpret as existing or not, and this can have consequences for some RDF systems.

A mechanism exists in rdflib that can report when a non-member is referenced in a "Closed namespace". UCO should adopt that mechanism within the ontology repository, as part of testing its usage of ontology-implementation vocabularies.

Requirements

Requirement 1

Non-Requirements

This requirement is deferred for a future Issue, in order to postpone downstream-implementation logistics (particularly around pytest) and treat the current Issue as a fast-track proposal.

  • UCO's review mechanism must be consumable by UCO adopting ontologies, such as CASE.

Usage of ClosedNamespace for UCO concepts is left as out-of-scope of this Issue, as a matter of Python library support.

Usage of SHACL-SHACL is left as out-of-scope of this Issue, so this Issue may focus on concept typo review rather than standardized SHACL-based review of SHACL shapes.

Risk / Benefit analysis

This Issue is proposed for fast-track consideration because not having implemented it to date has been recognized as having caused errors. (See Background.)

Benefits

Risks

No appreciable risks are known.

Competencies demonstrated

Competency 1

UCO's implementation status as of 1.0.0 has certain incorrect concept references in it.

Competency Question 1.1

What are the incorrect concept references in UCO 1.0.0?

Result 1.1

The unit test's implementation notes these erroneous concept references:

Solution suggestion

Coordination

ajnelson-nist commented 1 year ago

I should clarify something about the Oct. 20th vote - I suggest we have a Solutions Approval vote. The fixes to the listed bugs are trivial, except for excising owl:ontologyIRI from some tests. I request a vote so we don't wait for voting in case I get distracted from implementing that test. Feedback is welcome on this plan of action.