linkml 1.8.7__py3-none-any.whl → 1.9.0rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,7 @@
21
21
  {%- endif -%}
22
22
  {% endmacro %}
23
23
 
24
- # Class: {{ title }}
24
+ # Class: {{ title }} {% if element.deprecated %} <span style="color: red;"><strong> (DEPRECATED) </strong> {% endif %}
25
25
 
26
26
  {%- if header -%}
27
27
  {{header}}
@@ -1,4 +1,4 @@
1
- # Enum: {{ gen.name(element) }}
1
+ # Enum: {{ gen.name(element) }} {% if element.deprecated %} <span style="color: red;"><strong> (DEPRECATED) </strong> {% endif %}
2
2
 
3
3
  {% if element.description %}
4
4
  {% set element_description_lines = element.description.split('\n') %}
@@ -1,4 +1,4 @@
1
- # {{ schema.name }}
1
+ # {{ schema.name }} {% if schema.deprecated %} <span style="color: red;"><strong> (DEPRECATED) </strong> {% endif %}
2
2
 
3
3
  {{ schema.description }}
4
4
 
@@ -21,7 +21,7 @@
21
21
  {%- endif -%}
22
22
  {% endmacro %}
23
23
 
24
- # Slot: {{ title }}
24
+ # Slot: {{ title }} {% if element.deprecated %} <span style="color: red;"><strong> (DEPRECATED) </strong> {% endif %}
25
25
 
26
26
  {%- if header -%}
27
27
  {{header}}
@@ -40,6 +40,9 @@ _{{ element_description_line }}_
40
40
 
41
41
  URI: {{ gen.uri_link(element) }}
42
42
 
43
+ {%- if element.alias %}
44
+ Alias: {{ element.alias }}
45
+ {% endif -%}
43
46
 
44
47
  {% if schemaview.slot_parents(element.name) or schemaview.slot_children(element.name, mixins=False) %}
45
48
 
@@ -1,4 +1,4 @@
1
- # Subset: {{ gen.name(element) }}
1
+ # Subset: {{ gen.name(element) }} {% if element.deprecated %} <span style="color: red;"><strong> (DEPRECATED) </strong> {% endif %}
2
2
 
3
3
  {%- if header -%}
4
4
  {{ header }}
@@ -1,4 +1,4 @@
1
- # Type: {{ gen.name(element) }}
1
+ # Type: {{ gen.name(element) }} {% if element.deprecated %} <span style="color: red;"><strong> (DEPRECATED) </strong> {% endif %}
2
2
 
3
3
  {% if element.description %}
4
4
  {% set element_description_lines = element.description.split('\n') %}
@@ -114,8 +114,16 @@ def cli(
114
114
  ):
115
115
  # You can use the `--materialize` / `--no-materialize` for control
116
116
  # over both attribute and pattern materialization.
117
- materialize_attributes = bool(materialize)
118
- materialize_patterns = bool(materialize)
117
+
118
+ # If the user did not explicitly specify materialize_attributes,
119
+ # fall back to the umbrella materialize flag.
120
+ if materialize_attributes is None:
121
+ materialize_attributes = materialize
122
+
123
+ # If the user did not explicitly specify materialize_patterns,
124
+ # fall back to the umbrella materialize flag.
125
+ if materialize_patterns is None:
126
+ materialize_patterns = materialize
119
127
 
120
128
  gen = LinkmlGenerator(
121
129
  yamlfile,
@@ -30,6 +30,8 @@ class ShaclGenerator(Generator):
30
30
  """parameterized suffix to be appended. No suffix per default."""
31
31
  include_annotations: bool = False
32
32
  """True means include all class / slot / type annotations in generated Node or Property shapes"""
33
+ exclude_imports: bool = False
34
+ """If True, elements from imported ontologies won't be included in the generator's output"""
33
35
  generatorname = os.path.basename(__file__)
34
36
  generatorversion = "0.0.1"
35
37
  valid_formats = ["ttl"]
@@ -63,7 +65,7 @@ class ShaclGenerator(Generator):
63
65
  for pfx in self.schema.prefixes.values():
64
66
  g.bind(str(pfx.prefix_prefix), pfx.prefix_reference)
65
67
 
66
- for c in sv.all_classes().values():
68
+ for c in sv.all_classes(imports=not self.exclude_imports).values():
67
69
 
68
70
  def shape_pv(p, v):
69
71
  if v is not None:
@@ -364,6 +366,13 @@ def add_simple_data_type(func: Callable, r: ElementName) -> None:
364
366
  show_default=True,
365
367
  help="Use --include-annotations to include annotations of slots, types, and classes in the generated SHACL shapes.",
366
368
  )
369
+ @click.option(
370
+ "--exclude-imports/--include-imports",
371
+ default=False,
372
+ show_default=True,
373
+ help="Use --exclude-imports to exclude imported elements from the generated SHACL shapes. This is useful when "
374
+ "extending a substantial ontology to avoid large output files.",
375
+ )
367
376
  @click.version_option(__version__, "-V", "--version")
368
377
  def cli(yamlfile, **args):
369
378
  """Generate SHACL turtle from a LinkML model"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: linkml
3
- Version: 1.8.7
3
+ Version: 1.9.0rc1
4
4
  Summary: Linked Open Data Modeling Language
5
5
  Home-page: https://linkml.io/linkml/
6
6
  Keywords: schema,linked data,data modeling,rdf,owl,biolink
@@ -15,16 +15,16 @@ linkml/generators/common/template.py,sha256=bjcSNiC85MYl9oGhk0ZpqwZpRxxy_NqxG8XB
15
15
  linkml/generators/common/type_designators.py,sha256=lgVcIRJJ-yCvVGeP9U_gQZpm77UmJBQo9Bh3lGJITno,1956
16
16
  linkml/generators/csvgen.py,sha256=O20K3IuDxomGJAyNFJmm1_HbPyl6xUK0l-aKY0A3KcM,3253
17
17
  linkml/generators/dbmlgen.py,sha256=IrtY65iFdXg4wHBP9vHQeV20HUOUB1XlggPtmt_YvGM,5466
18
- linkml/generators/docgen/class.md.jinja2,sha256=-JmjYHgYOaaBYd5r-Tr5dkk0CLM_lX0kHdocPQtRsjU,3504
18
+ linkml/generators/docgen/class.md.jinja2,sha256=LqQSKfH-wWR1ELTbhuEK5QFypU__uqwLmbGvS9rZsKo,3602
19
19
  linkml/generators/docgen/class_diagram.md.jinja2,sha256=gzskx4hOpU_s6BqOXdYZ9DwKxuClnsEgDzPurm30PeY,3469
20
20
  linkml/generators/docgen/common_metadata.md.jinja2,sha256=gy9J8rghBfKDKimwtHj_XuHY4PJRRYHLXVlBHqWrUzU,1604
21
- linkml/generators/docgen/enum.md.jinja2,sha256=mXnUrRkleY2bOTEyAZ5c4pcUnqhs6BNa8a-4LVve-eo,1014
21
+ linkml/generators/docgen/enum.md.jinja2,sha256=BCi4PUamCjszM17yrg2KNltR_JfrBjNdH87S5uz9DtY,1112
22
22
  linkml/generators/docgen/index.md.jinja2,sha256=suXRgJydHrxcMm3quXukaKkThtdzYA9i7BTuMAVKOP0,1502
23
23
  linkml/generators/docgen/index.tex.jinja2,sha256=Go_EA-_N4JUpbOYbk3OY11mz5yV70VF2l2sMtgIPWw4,501
24
- linkml/generators/docgen/schema.md.jinja2,sha256=xlENfnzNRYgPT_0tdqNFxgklVM4Qf5BuzhFVvSMDuxs,70
25
- linkml/generators/docgen/slot.md.jinja2,sha256=dJHugIv9OPTi3FIn8Iez7CzjQizdXrcn0hcmCmXSgV4,3339
26
- linkml/generators/docgen/subset.md.jinja2,sha256=EPln_fjlhlkmwEGEp2iPX-9Xm2vVodPZLlRBlYCB_sA,2705
27
- linkml/generators/docgen/type.md.jinja2,sha256=QmCMJZrFwP33eHkggBVtypbyrxTb-XZn9vHOYojVaYk,635
24
+ linkml/generators/docgen/schema.md.jinja2,sha256=b52xmnlTheigxKgP_2Sq1nnQUEW6XNi_ScPnqxptjps,167
25
+ linkml/generators/docgen/slot.md.jinja2,sha256=_0xgRUlSYJMpxwGcboFoCAcELFDEzzXSTwBduPvwY-Q,3501
26
+ linkml/generators/docgen/subset.md.jinja2,sha256=ttcsDa2fLYOU1_tDzHOyEsplhc1UHY_cy1_apQZyk6A,2803
27
+ linkml/generators/docgen/type.md.jinja2,sha256=K0f7x5b3Nfjm1W-rDI4OHj2sU-RNm9hP1nuRJjHHJMU,733
28
28
  linkml/generators/docgen.py,sha256=iDSu2LsZ7MStrzXdxFwK-oBlVevq2MwBc1n5WzHzTyw,38996
29
29
  linkml/generators/dotgen.py,sha256=vjHveFtKBItHRkowi1I4FHffcn4u4wLpBydYgVxB-vE,5028
30
30
  linkml/generators/erdiagramgen.py,sha256=BteqzyVgKeUXfdCq3VHiiJMbuMrsn_D08IoNq8QMBcY,11462
@@ -39,7 +39,7 @@ linkml/generators/jsonldcontextgen.py,sha256=LpuTtzU4H6BH_615E4Fbt0QBCEopvqRMVOM
39
39
  linkml/generators/jsonldgen.py,sha256=d94TEPu9zeHDZqPU6cSaiQiJnv0kc_AXkXahi1xOBZ8,7789
40
40
  linkml/generators/jsonschemagen.py,sha256=8luthDkItlZ5bU4Lxt9b7tZx0HTIP4FZEZ5C2nwMMqA,30867
41
41
  linkml/generators/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- linkml/generators/linkmlgen.py,sha256=7GbD-ZErCblapbl_CukfHvFYOTbhgWiTIyg6O5BJSO0,3915
42
+ linkml/generators/linkmlgen.py,sha256=xYgS4i-Xo5Z3t9gqEdqxHKv5KGUxOerpy8M9kX6WeuI,4225
43
43
  linkml/generators/markdowngen.py,sha256=0gjMPJ0Ycm9se4Y4cyqjbTntGYqRRZu4RL-9Qf5n4lk,34464
44
44
  linkml/generators/mermaidclassdiagramgen.py,sha256=NzRDXmy2qMOUHmvrcd7LrKZiVR1J___pLRhQpGstGyA,4946
45
45
  linkml/generators/namespacegen.py,sha256=C4p9LSwsnDqf6sv-wG5l0VQniWFJ1HA1hRXJBDOg3pM,6467
@@ -72,7 +72,7 @@ linkml/generators/rdfgen.py,sha256=OT8oS8MPUVf5UK3OKvRWgAh9iQiWwdyWJSA69PncOw4,2
72
72
  linkml/generators/shacl/__init__.py,sha256=KgMOyESGTdKk2Vhx9uuUYgEJPuJQ-iT1vDQVIMoiXCM,58
73
73
  linkml/generators/shacl/shacl_data_type.py,sha256=gX3Y2KyTVPwMyef0cJMTEpU9h0oH-H0ThVDORdNW170,1828
74
74
  linkml/generators/shacl/shacl_ifabsent_processor.py,sha256=usmqdCvAPiivHzXWkNzW0G_KOaAG8bHdTCkEH2pI0b4,4364
75
- linkml/generators/shaclgen.py,sha256=RcGoo4j-NJUavbdUo1gnYo4mXTivaYb8o-oIfaUrA_g,14833
75
+ linkml/generators/shaclgen.py,sha256=Gvg6Tm7S1FMQxPZ7fJErMrJ3mUbi5rj1yYPTiuuDf-Y,15283
76
76
  linkml/generators/shexgen.py,sha256=cr4x4ORZlre6XlToWKho5F4XjFwOlzR1SpOpbeOvRA4,9939
77
77
  linkml/generators/sparqlgen.py,sha256=2DaFrFIeMI7QQfiPn79J8ERILlkJALrabDnKK7usDJQ,6188
78
78
  linkml/generators/sqlalchemy/__init__.py,sha256=mb9AC1rIFkSiNZhhG0TAk45ol9PjS1XvsrvCjgfVUpQ,249
@@ -155,8 +155,8 @@ linkml/workspaces/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
155
155
  linkml/workspaces/datamodel/workspaces.py,sha256=4HdkqweGNfMPqnB1_Onc9DcTfkhoagTRcqruh08nRoI,14905
156
156
  linkml/workspaces/datamodel/workspaces.yaml,sha256=EjVrwPpeRZqJRjuGyyDRxxFzuv55SiLIXPBRUG6HStU,4233
157
157
  linkml/workspaces/example_runner.py,sha256=oViQ5gT8NkFTZbg0dW5LAOSAOAfJK8_QmKdYwzzGhgQ,12919
158
- linkml-1.8.7.dist-info/LICENSE,sha256=kORMoywK6j9_iy0UvLR-a80P1Rvc9AOM4gsKlUNZABg,535
159
- linkml-1.8.7.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
160
- linkml-1.8.7.dist-info/METADATA,sha256=hubj7dcgTrPQ2ZHmC9Es38FRabdXlkYzrYOqHNp_PS0,3874
161
- linkml-1.8.7.dist-info/entry_points.txt,sha256=CtvrM-5f3NuMEBTXONEnIo5UUJegBRWJvXUmrYfdIfM,2194
162
- linkml-1.8.7.dist-info/RECORD,,
158
+ linkml-1.9.0rc1.dist-info/LICENSE,sha256=kORMoywK6j9_iy0UvLR-a80P1Rvc9AOM4gsKlUNZABg,535
159
+ linkml-1.9.0rc1.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
160
+ linkml-1.9.0rc1.dist-info/entry_points.txt,sha256=CtvrM-5f3NuMEBTXONEnIo5UUJegBRWJvXUmrYfdIfM,2194
161
+ linkml-1.9.0rc1.dist-info/METADATA,sha256=U1wGvCcI0OTj9vrh7K-P_Avet2QMD1jGe1IA_jKCuuA,3877
162
+ linkml-1.9.0rc1.dist-info/RECORD,,