ucoProject / UCO

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

UCO's Facets should each be classified as general or specific #595

Open ajnelson-nist opened 4 months ago

ajnelson-nist commented 4 months ago

Note: This proposal is under construction. For tracking purposes in other repositories, a UCO Issue number is needed. A comment will be posted when the proposal's drafting is completed.

Background

Some of the past development around UCO's Facets has emphasized that there is a behavior difference between Facet classes that have subclasses, and Facet classes that don't. There might be implications for backwards compatibility if some Facet that is currently subclass-less needs subclassing for some reason.

This proposal brings forward a meta-class, uco-core:FacetType. This class has exactly two child classes that are disjoint, uco-core:GeneralFacetType and uco-core:SpecificFacetType. (This could be implemented with owl:disjointUnionOf.)

Instances of uco-core:FacetType are to be owl:Classes that are subclasses of uco-core:Facet. For example:

uco-observable:BluetoothAddressFacet
       a uco-core:SpecificFacetType ;
       .

uco-observable:MACAddressFacet
       a uco-core:GeneralFacetType ;
       .

(Remainder of proposal pending.)

Requirements

Requirement 1

Requirement 2

Risk / Benefit analysis

Benefits

Risks

Competencies demonstrated

Competency 1

Competency Question 1.1

Result 1.1

Competency Question 1.2

Result 1.2

Solution suggestion