id: https://nde.nl/ontology/hc/class/DetectedEntity name: DetectedEntity title: Detected Entity Class prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ prov: http://www.w3.org/ns/prov# schema: http://schema.org/ crm: http://www.cidoc-crm.org/cidoc-crm/ skos: http://www.w3.org/2004/02/skos/core# default_prefix: hc imports: - linkml:types - ../slots/has_or_had_identifier - ../slots/has_or_had_label - ../slots/has_or_had_type - ../slots/is_or_was_generated_by - ./GenerationEvent - ./ConfidenceScore - ../slots/has_or_had_time_interval - ./TimeInterval - ../slots/has_or_had_geographic_extent classes: DetectedEntity: class_uri: prov:Entity description: "Base class for entities detected through automated analysis processes.\n\n**DEFINITION**:\n\nDetectedEntity represents items identified by automated analysis pipelines\n(computer vision, NLP, audio analysis, etc.). Each detected entity captures:\n- What was detected (via has_or_had_type \u2192 specific Type class)\n- Detection confidence (probability score)\n- Temporal/spatial location (timestamps, bounding boxes)\n\n**CRITICAL: DETECTION vs TYPE**\n\n| Aspect | DetectedEntity (This Class) | *Type Classes (Categories) |\n|--------|----------------------------|---------------------------|\n| **Nature** | Detection result | Classification |\n| **Examples** | \"Transition at 00:03:15\" | FADE_IN, CUT, DISSOLVE |\n| **Properties** | Confidence, timestamps | Semantic metadata |\n| **Cardinality** | Many instances per video | ~20-30 types |\n\n**USE CASE - Video Annotation**:\n\n```\nVideoAnnotation\n \u2502\n \u2514\u2500\u2500 has_or_had_detected \u2192 DetectedEntity[]\n\ \ \u251C\u2500\u2500 has_or_had_type \u2192 TransitionType (FADE_IN, CUT, etc.)\n \u251C\u2500\u2500 confidence_score \u2192 0.95\n \u251C\u2500\u2500 start_time \u2192 \"00:03:15\"\n \u2514\u2500\u2500 end_time \u2192 \"00:03:17\"\n```\n\n**USE CASE - Text Detection**:\n\n```\nVideoAnnotation\n \u2502\n \u2514\u2500\u2500 has_or_had_detected \u2192 DetectedEntity[]\n \u251C\u2500\u2500 has_or_had_type \u2192 TextType (TITLE, CAPTION, etc.)\n \u251C\u2500\u2500 confidence_score \u2192 0.87\n \u251C\u2500\u2500 has_or_had_geographic_extent \u2192 [x1, y1, x2, y2]\n \u2514\u2500\u2500 has_or_had_label \u2192 \"Museum Tour\"\n```\n\n**ONTOLOGY ALIGNMENT**:\n\n- **PROV-O Entity**: Detected entities are generated by activities\n- **W3C Web Annotation**: Compatible with annotation body/target patterns\n- **CIDOC-CRM E73_Information_Object**: Information derived from sources\n\n**RELATIONSHIP TO SLOTS**:\n\n- `has_or_had_detected`:\ \ Links from VideoAnnotation \u2192 DetectedEntity[]\n- `has_or_had_type`: Links DetectedEntity \u2192 TransitionType, TextType, etc.\n- Uses shared slots for identifier, label, confidence\n" abstract: false exact_mappings: - prov:Entity close_mappings: - crm:E73_Information_Object - schema:DataDownload related_mappings: - schema:Thing - crm:E21_Person slots: - has_or_had_identifier - has_or_had_label - has_or_had_type - is_or_was_generated_by - has_or_had_time_interval - has_or_had_geographic_extent attributes: start_time: range: string required: false description: Start timestamp for temporal detections (ISO 8601 or HH:MM:SS format). Defined as attribute. examples: - value: 00:03:15 - value: PT3M15S slot_usage: has_or_had_identifier: range: string required: false description: Unique identifier for this detection instance examples: - value: detection-001 - value: transition-fade-00:03:15 has_or_had_type: range: string required: true description: 'Type of detected entity. Specialize range in subclasses or slot_usage to reference specific Type classes (TransitionType, TextType, etc.) ' examples: - value: TransitionType:FADE_IN - value: TextType:TITLE has_or_had_label: range: string required: false description: Human-readable label for the detected entity (e.g., detected text content) examples: - value: Museum Tour - value: Opening Credits is_or_was_generated_by: range: GenerationEvent required: false inlined: true description: 'Generation event containing confidence score for entity detection. MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.' examples: - value: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: computer_vision description: High confidence detection - value: has_or_had_score: has_or_had_score: 0.62 has_or_had_method: ocr_extraction description: Moderate confidence, may need review has_or_had_time_interval: range: TimeInterval required: false inlined: true description: Duration of detection. Replaces end_time. Use duration_value for ISO 8601 duration (e.g., PT2S). examples: - value: duration_value: PT0M02S description: 2 second duration has_or_had_geographic_extent: range: float multivalued: true required: false description: Spatial location as [x1, y1, x2, y2] pixel coordinates for image detection examples: - value: - 100.0 - 50.0 - 400.0 - 150.0 description: Bounding box for detected text region annotations: specificity_score: '0.65' specificity_rationale: Fairly specific - detection entities are domain-relevant for media analysis. has_or_had_score: null replaces_pattern: "Replaces inline transition_types_detected and text_types_detected slots\nwith structured DetectedEntity \u2192 has_or_had_type \u2192 Type pattern.\n" custodian_types: "['*']" custodian_types_rationale: Universal utility concept comments: - Base class for automated detection results - Use has_or_had_type to link to specific Type classes (TransitionType, TextType) - 'Captures detection metadata: confidence (via is_or_was_generated_by), timestamps, bounding boxes' - Generated by detection activities (prov:wasGeneratedBy pattern) - 'Rule 39 compliant: uses has_or_had_* slot naming' - "MIGRATED 2026-01-19: confidence_score \u2192 is_or_was_generated_by + ConfidenceScore" see_also: - https://www.w3.org/TR/prov-o/#Entity - https://www.w3.org/TR/annotation-model/ - http://www.cidoc-crm.org/cidoc-crm/E73_Information_Object examples: - value: has_or_had_identifier: transition-001 has_or_had_type: TransitionType:FADE_IN is_or_was_generated_by: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: video_analysis start_time: 00:03:15 has_or_had_time_interval: duration_value: PT0M02S description: Video transition detection (fade in) - value: has_or_had_identifier: text-001 has_or_had_type: TextType:TITLE has_or_had_label: Museum Tour Guide is_or_was_generated_by: has_or_had_score: has_or_had_score: 0.87 has_or_had_method: ocr_extraction has_or_had_geographic_extent: - 100.0 - 50.0 - 400.0 - 150.0 description: On-screen text detection