Skip to content

Use classes as property range and avoid generic uses of Concept and Literal #26

@coolharsh55

Description

@coolharsh55

The specification has a high number of properties where the range is Concept or Literal. These lead to arbitray uses and create issues regarding interoperability. For example, MachineLearningModel has a property evaluationResults with range Literal. This has two significant issues:

  1. We need to interpret this information manually, whereas an enumerated taxonomy would provide important context such as EvaluatedHighErrors or even provide a set of evaluations run PassedTestA -- where both these as instances of some class such as EvaluationResult. This class then allows creating specific instances and subclasses so that evaluations can be structured and compared e.g. TestA is a more specific form of TestB such that passing A also means you have passed B. This is sem-web best practice and a cornerstone of semantic interoperability.
  2. If there are multiple evaluations run, and we only have literals to use, then the two properties evaluationResults and evaluationStrategy will have ambiguous combinations. E.g. for these triples :evaluationResults ex:R1, ex:R2 and :evaluationStrategy ex:S1, ex:S2, we cannot state that ex:S1 was used to get ex:R1 and ex:S2 for ex:R2. The solution (as with no.1 above) is to have a class such as Evaluation whose instances can then contain the results, strategies, and also allow additional information such as who conducted this, when it was conducted, etc.

This also occurs in other properties such as intended use, limitations, how to use, etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions