Collection.iter_validate_collection() hardcodes JsonschemaValidationPlugin. Projects like NMDC have custom ValidationPlugin subclasses (e.g. NmdcSchemaValidationPlugin) that can't be used through linkml-store's validation path.
Proposal: Accept an optional plugins parameter:
def iter_validate_collection(self, plugins=None, **kwargs):
if plugins is None:
plugins = [JsonschemaValidationPlugin(closed=True)]
...
Note: The MongoDBLoader for linkml validate is being tracked in linkml/linkml#3380 — it belongs in linkml core rather than here, since it's ~15 lines of pymongo and shouldn't require a linkml-store dependency. This issue is about the separate question of making linkml-store's own validation flexible.
Context: microbiomedata/nmdc-schema#2969
Collection.iter_validate_collection()hardcodesJsonschemaValidationPlugin. Projects like NMDC have customValidationPluginsubclasses (e.g.NmdcSchemaValidationPlugin) that can't be used through linkml-store's validation path.Proposal: Accept an optional
pluginsparameter:Note: The
MongoDBLoaderforlinkml validateis being tracked in linkml/linkml#3380 — it belongs in linkml core rather than here, since it's ~15 lines of pymongo and shouldn't require a linkml-store dependency. This issue is about the separate question of making linkml-store's own validation flexible.Context: microbiomedata/nmdc-schema#2969