glam/frontend/public/schemas/20251121/linkml/modules/classes/Methodology.yaml
kempersc 53c6dbc2d9 feat(schema): Migrate temporal slots and introduce new pattern classes
Major slot migrations following slot_fixes.yaml revisions:
- TimeSpan: begin_of_the_begin, begin_of_the_end, end_of_the_begin, end_of_the_end
- Quantity: has_or_had_measurement_unit with MeasureUnit class
- Description: has_or_had_description with Description class
- URL, WikiData, Timestamp, Location, Provenance pattern classes

New slots for RiC-O compliance:
- Temporal: has_or_had_time_interval, calendar_system
- Transfer: is_or_was_transferred, has_or_had_policy
- Location: starts/ends_or_started/ended_at_location
- Provenance: has_or_had_provenance_path, is_or_was_webarchived_at

Archive deprecated slots per Rule 53 workflow.
2026-01-14 20:01:55 +01:00

212 lines
7.1 KiB
YAML

id: https://nde.nl/ontology/hc/class/Methodology
name: methodology_class
title: Methodology Class
description: >-
Defines the methodology or technique used to derive a measurement or observation.
**RULE 53 COMPLIANT**: Created for unique_object_count and unique_face_count
migration per slot_fixes.yaml revision (lines 1951-1994).
**PROV-O ALIGNMENT**:
Maps to `prov:Plan` - "A plan is an entity that represents a set of actions or
steps intended by one or more agents to achieve some goals."
In the PROV-O data model, a Plan describes HOW an activity was performed.
Methodology extends this to describe HOW a measurement was derived.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/MethodologyTypeEnum
default_prefix: hc
classes:
Methodology:
class_uri: prov:Plan
description: >-
Describes the methodology, technique, or algorithm used to derive a measurement.
**PROV-O ALIGNMENT**:
Maps to `prov:Plan` which represents "a set of actions or steps intended by
one or more agents to achieve some goals." In measurement contexts, this
describes HOW a value was computed or derived.
**WHY METHODOLOGY MATTERS**:
Two measurements of "unique objects" could use different methodologies:
| Methodology | Description | Accuracy |
|-------------|-------------|----------|
| ENTITY_RESOLUTION | Deduplication via feature matching | High |
| TRACKING | Object tracking across frames | Medium |
| MANUAL_COUNT | Human counting | Variable |
| SAMPLING | Statistical sampling | Estimated |
Without methodology, two measurements cannot be meaningfully compared.
**HERITAGE USE CASES**:
- **Video annotation**: How unique faces/objects were counted (entity resolution)
- **Collection inventories**: How item counts were derived (physical vs. digital)
- **Visitor statistics**: How attendance was measured (counters, tickets, samples)
- **Digitization metrics**: How completeness was assessed
**EXAMPLE**:
```yaml
has_or_had_methodology:
methodology_type: ENTITY_RESOLUTION
has_or_had_label: "RetinaFace + ArcFace clustering"
has_or_had_description: >-
Faces detected using RetinaFace model, then clustered
using ArcFace embeddings with cosine similarity threshold 0.6
to identify unique individuals.
```
exact_mappings:
- prov:Plan
close_mappings:
- schema:HowToStep
related_mappings:
- dcterms:methodology
slots:
- has_or_had_identifier
- methodology_type
- has_or_had_label
- has_or_had_description
- algorithm_name
- algorithm_version
- confidence_threshold
- specificity_annotation
- template_specificity
slot_usage:
has_or_had_identifier:
range: uriorcurie
required: false
identifier: true
description: >-
Optional identifier for this methodology specification.
examples:
- value: https://nde.nl/ontology/hc/methodology/retinaface-arcface-v1
description: Face clustering methodology identifier
methodology_type:
range: MethodologyTypeEnum
required: false
description: >-
The type of methodology used.
examples:
- value: ENTITY_RESOLUTION
description: Deduplication via feature matching
- value: OBJECT_TRACKING
description: Multi-object tracking across frames
has_or_had_label:
range: string
required: false
description: >-
Human-readable name for the methodology.
examples:
- value: "RetinaFace + ArcFace clustering"
description: Face detection and clustering pipeline
has_or_had_description:
range: string
required: false
description: >-
Detailed description of the methodology.
examples:
- value: "Faces detected using RetinaFace, clustered using ArcFace embeddings"
description: Algorithm description
algorithm_name:
range: string
required: false
description: >-
Name of the algorithm or model used.
examples:
- value: "YOLOv8"
description: Object detection model
- value: "ArcFace"
description: Face recognition model
algorithm_version:
range: string
required: false
description: >-
Version of the algorithm or model.
examples:
- value: "1.0.0"
- value: "v8n"
confidence_threshold:
range: float
required: false
minimum_value: 0.0
maximum_value: 1.0
description: >-
Confidence threshold used for detection/classification.
examples:
- value: 0.6
description: 60% confidence threshold for face matching
comments:
- Describes HOW a measurement was derived
- Essential for comparing measurements from different sources
- Maps to PROV-O Plan for provenance tracking
- Rule 53 compliant - supports unique_object_count/unique_face_count migration
see_also:
- https://www.w3.org/TR/prov-o/#Plan
examples:
- value:
methodology_type: ENTITY_RESOLUTION
has_or_had_label: "RetinaFace + ArcFace clustering"
has_or_had_description: >-
Faces detected using RetinaFace model, then clustered
using ArcFace embeddings with cosine similarity threshold 0.6.
algorithm_name: "ArcFace"
confidence_threshold: 0.6
description: Face entity resolution methodology
- value:
methodology_type: OBJECT_TRACKING
has_or_had_label: "DeepSORT multi-object tracking"
has_or_had_description: >-
Objects tracked across video frames using DeepSORT algorithm
with Kalman filtering and appearance features.
algorithm_name: "DeepSORT"
algorithm_version: "1.0"
description: Object tracking methodology
slots:
methodology_type:
description: >-
The type of methodology used for measurement derivation.
range: MethodologyTypeEnum
slot_uri: hc:methodologyType
algorithm_name:
description: >-
Name of the algorithm, model, or technique used.
range: string
slot_uri: hc:algorithmName
algorithm_version:
description: >-
Version identifier for the algorithm or model.
range: string
slot_uri: hc:algorithmVersion
confidence_threshold:
description: >-
Confidence threshold used for detection, matching, or classification.
range: float
slot_uri: hc:confidenceThreshold