(linkml) paul@monkeywrench:~/vtmp$ linkml-lint -V
linkml-lint, version 1.10.0
(linkml) paul@monkeywrench:~/vtmp$
(linkml) paul@monkeywrench:~/vtmp$ linkml-lint in-schema.yaml
✓ No problems found
(linkml) paul@monkeywrench:~/vtmp$
(linkml) paul@monkeywrench:~/vtmp$ linkml-map map-data -T map.yaml -s in-schema.yaml in-data.json
Traceback (most recent call last):
File "/home/paul/Venv/linkml/bin/linkml-map", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/click/core.py", line 1161, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/click/core.py", line 1697, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/click/core.py", line 1443, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/click/core.py", line 788, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_map/cli/cli.py", line 156, in map_data
_map_data_single(
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_map/cli/cli.py", line 178, in _map_data_single
tr.source_schemaview = SchemaView(schema)
^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_runtime/utils/schemaview.py", line 304, in __init__
schema = load_schema_wrap(schema)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_runtime/utils/schemaview.py", line 210, in load_schema_wrap
schema: SchemaDefinition = yaml_loader.load(path, target_class=SchemaDefinition, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_runtime/loaders/loader_root.py", line 82, in load
results = self.load_any(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_runtime/loaders/yaml_loader.py", line 49, in load_any
return self._construct_target_class(data_as_dict, target_class)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_runtime/loaders/loader_root.py", line 153, in _construct_target_class
return target_class(**data_as_dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 68, in __init__
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_runtime/linkml_model/meta.py", line 615, in __post_init__
self.MissingRequiredField("name")
File "/home/paul/Venv/linkml/lib/python3.11/site-packages/linkml_runtime/utils/yamlutils.py", line 285, in MissingRequiredField
raise ValueError(f"{field_name} must be supplied")
ValueError: name must be supplied
(linkml) paul@monkeywrench:~/vtmp$
Describe the bug
The
linkml-linterdescribed a schema definition as valid, even though it was missing the mandatorynamefield.Version of LinkML you are using
Please provide a schema (and if applicable, a data file) that replicates the issue
File:
in-schema.yamlHere is an example of this failing:
The above problem is fixed by adding a valid
nameslot in the schema description.