Create tasks sub-folder with .ttl schema.org and SHACL files + basic python validator#1016
Conversation
…itory, providing (1) an extension of schema.org in croissant-tasks.ttl to define metadata for machine learning tasks, (2) SHACL shapes in croissant-tasks-shapes.ttl enforcing the format compliance, (3) A validator.py script + a simple test suite targeting both valid and invalid JSON-LD examples.
|
MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅ |
|
Hi, The workflow is failing at the notebook tests, it seems that it needs to be refactored? Here is an AI-generated explanation + potential fix: The Problem
The notebook is trying to run !apt-get install without sudo, but the GitHub actions runner requires sudo to install system packages.
Modern versions of pip dropped support for the old #egg=name[extra] syntax when installing from git repositories. Because this failed, the dependencies (including etils) were never actually installed.
The Solution Open the notebook, find the very first code block that looks like this: And replace the two commands with correctly formatted versions: What changed:
|
…at some attribute be undetermined (a spec). TaskSolution only requires a pointer to a TaskProblem. Checking that TaskSolution actually solves the TaskProblem it points to will be done later in python, not in SHACL.
…example to test suite.
benjelloun
left a comment
There was a problem hiding this comment.
Very nice! Sorry for the late review.
| sh:targetClass croissant:TaskProblem ; | ||
| # A TaskProblem must have at least one property that is a spec class | ||
| sh:property [ | ||
| sh:or ( |
There was a problem hiding this comment.
Why not the execution or evaluation?
There was a problem hiding this comment.
Will add the execution spec option to the execution field of the TaskProblem, as it might be filled later for a particular TaskSolution execution.
As for the evaluation, intuitively, at least for benchmarks, evaluation should be concrete on the TaskProblem, otherwise each solution could specify its own evaluation metrics?
There was a problem hiding this comment.
Agree for benchmarks, but with a bit of imagination, I could imagine some other types of tasks where the evaluation is not specified by the problem...
…nTask. Added spec to README. Some more shapes in the SHACL file.
This pull request creates the tasks sub-folder to the Croissant repository, providing (1) an extension of schema.org in croissant-tasks.ttl to define metadata for machine learning tasks, (2) SHACL shapes in croissant-tasks-shapes.ttl enforcing the format compliance, (3) A validator.py script + a simple test suite targeting both valid and invalid JSON-LD examples.