From 38d83f3279a161633ee0d8489c21ca23683e9b88 Mon Sep 17 00:00:00 2001 From: sneakers-the-rat Date: Wed, 11 Oct 2023 20:42:27 -0700 Subject: [PATCH] fix JsonObj bug https://github.com/linkml/linkml/issues/1665 --- nwb_linkml/src/nwb_linkml/adapters/namespaces.py | 4 ++-- nwb_linkml/src/nwb_linkml/lang_elements.py | 3 ++- nwb_linkml/src/nwb_linkml/providers/schema.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/nwb_linkml/src/nwb_linkml/adapters/namespaces.py b/nwb_linkml/src/nwb_linkml/adapters/namespaces.py index dc3cd65..475b69f 100644 --- a/nwb_linkml/src/nwb_linkml/adapters/namespaces.py +++ b/nwb_linkml/src/nwb_linkml/adapters/namespaces.py @@ -97,10 +97,10 @@ class NamespacesAdapter(Adapter): # add in monkeypatch nwb types nwb_lang = copy(NwbLangSchema) - nwb_lang.annotations = { + nwb_lang.annotations.update({ 'is_namespace': Annotation(tag='is_namespace', value= 'False'), 'namespace': Annotation(tag='namespace', value= ns.name) - } + }) lang_schema_name = '.'.join([ns.name, 'nwb.language']) nwb_lang.name = lang_schema_name sch_result.schemas.append(nwb_lang) diff --git a/nwb_linkml/src/nwb_linkml/lang_elements.py b/nwb_linkml/src/nwb_linkml/lang_elements.py index 2030181..6bf3bd4 100644 --- a/nwb_linkml/src/nwb_linkml/lang_elements.py +++ b/nwb_linkml/src/nwb_linkml/lang_elements.py @@ -67,6 +67,7 @@ NwbLangSchema = SchemaDefinition( classes=[Arraylike, AnyType], types=DTypeTypes, imports=['linkml:types'], - prefixes={'linkml': Prefix('linkml','https://w3id.org/linkml')} + prefixes={'linkml': Prefix('linkml','https://w3id.org/linkml')}, + annotations=[{'tag': 'is_namespace', 'value': False}, {'tag': 'namespace', 'value': ''}] ) diff --git a/nwb_linkml/src/nwb_linkml/providers/schema.py b/nwb_linkml/src/nwb_linkml/providers/schema.py index dcfad4d..8ce85d7 100644 --- a/nwb_linkml/src/nwb_linkml/providers/schema.py +++ b/nwb_linkml/src/nwb_linkml/providers/schema.py @@ -384,7 +384,7 @@ class LinkMLProvider(Provider): # write schemas to yaml files build_result = {} - namespace_sch = [sch for sch in built.schemas if sch.annotations.get('is_namespace', False) and sch.annotations['is_namespace'].value == 'True'] + namespace_sch = [sch for sch in built.schemas if 'is_namespace' in sch.annotations and sch.annotations['is_namespace'].value == 'True'] for ns_linkml in namespace_sch: version = ns_adapter.versions[ns_linkml.name] version_path = self.namespace_path(ns_linkml.name, version, allow_repo=False)