From 329b341bb11cebc381176314ea055176a09886d8 Mon Sep 17 00:00:00 2001 From: kempersc Date: Sun, 11 Jan 2026 14:16:39 +0100 Subject: [PATCH] refactor(schema): sync AnnotationMotivationType changes to frontend public schemas - Update VideoAnnotation class with new motivation type references - Add AnnotationMotivationType and AnnotationMotivationTypes class files - Add motivation_type slots (description, id, name) - Archive deprecated AnnotationMotivationEnum - Update slot references for derived_from_entity, has_observation, has_person_observation --- .../classes/AnnotationMotivationType.yaml | 127 ++++ .../classes/AnnotationMotivationTypes.yaml | 598 ++++++++++++++++++ .../modules/classes/VideoAnnotation.yaml | 58 +- .../AnnotationMotivationEnum.yaml.deprecated} | 0 .../modules/slots/derived_from_entity.yaml | 6 +- .../slots/has_annotation_motivation.yaml | 29 +- .../linkml/modules/slots/has_observation.yaml | 5 +- .../modules/slots/has_person_observation.yaml | 9 +- .../slots/motivation_type_description.yaml | 29 + .../modules/slots/motivation_type_id.yaml | 28 + .../modules/slots/motivation_type_name.yaml | 28 + 11 files changed, 858 insertions(+), 59 deletions(-) create mode 100644 frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationType.yaml create mode 100644 frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationTypes.yaml rename frontend/public/schemas/20251121/linkml/modules/enums/{AnnotationMotivationEnum.yaml => archive/AnnotationMotivationEnum.yaml.deprecated} (100%) create mode 100644 frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_description.yaml create mode 100644 frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_id.yaml create mode 100644 frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_name.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationType.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationType.yaml new file mode 100644 index 0000000000..75a9317949 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationType.yaml @@ -0,0 +1,127 @@ +id: https://nde.nl/ontology/hc/class/AnnotationMotivationType +name: annotation_motivation_type_class +title: Annotation Motivation Type +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + oa: http://www.w3.org/ns/oa# + skos: http://www.w3.org/2004/02/skos/core# + dcterms: http://purl.org/dc/terms/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + prov: http://www.w3.org/ns/prov# + as: https://www.w3.org/ns/activitystreams# +default_prefix: hc +imports: + - linkml:types + - ../metadata + - ../slots/motivation_type_id + - ../slots/motivation_type_name + - ../slots/motivation_type_description + - ../slots/specificity_annotation + - ../slots/template_specificity + - ./SpecificityAnnotation + - ./TemplateSpecificityScores + +classes: + AnnotationMotivationType: + class_uri: oa:Motivation + abstract: true + description: | + Abstract base class for annotation motivation types in the heritage domain. + + **DEFINITION**: + + AnnotationMotivationType represents CATEGORIES of motivations for creating + annotations. Each subclass defines a specific purpose or intent behind + annotation creation. + + **W3C WEB ANNOTATION ALIGNMENT**: + + The W3C Web Annotation Data Model defines `oa:Motivation` as: + > The class for Motivation resources that describe the user's intent + > or motivation for the creation of the Annotation. + + The `oa:Motivation` class is a subclass of `skos:Concept`: + ```turtle + oa:Motivation a rdfs:Class ; + rdfs:subClassOf skos:Concept . + ``` + + **STANDARD MOTIVATIONS** (from W3C Web Annotation): + + | Motivation | URI | Description | + |------------|-----|-------------| + | classifying | oa:classifying | Categorizing or classifying content | + | commenting | oa:commenting | Adding commentary | + | describing | oa:describing | Adding descriptive information | + | identifying | oa:identifying | Identifying depicted entities | + | linking | oa:linking | Linking to external resources | + | tagging | oa:tagging | Adding tags or keywords | + + **HERITAGE-SPECIFIC EXTENSIONS**: + + Beyond W3C standard motivations, heritage institutions require: + + | Motivation | Purpose | Use Case | + |------------|---------|----------| + | AccessibilityMotivation | Accessibility support | Alt-text, captions, audio descriptions | + | DiscoveryMotivation | Search and discovery | SEO, facets, keywords | + | PreservationMotivation | Digital preservation | Checksums, format migration notes | + | ResearchMotivation | Research support | Citations, analysis, scholarly notes | + + **CIDOC-CRM ALIGNMENT**: + + Annotation motivations relate to CIDOC-CRM attribute assignments: + - `crm:E13_Attribute_Assignment` - The act of assigning information + - `crm:P17_was_motivated_by` - The motivation for an activity + + **PROV-O ALIGNMENT**: + + - `prov:Activity` - Annotations as activities with motivations + - `prov:wasMotivatedBy` (proposed) - Relates activity to motivation + + **SUBCLASSES**: + + See AnnotationMotivationTypes.yaml for 10 concrete motivation subclasses: + - ClassifyingMotivation, DescribingMotivation, IdentifyingMotivation + - TaggingMotivation, LinkingMotivation, CommentingMotivation + - AccessibilityMotivation, DiscoveryMotivation, PreservationMotivation, ResearchMotivation + exact_mappings: + - oa:Motivation + close_mappings: + - skos:Concept + related_mappings: + - crm:E55_Type + - prov:Influence + - as:Object + slots: + - motivation_type_id + - motivation_type_name + - motivation_type_description + - specificity_annotation + - template_specificity + slot_usage: + motivation_type_id: + identifier: true + required: true + description: Unique identifier for this motivation type + motivation_type_name: + required: true + description: | + Canonical name for this motivation type. + Used for display and cross-referencing. + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + comments: + - Abstract base class - use specific subclasses (ClassifyingMotivation, etc.) + - Represents MOTIVATION TYPES, not individual motivation instances + - Aligns with W3C Web Annotation oa:Motivation class + - Heritage-specific extensions beyond W3C standard motivations + see_also: + - https://www.w3.org/TR/annotation-vocab/#motivation + - https://www.w3.org/ns/oa#Motivation + - http://www.cidoc-crm.org/cidoc-crm/E55_Type diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationTypes.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationTypes.yaml new file mode 100644 index 0000000000..efdcf8eb67 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/AnnotationMotivationTypes.yaml @@ -0,0 +1,598 @@ +id: https://nde.nl/ontology/hc/class/AnnotationMotivationTypes +name: annotation_motivation_types +title: Annotation Motivation Types Collection +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + oa: http://www.w3.org/ns/oa# + skos: http://www.w3.org/2004/02/skos/core# + dcterms: http://purl.org/dc/terms/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + prov: http://www.w3.org/ns/prov# + schema: http://schema.org/ + wcag: https://www.w3.org/WAI/WCAG21/ +default_prefix: hc +imports: + - linkml:types + - ../metadata + - ./AnnotationMotivationType + - ../slots/specificity_annotation + - ../slots/template_specificity + - ./SpecificityAnnotation + - ./TemplateSpecificityScores + +classes: + ClassifyingMotivation: + is_a: AnnotationMotivationType + class_uri: oa:classifying + description: | + Motivation for categorizing or classifying content. + + **DEFINITION**: + + ClassifyingMotivation describes annotations where the intent is to + assign the target to a specific category or classification scheme. + + **W3C WEB ANNOTATION**: + + From oa:classifying: + > The motivation for when the user intends to classify the Target + > as something. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Subject classification | Assigning LCSH or AAT terms | + | Genre classification | Labeling artwork as "Baroque" | + | Object type | Classifying as "painting", "sculpture" | + | Content rating | Age-appropriate classifications | + + **HERITAGE CONTEXT**: + + Classification is fundamental to heritage cataloging: + - Museum object classification (Getty AAT) + - Archival arrangement and description + - Library subject cataloging (LCSH, DDC) + - Iconographic classification (Iconclass) + exact_mappings: + - oa:classifying + close_mappings: + - skos:Concept + - crm:E17_Type_Assignment + slot_usage: + motivation_type_name: + equals_string: classifying + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - W3C Web Annotation standard motivation + - Primary use in heritage cataloging and classification + + DescribingMotivation: + is_a: AnnotationMotivationType + class_uri: oa:describing + description: | + Motivation for adding descriptive information to content. + + **DEFINITION**: + + DescribingMotivation describes annotations where the intent is to + provide a description of the target resource. + + **W3C WEB ANNOTATION**: + + From oa:describing: + > The motivation for when the user intends to describe the Target, + > as opposed to a comment about them. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Physical description | Dimensions, materials, condition | + | Content description | What is depicted in an artwork | + | Scene description | Video scene narrative | + | Alt-text | Image description for accessibility | + + **HERITAGE CONTEXT**: + + Description is core to heritage documentation: + - Museum object cataloging (physical descriptions) + - Archival finding aid scope and content notes + - Library bibliographic description + - Video/audio content summarization + exact_mappings: + - oa:describing + close_mappings: + - dcterms:description + - crm:E62_String + slot_usage: + motivation_type_name: + equals_string: describing + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - W3C Web Annotation standard motivation + - Fundamental to heritage cataloging and accessibility + + IdentifyingMotivation: + is_a: AnnotationMotivationType + class_uri: oa:identifying + description: | + Motivation for identifying depicted entities. + + **DEFINITION**: + + IdentifyingMotivation describes annotations where the intent is to + assign an identity to what is being depicted or described. + + **W3C WEB ANNOTATION**: + + From oa:identifying: + > The motivation for when the user intends to assign an identity to + > the Target or identify what is being depicted or described. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Person identification | Identifying portrait subjects | + | Place identification | Geolocating depicted locations | + | Object identification | Linking to collection records | + | Entity recognition | Named entity extraction | + + **HERITAGE CONTEXT**: + + Identification links heritage content to entities: + - Portrait subject identification + | - Artwork attribution (artist identification) + - Depicted location identification + - Object-to-record linking (computer vision) + exact_mappings: + - oa:identifying + close_mappings: + - crm:E15_Identifier_Assignment + - schema:identifier + slot_usage: + motivation_type_name: + equals_string: identifying + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - W3C Web Annotation standard motivation + - Links content to identified entities + + TaggingMotivation: + is_a: AnnotationMotivationType + class_uri: oa:tagging + description: | + Motivation for adding tags or keywords. + + **DEFINITION**: + + TaggingMotivation describes annotations where the intent is to + associate a tag or keyword with the target resource. + + **W3C WEB ANNOTATION**: + + From oa:tagging: + > The motivation for when the user intends to associate a tag with + > the Target. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Keyword tagging | User-generated tags | + | Folksonomy | Community tagging | + | Social tagging | Hashtags on social media | + | Crowdsourced tags | Volunteer tagging projects | + + **HERITAGE CONTEXT**: + + Tagging complements formal classification: + - Crowdsourced transcription projects + - Social tagging of collections + - User-generated content enrichment + - Folksonomies alongside controlled vocabularies + exact_mappings: + - oa:tagging + close_mappings: + - skos:Concept + - schema:keywords + slot_usage: + motivation_type_name: + equals_string: tagging + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - W3C Web Annotation standard motivation + - User-generated content enrichment + + LinkingMotivation: + is_a: AnnotationMotivationType + class_uri: oa:linking + description: | + Motivation for linking to external resources. + + **DEFINITION**: + + LinkingMotivation describes annotations where the intent is to + create a link between the target and a related resource. + + **W3C WEB ANNOTATION**: + + From oa:linking: + > The motivation for when the user intends to link to a resource + > related to the Target. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | See also links | Related collection items | + | Authority links | Links to Wikidata/VIAF | + | Reference links | Citations and sources | + | IIIF links | Manifest and canvas links | + + **HERITAGE CONTEXT**: + + Linking enables Linked Open Data: + - Authority file linking (VIAF, ISNI, Wikidata) + - Collection cross-references + - Digital object linking (IIIF) + - Bibliographic references + exact_mappings: + - oa:linking + close_mappings: + - dcterms:relation + - skos:related + - schema:relatedLink + slot_usage: + motivation_type_name: + equals_string: linking + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - W3C Web Annotation standard motivation + - Enables Linked Open Data connections + + CommentingMotivation: + is_a: AnnotationMotivationType + class_uri: oa:commenting + description: | + Motivation for adding commentary. + + **DEFINITION**: + + CommentingMotivation describes annotations where the intent is to + add a comment or opinion about the target resource. + + **W3C WEB ANNOTATION**: + + From oa:commenting: + > The motivation for when the user intends to comment about the Target. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Scholarly notes | Research observations | + | Curatorial notes | Internal cataloging notes | + | User comments | Public-facing comments | + | Editorial remarks | Publication annotations | + + **HERITAGE CONTEXT**: + + Comments add contextual knowledge: + - Provenance research notes + - Conservation observations + - Scholarly commentary + - Community engagement features + exact_mappings: + - oa:commenting + close_mappings: + - schema:Comment + - schema:UserComments + slot_usage: + motivation_type_name: + equals_string: commenting + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - W3C Web Annotation standard motivation + - User and scholarly engagement + + AccessibilityMotivation: + is_a: AnnotationMotivationType + class_uri: hc:accessibilityMotivation + description: | + Motivation for providing accessibility support. + + **DEFINITION**: + + AccessibilityMotivation describes annotations created to make + heritage content accessible to users with disabilities. + + **HERITAGE-SPECIFIC MOTIVATION**: + + This extends W3C Web Annotation with heritage accessibility needs. + Not part of the standard oa: vocabulary but essential for inclusive + heritage access. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Alt-text | Image descriptions for screen readers | + | Audio description | Video narration for visually impaired | + | Closed captions | Text for hearing impaired | + | Sign language | Video interpretation | + | Easy read | Simplified text versions | + + **HERITAGE CONTEXT**: + + Heritage institutions have accessibility obligations: + - Museum audio guides and touch tours + - Archive reading room accommodations + - Library assistive technology support + - Digital platform WCAG compliance + + **WCAG ALIGNMENT**: + + Supports Web Content Accessibility Guidelines: + - WCAG 2.1 Success Criterion 1.1.1 (Non-text Content) + - WCAG 2.1 Success Criterion 1.2 (Time-based Media) + exact_mappings: + - hc:accessibilityMotivation + close_mappings: + - schema:accessibilityFeature + - schema:accessibilityHazard + related_mappings: + - wcag:Guideline + slot_usage: + motivation_type_name: + equals_string: accessibility + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - Heritage-specific extension beyond W3C standard + - Critical for inclusive heritage access + - Supports WCAG compliance + + DiscoveryMotivation: + is_a: AnnotationMotivationType + class_uri: hc:discoveryMotivation + description: | + Motivation for enabling search and discovery. + + **DEFINITION**: + + DiscoveryMotivation describes annotations created specifically to + improve the findability and discoverability of heritage content. + + **HERITAGE-SPECIFIC MOTIVATION**: + + This extends W3C Web Annotation with heritage discovery needs. + Focus is on making collections searchable and browsable. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | SEO metadata | Schema.org structured data | + | Faceted search | Filter-enabling metadata | + | Full-text indexing | OCR text for search | + | Named entity extraction | People, places, dates | + | AI-generated descriptions | ML-powered metadata | + + **HERITAGE CONTEXT**: + + Discovery is essential for heritage access: + - Collection portal search optimization + - Aggregator metadata enhancement (Europeana) + - Cross-collection discovery + - Semantic search enablement + + **SCHEMA.ORG ALIGNMENT**: + + Supports structured data for search engines: + - schema:WebPage, schema:CollectionPage + - schema:Breadcrumb navigation + - schema:SearchAction configuration + exact_mappings: + - hc:discoveryMotivation + close_mappings: + - schema:SearchAction + - dcat:Catalog + slot_usage: + motivation_type_name: + equals_string: discovery + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - Heritage-specific extension beyond W3C standard + - Enables collection discoverability + - Supports aggregator integration + + PreservationMotivation: + is_a: AnnotationMotivationType + class_uri: hc:preservationMotivation + description: | + Motivation for supporting digital preservation. + + **DEFINITION**: + + PreservationMotivation describes annotations created to support + the long-term preservation of digital heritage content. + + **HERITAGE-SPECIFIC MOTIVATION**: + + This extends W3C Web Annotation with digital preservation needs. + Focus is on ensuring content remains accessible over time. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Format documentation | Technical metadata (PREMIS) | + | Checksum recording | Fixity verification | + | Migration notes | Format conversion history | + | Rights documentation | Preservation rights | + | Significant properties | What must be preserved | + + **HERITAGE CONTEXT**: + + Digital preservation is a core heritage function: + - Archive preservation planning + - Museum digital asset management + - Library digital preservation programs + - OAIS compliance documentation + + **PREMIS ALIGNMENT**: + + Supports PREMIS Data Dictionary: + - premis:Object (digital objects) + - premis:Event (preservation actions) + - premis:Agent (preservation actors) + - premis:Rights (preservation permissions) + exact_mappings: + - hc:preservationMotivation + close_mappings: + - premis:Event + - prov:Activity + slot_usage: + motivation_type_name: + equals_string: preservation + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - Heritage-specific extension beyond W3C standard + - Critical for digital preservation + - Supports OAIS and PREMIS compliance + + ResearchMotivation: + is_a: AnnotationMotivationType + class_uri: hc:researchMotivation + description: | + Motivation for supporting research and analysis. + + **DEFINITION**: + + ResearchMotivation describes annotations created specifically to + support scholarly research and analysis of heritage content. + + **HERITAGE-SPECIFIC MOTIVATION**: + + This extends W3C Web Annotation with research needs. + Focus is on enabling scholarly use of heritage collections. + + **USE CASES**: + + | Use Case | Example | + |----------|---------| + | Citation annotation | Scholarly citations | + | Research notes | Analytical observations | + | Hypothesis marking | Research questions | + | Data annotation | Dataset documentation | + | Computational analysis | ML/AI analysis results | + + **HERITAGE CONTEXT**: + + Heritage institutions support research: + - Archive research services + - Museum scholarly access + - Library reference services + - Digital humanities projects + + **CRM ALIGNMENT**: + + Supports CIDOC-CRM research patterns: + - crm:E7_Activity (research activities) + - crm:E13_Attribute_Assignment (scholarly assertions) + - crm:E65_Creation (research outputs) + exact_mappings: + - hc:researchMotivation + close_mappings: + - crm:E7_Activity + - schema:ScholarlyArticle + slot_usage: + motivation_type_name: + equals_string: research + specificity_annotation: + range: SpecificityAnnotation + inlined: true + template_specificity: + range: TemplateSpecificityScores + inlined: true + slots: + - specificity_annotation + - template_specificity + comments: + - Heritage-specific extension beyond W3C standard + - Supports digital humanities and research + - Enables computational analysis documentation diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml index 8ceefca613..901e380e9d 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml @@ -5,6 +5,8 @@ imports: - linkml:types - ./VideoTextContent - ./VideoTimeSegment +- ./AnnotationMotivationType +- ./AnnotationMotivationTypes - ../slots/has_annotation_motivation - ../slots/has_annotation_segment - ../slots/has_annotation_type @@ -347,20 +349,22 @@ classes: Web Annotation: motivatedBy describes why annotation was created. **Standard Motivations** (from W3C Web Annotation): - - classifying: Categorizing content - - describing: Adding description - - identifying: Identifying depicted things - - tagging: Adding tags/keywords - - linking: Linking to external resources + - ClassifyingMotivation: Categorizing content + - DescribingMotivation: Adding description + - IdentifyingMotivation: Identifying depicted things + - TaggingMotivation: Adding tags/keywords + - LinkingMotivation: Linking to external resources + - CommentingMotivation: Adding commentary - **Heritage-Specific**: - - accessibility: For accessibility services - - discovery: For search/discovery - - preservation: For digital preservation - range: AnnotationMotivationEnum + **Heritage-Specific Extensions**: + - AccessibilityMotivation: For accessibility services + - DiscoveryMotivation: For search/discovery + - PreservationMotivation: For digital preservation + - ResearchMotivation: For scholarly research + range: AnnotationMotivationType required: false examples: - - value: CLASSIFYING + - value: ClassifyingMotivation description: Annotation for classification purposes specificity_annotation: range: SpecificityAnnotation @@ -403,36 +407,6 @@ enums: description: Automated video captioning/description CUSTOM: description: Custom annotation type - AnnotationMotivationEnum: - description: | - Motivation for creating annotation (W3C Web Annotation aligned). - permissible_values: - CLASSIFYING: - description: Categorizing or classifying content - meaning: oa:classifying - DESCRIBING: - description: Adding descriptive information - meaning: oa:describing - IDENTIFYING: - description: Identifying depicted entities - meaning: oa:identifying - TAGGING: - description: Adding tags or keywords - meaning: oa:tagging - LINKING: - description: Linking to external resources - meaning: oa:linking - COMMENTING: - description: Adding commentary - meaning: oa:commenting - ACCESSIBILITY: - description: Providing accessibility support - DISCOVERY: - description: Enabling search and discovery - PRESERVATION: - description: Supporting digital preservation - RESEARCH: - description: Supporting research and analysis slots: has_annotation_type: description: High-level type of video annotation @@ -470,4 +444,4 @@ slots: range: boolean has_annotation_motivation: description: Motivation for creating annotation (W3C Web Annotation) - range: AnnotationMotivationEnum + range: AnnotationMotivationType diff --git a/frontend/public/schemas/20251121/linkml/modules/enums/AnnotationMotivationEnum.yaml b/frontend/public/schemas/20251121/linkml/modules/enums/archive/AnnotationMotivationEnum.yaml.deprecated similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/enums/AnnotationMotivationEnum.yaml rename to frontend/public/schemas/20251121/linkml/modules/enums/archive/AnnotationMotivationEnum.yaml.deprecated diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/derived_from_entity.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/derived_from_entity.yaml index d038526b2e..571faae3bb 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/derived_from_entity.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/derived_from_entity.yaml @@ -19,10 +19,8 @@ slots: - Part of PROV-O derivation pattern - Inverse of has_derived_observation - Creates owl:inverseOf axiom in RDF output - - 'Inverse: `has_derived_observation` | Pattern: If Observation derived_from_entity LegalStatus, then LegalStatus has_derived_observation - Observation' - - 'Navigation: From observation: Find formal entity it references (derived_from_entity) | From legal status: Find all - observations that reference it (has_derived_observation)' + - "Inverse: has_derived_observation | Pattern: If Observation derived_from_entity LegalStatus, then LegalStatus has_derived_observation Observation" + - "Navigation: From observation: Find formal entity it references (derived_from_entity) | From legal status: Find all observations that reference it (has_derived_observation)" - Range is a prov:Entity instance (CustodianLegalStatus) annotations: inverse_slot: has_derived_observation diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_annotation_motivation.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_annotation_motivation.yaml index ac40514f23..e24f1e40ac 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/has_annotation_motivation.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/has_annotation_motivation.yaml @@ -6,24 +6,43 @@ prefixes: hc: https://nde.nl/ontology/hc/ linkml: https://w3id.org/linkml/ oa: http://www.w3.org/ns/oa# + skos: http://www.w3.org/2004/02/skos/core# + crm: http://www.cidoc-crm.org/cidoc-crm/ imports: -- linkml:types + - linkml:types + - ../classes/AnnotationMotivationType default_prefix: hc slots: has_annotation_motivation: description: >- - Motivation for creating an annotation (Web Annotation vocabulary). - range: string + Motivation for creating an annotation (W3C Web Annotation vocabulary). + + The motivation describes why an annotation was created. Standard motivations + from the W3C Web Annotation vocabulary include classifying, describing, + identifying, tagging, linking, and commenting. + + Heritage-specific extensions include accessibility (for alt-text, captions), + discovery (for search optimization), preservation (for digital preservation), + and research (for scholarly use). + + **ONTOLOGY ALIGNMENT**: + - oa:motivatedBy - W3C Web Annotation predicate + - crm:P17_was_motivated_by - CIDOC-CRM motivation property + - skos:Concept - Motivation types are concepts in a vocabulary + range: AnnotationMotivationType slot_uri: oa:motivatedBy exact_mappings: - oa:motivatedBy close_mappings: + - crm:P17_was_motivated_by - dcterms:type + related_mappings: + - skos:Concept annotations: custodian_types: '["*"]' custodian_types_rationale: >- - Applicable to all heritage custodian types. + Applicable to all heritage custodian types that create annotations. custodian_types_primary: M specificity_score: 0.5 specificity_rationale: >- - Moderately specific slot. + Moderately specific slot for annotation systems. diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_observation.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_observation.yaml index 6c927371fe..fc6a87f01c 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/has_observation.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/has_observation.yaml @@ -22,9 +22,8 @@ slots: - Inverse of refers_to_custodian (dcterms:references) - Links custodian hub to all its evidence/observations - Creates owl:inverseOf axiom in RDF output - - 'Inverse: `refers_to_custodian` (dcterms:references) | Pattern: If Observation refers_to_custodian Custodian, then - Custodian has_observation Observation' - - 'Navigation: From custodian: Find all observations (has_observation) | From observation: Find custodian hub (refers_to_custodian)' + - "Inverse: refers_to_custodian (dcterms:references) | Pattern: If Observation refers_to_custodian Custodian, then Custodian has_observation Observation" + - "Navigation: From custodian: Find all observations (has_observation) | From observation: Find custodian hub (refers_to_custodian)" - Range contains prov:Entity instances (CustodianObservation) annotations: inverse_slot: refers_to_custodian diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_person_observation.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_person_observation.yaml index d6ba3ac34b..619a57cb82 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/has_person_observation.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/has_person_observation.yaml @@ -29,9 +29,8 @@ slots: - Conceptual inverse of refers_to_person (pico:observationOf) - Links person hub to all its evidence/observations - Parallel to has_observation slot on Custodian - - 'Inverse: `refers_to_person` (pico:observationOf) | Pattern: If PersonObservation refers_to_person Person, then Person - has_person_observation PersonObservation' - - 'Navigation: From person: Find all observations (has_person_observation) | From observation: Find person hub (refers_to_person)' + - "Inverse: refers_to_person (pico:observationOf) | Pattern: If PersonObservation refers_to_person Person, then Person has_person_observation PersonObservation" + - "Navigation: From person: Find all observations (has_person_observation) | From observation: Find person hub (refers_to_person)" - Range contains prov:Entity instances (PersonObservation) annotations: inverse_slot: refers_to_person @@ -39,7 +38,7 @@ slots: - value: | Person: person_id: "https://nde.nl/ontology/hc/person/taco-dibbits" - preferred_name: "Taco Dibbits"\ + preferred_name: "Taco Dibbits" has_person_observation: - - "https://nde.nl/ontology/hc/observation/linkedin-taco-dibbits-202... + - "https://nde.nl/ontology/hc/observation/linkedin-taco-dibbits-2024" description: Usage example diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_description.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_description.yaml new file mode 100644 index 0000000000..7b17cfde7b --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_description.yaml @@ -0,0 +1,29 @@ +id: https://nde.nl/ontology/hc/slot/motivation_type_description +name: motivation_type_description_slot +title: Motivation Type Description Slot +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + dcterms: http://purl.org/dc/terms/ +imports: + - linkml:types +default_prefix: hc +slots: + motivation_type_description: + description: >- + Detailed description of an annotation motivation type including + purpose, characteristics, and typical use cases. + range: string + slot_uri: skos:definition + exact_mappings: + - skos:definition + close_mappings: + - dcterms:description + annotations: + custodian_types: '["*"]' + custodian_types_rationale: >- + Applicable to all heritage custodian types. + specificity_score: 0.6 + specificity_rationale: >- + Moderately specific to annotation systems. diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_id.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_id.yaml new file mode 100644 index 0000000000..7975c70c1e --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_id.yaml @@ -0,0 +1,28 @@ +id: https://nde.nl/ontology/hc/slot/motivation_type_id +name: motivation_type_id_slot +title: Motivation Type ID Slot +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + dcterms: http://purl.org/dc/terms/ + skos: http://www.w3.org/2004/02/skos/core# +imports: + - linkml:types +default_prefix: hc +slots: + motivation_type_id: + description: >- + Unique identifier for an annotation motivation type. + range: uriorcurie + slot_uri: dcterms:identifier + exact_mappings: + - dcterms:identifier + close_mappings: + - skos:notation + annotations: + custodian_types: '["*"]' + custodian_types_rationale: >- + Applicable to all heritage custodian types that use annotations. + specificity_score: 0.6 + specificity_rationale: >- + Moderately specific to annotation systems. diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_name.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_name.yaml new file mode 100644 index 0000000000..3d01037ad1 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/motivation_type_name.yaml @@ -0,0 +1,28 @@ +id: https://nde.nl/ontology/hc/slot/motivation_type_name +name: motivation_type_name_slot +title: Motivation Type Name Slot +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + rdfs: http://www.w3.org/2000/01/rdf-schema# +imports: + - linkml:types +default_prefix: hc +slots: + motivation_type_name: + description: >- + Canonical name for an annotation motivation type. + range: string + slot_uri: skos:prefLabel + exact_mappings: + - skos:prefLabel + close_mappings: + - rdfs:label + annotations: + custodian_types: '["*"]' + custodian_types_rationale: >- + Applicable to all heritage custodian types. + specificity_score: 0.6 + specificity_rationale: >- + Moderately specific to annotation systems.