StroemPhi / Ontology-Metadata

A schema for ontology metadata (WIP)
GNU General Public License v3.0
0 stars 0 forks source link

Introspect existing schema to figure out how to break it down into more general parts #1

Closed StroemPhi closed 1 year ago

StroemPhi commented 1 year ago

The initial schema coming taken from the OAK repo as a basis for this repo needs to be introspected and analyzed.

The idea is to break this down into parts that build upon each other and which can be reused separately depending on the needed granularity.

StroemPhi commented 1 year ago

output of linkml-lint on the initial schema:

Summary

Count
Schemas Checked 1
Schemas with Error 1
Schemas with Warning 1
Total Errors 2
Total Warnings 201
show more

## Problems per Schema ### /home/stroemphi/linkml-projects/Ontology-Metadata/src/ontology_metadata/schema/ontology_metadata.yaml #### Errors * no_invalid_slot_usage: Slot 'subClassOf' not found on class 'Property' * no_invalid_slot_usage: Slot 'label' not found on class 'ObsoleteAspect' #### Warnings * recommended: Class 'Any' does not have recommended slot 'description' * recommended: Class 'HasMappings' does not have recommended slot 'description' * recommended: Class 'HasProvenance' does not have recommended slot 'description' * recommended: Class 'HasLifeCycle' does not have recommended slot 'description' * recommended: Class 'HasCategory' does not have recommended slot 'description' * recommended: Class 'HasUserInformation' does not have recommended slot 'description' * recommended: Class 'Thing' does not have recommended slot 'description' * recommended: Class 'Class' does not have recommended slot 'description' * recommended: Class 'Property' does not have recommended slot 'description' * recommended: Class 'Agent' does not have recommended slot 'description' * recommended: Class 'Image' does not have recommended slot 'description' * recommended: Class 'AnonymousClassExpression' does not have recommended slot 'description' * recommended: Class 'Restriction' does not have recommended slot 'description' * recommended: Class 'Expression' does not have recommended slot 'description' * recommended: Class 'ClassExpression' does not have recommended slot 'description' * recommended: Class 'PropertyExpression' does not have recommended slot 'description' * recommended: Slot 'label' does not have recommended slot 'description' * recommended: Slot 'annotations' does not have recommended slot 'description' * recommended: Slot 'definition' does not have recommended slot 'description' * recommended: Slot 'predicate' does not have recommended slot 'description' * recommended: Slot 'object' does not have recommended slot 'description' * recommended: Slot 'title' does not have recommended slot 'description' * recommended: Slot 'match_aspect' does not have recommended slot 'description' * recommended: Slot 'match' does not have recommended slot 'description' * recommended: Slot 'broadMatch' does not have recommended slot 'description' * recommended: Slot 'closeMatch' does not have recommended slot 'description' * recommended: Slot 'exactMatch' does not have recommended slot 'description' * recommended: Slot 'narrowMatch' does not have recommended slot 'description' * recommended: Slot 'database_cross_reference' does not have recommended slot 'description' * recommended: Slot 'informative_property' does not have recommended slot 'description' * recommended: Slot 'comment' does not have recommended slot 'description' * recommended: Slot 'category' does not have recommended slot 'description' * recommended: Slot 'image' does not have recommended slot 'description' * recommended: Slot 'example_of_usage' does not have recommended slot 'description' * recommended: Slot 'changeNote' does not have recommended slot 'description' * recommended: Slot 'has_curation_status' does not have recommended slot 'description' * recommended: Slot 'defaultLanguage' does not have recommended slot 'description' * recommended: Slot 'has_ontology_root_term' does not have recommended slot 'description' * recommended: Slot 'conformsTo' does not have recommended slot 'description' * recommended: Slot 'license' does not have recommended slot 'description' * recommended: Slot 'depicted_by' does not have recommended slot 'description' * recommended: Slot 'page' does not have recommended slot 'description' * recommended: Slot 'version_property' does not have recommended slot 'description' * recommended: Slot 'versionIRI' does not have recommended slot 'description' * recommended: Slot 'versionInfo' does not have recommended slot 'description' * recommended: Slot 'deprecated' does not have recommended slot 'description' * recommended: Slot 'term_replaced_by' does not have recommended slot 'description' * recommended: Slot 'has_obsolescence_reason' does not have recommended slot 'description' * recommended: Slot 'consider' does not have recommended slot 'description' * recommended: Slot 'temporal_interpretation' does not have recommended slot 'description' * recommended: Slot 'never_in_taxon' does not have recommended slot 'description' * recommended: Slot 'is_a_defining_property_chain_axiom' does not have recommended slot 'description' * recommended: Slot 'is_a_defining_property_chain_axiom_where_second_argument_is_reflexive' does not have recommended slot 'description' * recommended: Slot 'provenance_property' does not have recommended slot 'description' * recommended: Slot 'contributor' does not have recommended slot 'description' * recommended: Slot 'creator' does not have recommended slot 'description' * recommended: Slot 'source' does not have recommended slot 'description' * recommended: Slot 'created_by' does not have recommended slot 'description' * recommended: Slot 'creation_date' does not have recommended slot 'description' * recommended: Slot 'date_retrieved' does not have recommended slot 'description' * recommended: Slot 'editor_note' does not have recommended slot 'description' * recommended: Slot 'term_editor' does not have recommended slot 'description' * recommended: Slot 'definition_source' does not have recommended slot 'description' * recommended: Slot 'curator_note' does not have recommended slot 'description' * recommended: Slot 'term_tracker_item' does not have recommended slot 'description' * recommended: Slot 'ontology_term_requester' does not have recommended slot 'description' * recommended: Slot 'imported_from' does not have recommended slot 'description' * recommended: Slot 'has_axiom_label' does not have recommended slot 'description' * recommended: Slot 'shortcut_annotation_property' does not have recommended slot 'description' * recommended: Slot 'disconnected_from' does not have recommended slot 'description' * recommended: Slot 'excluded_axiom' does not have recommended slot 'description' * recommended: Slot 'excluded_from_QC_check' does not have recommended slot 'description' * recommended: Slot 'excluded_subClassOf' does not have recommended slot 'description' * recommended: Slot 'excluded_synonym' does not have recommended slot 'description' * recommended: Slot 'should_conform_to' does not have recommended slot 'description' * recommended: Slot 'has_rank' does not have recommended slot 'description' * recommended: Slot 'alternative_term' does not have recommended slot 'description' * recommended: Slot 'ISA_alternative_term' does not have recommended slot 'description' * recommended: Slot 'IEDB_alternative_term' does not have recommended slot 'description' * recommended: Slot 'OBO_foundry_unique_label' does not have recommended slot 'description' * recommended: Slot 'synonym' does not have recommended slot 'description' * recommended: Slot 'editor_preferred_term' does not have recommended slot 'description' * recommended: Slot 'has_exact_synonym' does not have recommended slot 'description' * recommended: Slot 'has_narrow_synonym' does not have recommended slot 'description' * recommended: Slot 'has_related_synonym' does not have recommended slot 'description' * recommended: Slot 'has_broad_synonym' does not have recommended slot 'description' * recommended: Slot 'has_synonym_type' does not have recommended slot 'description' * recommended: Slot 'has_obo_namespace' does not have recommended slot 'description' * recommended: Slot 'reification_predicate' does not have recommended slot 'description' * recommended: Slot 'annotatedProperty' does not have recommended slot 'description' * recommended: Slot 'annotatedSource' does not have recommended slot 'description' * recommended: Slot 'annotatedTarget' does not have recommended slot 'description' * recommended: Slot 'imports' does not have recommended slot 'description' * recommended: Slot 'logical_predicate' does not have recommended slot 'description' * recommended: Slot 'cardinality' does not have recommended slot 'description' * recommended: Slot 'complementOf' does not have recommended slot 'description' * recommended: Slot 'disjointWith' does not have recommended slot 'description' * recommended: Slot 'distinctMembers' does not have recommended slot 'description' * recommended: Slot 'equivalentClass' does not have recommended slot 'description' * recommended: Slot 'sameAs' does not have recommended slot 'description' * recommended: Slot 'equivalentProperty' does not have recommended slot 'description' * recommended: Slot 'hasValue' does not have recommended slot 'description' * recommended: Slot 'intersectionOf' does not have recommended slot 'description' * recommended: Slot 'inverseOf' does not have recommended slot 'description' * recommended: Slot 'maxQualifiedCardinality' does not have recommended slot 'description' * recommended: Slot 'members' does not have recommended slot 'description' * recommended: Slot 'minCardinality' does not have recommended slot 'description' * recommended: Slot 'minQualifiedCardinality' does not have recommended slot 'description' * recommended: Slot 'onClass' does not have recommended slot 'description' * recommended: Slot 'onProperty' does not have recommended slot 'description' * recommended: Slot 'oneOf' does not have recommended slot 'description' * recommended: Slot 'propertyChainAxiom' does not have recommended slot 'description' * recommended: Slot 'qualifiedCardinality' does not have recommended slot 'description' * recommended: Slot 'allValuesFrom' does not have recommended slot 'description' * recommended: Slot 'someValuesFrom' does not have recommended slot 'description' * recommended: Slot 'unionOf' does not have recommended slot 'description' * recommended: Slot 'domain' does not have recommended slot 'description' * recommended: Slot 'range' does not have recommended slot 'description' * recommended: Slot 'isDefinedBy' does not have recommended slot 'description' * recommended: Slot 'seeAlso' does not have recommended slot 'description' * recommended: Slot 'type' does not have recommended slot 'description' * recommended: Slot 'subClassOf' does not have recommended slot 'description' * recommended: Slot 'oboInOwl_id' does not have recommended slot 'description' * recommended: Slot 'oboInOwl_ontology' does not have recommended slot 'description' * recommended: Slot 'is_class_level' does not have recommended slot 'description' * recommended: Slot 'is_cyclic' does not have recommended slot 'description' * recommended: Slot 'is_inferred' does not have recommended slot 'description' * recommended: Slot 'is_metadata_tag' does not have recommended slot 'description' * recommended: Slot 'is_transitive' does not have recommended slot 'description' * recommended: Slot 'notes' does not have recommended slot 'description' * recommended: Slot 'shorthand' does not have recommended slot 'description' * recommended: Slot 'url' does not have recommended slot 'description' * recommended: Slot 'evidence' does not have recommended slot 'description' * recommended: Slot 'external_ontology' does not have recommended slot 'description' * recommended: Slot 'NCIT_definition_source' does not have recommended slot 'description' * recommended: Slot 'NCIT_term_type' does not have recommended slot 'description' * recommended: Slot 'NCIT_term_source' does not have recommended slot 'description' * recommended: Type 'tidy string' does not have recommended slot 'description' * recommended: Subset 'go required profile' does not have recommended slot 'description' * recommended: Subset 'go recommended profile' does not have recommended slot 'description' * recommended: Subset 'go permitted profile' does not have recommended slot 'description' * recommended: Subset 'obi required profile' does not have recommended slot 'description' * recommended: Subset 'obi permitted profile' does not have recommended slot 'description' * recommended: Subset 'allotrope required profile' does not have recommended slot 'description' * recommended: Subset 'allotrope permitted profile' does not have recommended slot 'description' * standard_naming: Slot has name 'broadMatch' * standard_naming: Slot has name 'closeMatch' * standard_naming: Slot has name 'exactMatch' * standard_naming: Slot has name 'narrowMatch' * standard_naming: Slot has name 'changeNote' * standard_naming: Slot has name 'defaultLanguage' * standard_naming: Slot has name 'conformsTo' * standard_naming: Slot has name 'versionIRI' * standard_naming: Slot has name 'versionInfo' * standard_naming: Slot has name 'excluded_from_QC_check' * standard_naming: Slot has name 'excluded_subClassOf' * standard_naming: Slot has name 'ISA_alternative_term' * standard_naming: Slot has name 'IEDB_alternative_term' * standard_naming: Slot has name 'OBO_foundry_unique_label' * standard_naming: Slot has name 'annotatedProperty' * standard_naming: Slot has name 'annotatedSource' * standard_naming: Slot has name 'annotatedTarget' * standard_naming: Slot has name 'complementOf' * standard_naming: Slot has name 'disjointWith' * standard_naming: Slot has name 'distinctMembers' * standard_naming: Slot has name 'equivalentClass' * standard_naming: Slot has name 'sameAs' * standard_naming: Slot has name 'equivalentProperty' * standard_naming: Slot has name 'hasValue' * standard_naming: Slot has name 'intersectionOf' * standard_naming: Slot has name 'inverseOf' * standard_naming: Slot has name 'maxQualifiedCardinality' * standard_naming: Slot has name 'minCardinality' * standard_naming: Slot has name 'minQualifiedCardinality' * standard_naming: Slot has name 'onClass' * standard_naming: Slot has name 'onProperty' * standard_naming: Slot has name 'oneOf' * standard_naming: Slot has name 'propertyChainAxiom' * standard_naming: Slot has name 'qualifiedCardinality' * standard_naming: Slot has name 'allValuesFrom' * standard_naming: Slot has name 'someValuesFrom' * standard_naming: Slot has name 'unionOf' * standard_naming: Slot has name 'isDefinedBy' * standard_naming: Slot has name 'seeAlso' * standard_naming: Slot has name 'subClassOf' * standard_naming: Slot has name 'oboInOwl_id' * standard_naming: Slot has name 'oboInOwl_ontology' * standard_naming: Slot has name 'NCIT_definition_source' * standard_naming: Slot has name 'NCIT_term_type' * standard_naming: Slot has name 'NCIT_term_source' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'DefinitionConstraint' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'DefinitionPresence' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'Conventions' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'Harmonized' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'GenusDifferentiaForm' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'SingleGenus' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'Circularity' * standard_naming: Permissible value of Enum 'DefinitionConstraintComponent' has name 'MatchTextAndLogical' * canonical_prefixes: Schema maps prefix 'oio' to namespace 'http://www.geneontology.org/formats/oboInOwl#' instead of using prefix 'oboInOwl' * canonical_prefixes: Schema maps prefix 'sdo' to namespace 'http://schema.org/' instead of using prefix 'schema' * canonical_prefixes: Schema maps prefix 'prov' to namespace 'http://www.w3.org/ns/prov-o#' instead of namespace 'http://www.w3.org/ns/prov#'

StroemPhi commented 1 year ago

After having spent quite some time on introspecting the OAK schema. I've decided to drop it for now, as I wasn't able to reuse the classes and properties needed for our TIB use case, as they are right now. In #3 I've thus created a new schema that is in line with our TIB WG draft and which will hopefully serve as reference for the next version of the OAK model. However, I'm pretty optimistic, that our schema can be an extention/profile of a more general one as envisioned by the OBO, ODK & OAK devs in the future.