Skip to content

validation of properties of annotation objects #309

@keighrim

Description

@keighrim

This is re-open of #23. The PR (#170) that closed the issue only implemented validation of annotation objects' names and versions, but didn't do anything with properties dict.

The latest discussion on this problem was done in clamsproject/mmif#231, the last comment was;

More thoughts on the implementation of "full validation" of annotation objects based on vocab yaml (or equivalent piece of information from spec).

  1. the yaml file does not capture the full picture of the type definitions (For example, the yaml file doesn't contain any old versions of types). The yaml file works as a "source data" used for generating the public HTML files, and those HTLM files are the full pictures of the type definition. But they are not really ready for machine-consumption. We might want to reconsider resurrecting TTL, RDF, or other more machine-friendly formats published along with the HTML files. (vocabulary builder  mmif#7 (comment))

  2. To implement type/property validation in the SDK, we should either

    1. that undo individuated versioning of annotation types mmif#197 this fully bind vocab type definitions to every MMIF spec version, and invalidate any past and future types (and effective, disallowing pipelines made of apps using different spec version - meaning whenever a new spec comes out, all existing apps must be updated to work together.

    2. completely de-couple CLAMS vocabulary from MMIF spec (as described in this comment meanings of digits in semantic version mmif#14 (comment)), and retrieve the type definition at the runtime from the internet - this allows validating past and future types and their versions, but requires all apps to be "online" at the runtime. For closed archival system, this might not be a satisfiable condition.

Originally posted by @keighrim in clamsproject/mmif#231 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    ✨NNew feature or request

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions