Participation by NIST in the creation of the documentation of mentioned software is not intended to imply a recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that any specific software is necessarily the best available for the purpose.
This repository is UNDER PROPOSAL and subject to revision and/or rejection by the UCO community. Feedback is welcome, and can be provided in its associated Issue on the UCO Issue Tracker (ucoProject/UCO#363), or directly on this repository as an Issue.
IRIs and/or URLs referenced in this repository under taxonomy.unifiedcyberontology.org
are not yet operational.
This repository provides the IANA Media Types registry as a SKOS taxonomy, as well as a parallel, specialized set of taxons that allow a user to represent Media Types as bearers of unique labels, and also sometimes to relate to one another. The rationale for using SKOS is:
- Media Types present a use case of a vocabulary that has members of varying degrees of clarity:
- Names registered with IANA, which are standardized values;
- Names that follow an IANA-recommended extension pattern, such as including
x-
in the subtype; - Names that are neither IANA-registered nor follow an extension pattern, but have seen wide use, such as
application/tar
.
To enable interoperability with data models that use the Dublin Core Terms MediaType concept, each media type skos:Concept
is also designated as a subclass of dcterms:FileFormat
, defined in UCO's types ontology. (Editorial note: The ontology update that ties in dcterms:FileFOramt
is under proposal in UCO PR 377.)
See the data README for data usage notes and extension summaries.
See this document for design rationales.
This repository's primary product is a monolithic ontology and taxonomy file, serialized in Turtle, mime.ttl
.
The expected usage pattern of this file is via importing or referencing its versioned, or unversioned, IRI as a URL. Respective examples:
<http://example.org/versioned-importing-ontology>
a owl:Ontology ;
rdfs:comment "An example ontology that imports the monolithic taxonomy via its versioned IRI."@en ;
owl:imports <https://taxonomy.unifiedcyberontology.org/uco/mime/0.0.1> ;
.
or:
<http://example.org/unversioned-importing-ontology>
a owl:Ontology ;
rdfs:comment "An example ontology that imports the monolithic taxonomy via its unversioned IRI."@en ;
owl:imports <https://taxonomy.unifiedcyberontology.org/uco/mime> ;
.
Media Type individuals can be used either from their UCO IRIs or their Dublin Core Terms FileFormat
IRIs.
<https://taxonomy.unifiedcyberontology.org/uco/mime/application/ld+json>
a
prov:Entity ,
uco-types:IANAMediaType
;
rdfs:isDefinedBy <https://www.iana.org/assignments/media-types/application/ld+json> ;
skos:broader <https://taxonomy.unifiedcyberontology.org/uco/mime/application/json> ;
skos:exactMatch <http://purl.org/NET/mediatypes/application/ld+json> ;
skos:inScheme uco-mime:MIMEScheme ;
skos:notation "application/ld+json" ;
.
Note that the Dublin Core Terms concepts are minimally serialized within this repository, and may differ when retrieved from the Dublin Core IRI.
Software is included to generate, format, and test the functionality and conformance of mime.ttl
. Software review mechanisms---such as syntax normalization with black
and static type review with mypy
---are also included and run with pre-commit
as part of unit testing.
For review of data quality and consistency with adopted models, SHACL shapes are provided in shapes/*/*.ttl
. Their usage with pyshacl
is demonstrated in the unit tests Makefile
.
End users of this repository should have no need to interface with this repository's software directly. The software is provided for maintainers within the UCO community.
This repository does not include installable Python software.
The SHACL files used in data quality review can be incorporated into any compilation of SHACL shapes for review of data using the referenced data models.
Unit tests can be run locally by cloning this repository, descending into it, and running make check
.
Contributors and maintainers should review CONTRIBUTE.md.
- Unified Cyber Ontology
- CASE Ontology
- SKOS Simple Knowledge Organization System Reference
- IANA Media Types Registry
- Dublin Core Terms
Certain non-public-domain software resources are used in this repository, but not re-distributed. Their usage is governed by their respective licenses.
Portions of this repository contributed by NIST are governed by the NIST Software Licensing Statement.