Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion linkml_runtime/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from pathlib import Path
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.utils.schemaview import SchemaView
from rdflib import RDF, RDFS, SKOS, XSD, OWL

Expand Down
6 changes: 3 additions & 3 deletions linkml_runtime/linkml_model/annotations.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
from typing import Optional, Union, ClassVar, Any
from dataclasses import dataclass

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.metamodelcore import empty_dict
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.metamodelcore import empty_dict
from linkml_runtime.utils.yamlutils import YAMLRoot
from rdflib import URIRef
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.types.curienamespace import CurieNamespace
from .extensions import AnyValue, Extension, ExtensionTag

metamodel_version = "1.7.0"
Expand Down
10 changes: 5 additions & 5 deletions linkml_runtime/linkml_model/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
from typing import Optional, Union, ClassVar, Any
from dataclasses import dataclass

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.metamodelcore import empty_list
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.metamodelcore import empty_list

Check warning on line 13 in linkml_runtime/linkml_model/datasets.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/linkml_model/datasets.py#L12-L13

Added lines #L12 - L13 were not covered by tests
from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.types.enum import EnumDefinitionImpl

Check warning on line 15 in linkml_runtime/linkml_model/datasets.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/linkml_model/datasets.py#L15

Added line #L15 was not covered by tests
from rdflib import URIRef
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.metamodelcore import URI, URIorCURIE, XSDDateTime
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.types.metamodelcore import URI, URIorCURIE, XSDDateTime

Check warning on line 18 in linkml_runtime/linkml_model/datasets.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/linkml_model/datasets.py#L17-L18

Added lines #L17 - L18 were not covered by tests

metamodel_version = "1.7.0"
version = None
Expand Down
8 changes: 4 additions & 4 deletions linkml_runtime/linkml_model/extensions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
from typing import Optional, Union, ClassVar, Any
from dataclasses import dataclass

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.metamodelcore import empty_dict
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.metamodelcore import empty_dict
from linkml_runtime.utils.yamlutils import YAMLRoot
from rdflib import URIRef
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.metamodelcore import URIorCURIE
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.types.metamodelcore import URIorCURIE

metamodel_version = "1.7.0"
version = "2.0.0"
Expand Down
6 changes: 3 additions & 3 deletions linkml_runtime/linkml_model/mappings.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

from typing import Optional, Union

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.metamodelcore import URIorCURIE
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.types.metamodelcore import URIorCURIE

Check warning on line 13 in linkml_runtime/linkml_model/mappings.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/linkml_model/mappings.py#L11-L13

Added lines #L11 - L13 were not covered by tests

metamodel_version = "1.7.0"
version = "2.0.0"
Expand Down
10 changes: 5 additions & 5 deletions linkml_runtime/linkml_model/meta.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,17 @@
from typing import Optional, Union, ClassVar, Any
from dataclasses import dataclass

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.metamodelcore import empty_list, empty_dict
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.metamodelcore import empty_list, empty_dict
from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str
from linkml_runtime.utils.formatutils import sfx
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.types.enum import EnumDefinitionImpl
from rdflib import URIRef
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.types.curienamespace import CurieNamespace
from .annotations import Annotation, AnnotationTag
from .extensions import Extension, ExtensionTag
from .units import UnitOfMeasure
from linkml_runtime.utils.metamodelcore import Bool, NCName, URI, URIorCURIE, XSDDateTime
from linkml_runtime.types.metamodelcore import Bool, NCName, URI, URIorCURIE, XSDDateTime

metamodel_version = "1.7.0"
version = None
Expand Down
4 changes: 2 additions & 2 deletions linkml_runtime/linkml_model/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
# license: https://creativecommons.org/publicdomain/zero/1.0/


from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.metamodelcore import Bool, Curie, Decimal, ElementIdentifier, NCName, NodeIdentifier, URI, URIorCURIE, XSDDate, XSDDateTime, XSDTime
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.types.metamodelcore import Bool, Curie, Decimal, ElementIdentifier, NCName, NodeIdentifier, URI, URIorCURIE, XSDDate, XSDDateTime, XSDTime

metamodel_version = "1.7.0"
version = None
Expand Down
8 changes: 4 additions & 4 deletions linkml_runtime/linkml_model/units.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
from typing import Optional, Union, ClassVar, Any
from dataclasses import dataclass

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.metamodelcore import empty_list
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.metamodelcore import empty_list
from linkml_runtime.utils.yamlutils import YAMLRoot
from rdflib import URIRef
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.metamodelcore import URIorCURIE
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.types.metamodelcore import URIorCURIE

metamodel_version = "1.7.0"
version = None
Expand Down
10 changes: 5 additions & 5 deletions linkml_runtime/linkml_model/validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
from typing import Optional, Union, ClassVar, Any
from dataclasses import dataclass

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.metamodelcore import empty_list
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.metamodelcore import empty_list

Check warning on line 14 in linkml_runtime/linkml_model/validation.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/linkml_model/validation.py#L13-L14

Added lines #L13 - L14 were not covered by tests
from linkml_runtime.utils.yamlutils import YAMLRoot
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.types.enum import EnumDefinitionImpl

Check warning on line 16 in linkml_runtime/linkml_model/validation.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/linkml_model/validation.py#L16

Added line #L16 was not covered by tests
from rdflib import URIRef
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.metamodelcore import NodeIdentifier
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.types.metamodelcore import NodeIdentifier

Check warning on line 19 in linkml_runtime/linkml_model/validation.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/linkml_model/validation.py#L18-L19

Added lines #L18 - L19 were not covered by tests

metamodel_version = "1.7.0"
version = None
Expand Down
2 changes: 1 addition & 1 deletion linkml_runtime/processing/referencevalidator.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
)
from linkml_runtime.utils import yamlutils
from linkml_runtime.utils.eval_utils import eval_expr
from linkml_runtime.utils.metamodelcore import (
from linkml_runtime.types.metamodelcore import (
XSDTime,
Bool,
XSDDate,
Expand Down
10 changes: 5 additions & 5 deletions linkml_runtime/processing/validation_datamodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@
PermissibleValue,
)

from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.metamodelcore import empty_list, empty_dict
from linkml_runtime.types.slot import Slot
from linkml_runtime.types.metamodelcore import empty_list, empty_dict
from linkml_runtime.utils.yamlutils import (
YAMLRoot,
)
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.types.enum import EnumDefinitionImpl
from rdflib import URIRef
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.metamodelcore import Bool, URIorCURIE
from linkml_runtime.types.curienamespace import CurieNamespace
from linkml_runtime.types.metamodelcore import Bool, URIorCURIE

metamodel_version = "1.7.0"
version = None
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from dataclasses import fields
from typing import Union, Optional

from linkml_runtime.utils.metamodelcore import Curie
from linkml_runtime.types.metamodelcore import Curie
from linkml_runtime.utils.yamlutils import YAMLRoot


Expand Down
File renamed without changes.
210 changes: 210 additions & 0 deletions linkml_runtime/utils/curie_validator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
import re

Check warning on line 1 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L1

Added line #L1 was not covered by tests

"""

Check warning on line 3 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L3

Added line #L3 was not covered by tests
Regex for CURIEs

These regex are directly derived from the collected ABNF in RFC3986
(except for DIGIT, ALPHA and HEXDIG, defined by RFC2234).

They should be processed with re.VERBOSE.
"""


### basics

DIGIT = r"[0-9]"

Check warning on line 15 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L15

Added line #L15 was not covered by tests

ALPHA = r"[A-Za-z]"

Check warning on line 17 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L17

Added line #L17 was not covered by tests

HEXDIG = r"[0-9ABCDEF]"

Check warning on line 19 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L19

Added line #L19 was not covered by tests

# pct-encoded = "%" HEXDIG HEXDIG
pct_encoded = r" %% %(HEXDIG)s %(HEXDIG)s" % locals()

Check warning on line 22 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L22

Added line #L22 was not covered by tests

ucschar = "(?: \u00a0-\ud7ff | \uf900-\ufdcf | \ufdf0-\uffef | \u10000-\u1fffD | \u20000-\u2fffD | \u30000-\u3fffD | \u40000-\u4fffD | \u50000-\u5fffD | \u60000-\u6fffD | \u70000-\u7fffD | \u80000-\u8fffD | \u90000-\u9fffD | \ua0000-\uafffD | \ub0000-\ubfffD | \uc0000-\ucfffD | \ud0000-\udfffD | \ue1000-\uefff )"

Check warning on line 24 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L24

Added line #L24 was not covered by tests

# iunreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
iunreserved = r"(?: %(ALPHA)s | %(DIGIT)s | \- | \. | _ | ~ | %(ucschar)s )" % locals()

Check warning on line 27 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L27

Added line #L27 was not covered by tests

# gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
gen_delims = r"(?: : | / | \? | \# | \[ | \] | @ )"

Check warning on line 30 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L30

Added line #L30 was not covered by tests

# sub-delims = "!" / "$" / "&" / "'" / "("
sub_delims = r"(?: ! | \$ | & | ' | \( | \) | \* | \+ | , | ; | = )"

Check warning on line 33 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L33

Added line #L33 was not covered by tests

# ipchar = iunreserved / pct-encoded / sub-delims / ":" / "@"
ipchar = r"(?: %(iunreserved)s | %(pct_encoded)s | %(sub_delims)s | : | @ )" % locals()

Check warning on line 36 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L36

Added line #L36 was not covered by tests

# reserved = gen-delims / sub-delims
reserved = r"(?: %(gen_delims)s | %(sub_delims)s )" % locals()

Check warning on line 39 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L39

Added line #L39 was not covered by tests

CombiningChar = "[\u0300-\u0345] | [\u0360-\u0361] | [\u0483-\u0486] | [\u0591-\u05a1] | [\u05a3-\u05b9] | [\u05bb-\u05bd] | \u05bf | [\u05c1-\u05c2] | \u05c4 | [\u064b-\u0652] | \u0670 | [\u06d6-\u06dc] | [\u06dd-\u06df] | [\u06e0-\u06e4] | [\u06e7-\u06e8] | [\u06ea-\u06ed] | [\u0901-\u0903] | \u093c | [\u093e-\u094c] | \u094d | [\u0951-\u0954] | [\u0962-\u0963] | [\u0981-\u0983] | \u09bc | \u09be | \u09bf | [\u09c0-\u09c4] | [\u09c7-\u09c8] | [\u09cb-\u09cd] | \u09d7 | [\u09e2-\u09e3] | \u0a02 | \u0a3c | \u0a3e | \u0a3f | [\u0a40-\u0a42] | [\u0a47-\u0a48] | [\u0a4b-\u0a4d] | [\u0a70-\u0a71] | [\u0a81-\u0a83] | \u0abc | [\u0abe-\u0ac5] | [\u0ac7-\u0ac9] | [\u0acb-\u0acd] | [\u0b01-\u0b03] | \u0b3c | [\u0b3e-\u0b43] | [\u0b47-\u0b48] | [\u0b4b-\u0b4d] | [\u0b56-\u0b57] | [\u0b82-\u0b83] | [\u0bbe-\u0bc2] | [\u0bc6-\u0bc8] | [\u0bca-\u0bcd] | \u0bd7 | [\u0c01-\u0c03] | [\u0c3e-\u0c44] | [\u0c46-\u0c48] | [\u0c4a-\u0c4d] | [\u0c55-\u0c56] | [\u0c82-\u0c83] | [\u0cbe-\u0cc4] | [\u0cc6-\u0cc8] | [\u0cca-\u0ccd] | [\u0cd5-\u0cd6] | [\u0d02-\u0d03] | [\u0d3e-\u0d43] | [\u0d46-\u0d48] | [\u0d4a-\u0d4d] | \u0d57 | \u0e31 | [\u0e34-\u0e3a] | [\u0e47-\u0e4e] | \u0eb1 | [\u0eb4-\u0eb9] | [\u0ebb-\u0ebc] | [\u0ec8-\u0ecd] | [\u0f18-\u0f19] | \u0f35 | \u0f37 | \u0f39 | \u0f3e | \u0f3f | [\u0f71-\u0f84] | [\u0f86-\u0f8b] | [\u0f90-\u0f95] | \u0f97 | [\u0f99-\u0fad] | [\u0fb1-\u0fb7] | \u0fb9 | [\u20d0-\u20dc] | \u20e1 | [\u302a-\u302f] | \u3099 | \u309a"

Check warning on line 41 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L41

Added line #L41 was not covered by tests

Extender = "\u00b7 | \u02d0 | \u02d1 | \u0387 | \u0640 | \u0e46 | \u0ec6 | \u3005 | [\u3031-\u3035] | [\u309d-\u309e] | [\u30fc-\u30fe]"

Check warning on line 43 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L43

Added line #L43 was not covered by tests

NCNameChar = r"(?: %(ALPHA)s | %(DIGIT)s | \. | \- | _ | %(CombiningChar)s | %(Extender)s )" % locals()

Check warning on line 45 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L45

Added line #L45 was not covered by tests

prefix = r"(?: %(ALPHA)s | _ ) (?: %(NCNameChar)s )*" % locals()

Check warning on line 47 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L47

Added line #L47 was not covered by tests

### iauthority

# dec-octet = DIGIT ; 0-9
# / %x31-39 DIGIT ; 10-99
# / "1" 2DIGIT ; 100-199
# / "2" %x30-34 DIGIT ; 200-249
# / "25" %x30-35 ; 250-255
dec_octet = (

Check warning on line 56 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L56

Added line #L56 was not covered by tests
r"""(?: %(DIGIT)s |
[1-9] %(DIGIT)s |
1 %(DIGIT)s{2} |
2 [0-4] %(DIGIT)s |
25 [0-5]
)
"""
% locals()
)

# IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
IPv4address = r"%(dec_octet)s \. %(dec_octet)s \. %(dec_octet)s \. %(dec_octet)s" % locals()

Check warning on line 68 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L68

Added line #L68 was not covered by tests

# h16 = 1*4HEXDIG
h16 = r"(?: %(HEXDIG)s ){1,4}" % locals()

Check warning on line 71 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L71

Added line #L71 was not covered by tests

# ls32 = ( h16 ":" h16 ) / IPv4address
ls32 = r"(?: (?: %(h16)s : %(h16)s ) | %(IPv4address)s )" % locals()

Check warning on line 74 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L74

Added line #L74 was not covered by tests

# IPv6address = 6( h16 ":" ) ls32
# / "::" 5( h16 ":" ) ls32
# / [ h16 ] "::" 4( h16 ":" ) ls32
# / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
# / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
# / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32
# / [ *4( h16 ":" ) h16 ] "::" ls32
# / [ *5( h16 ":" ) h16 ] "::" h16
# / [ *6( h16 ":" ) h16 ] "::"
IPv6address = (

Check warning on line 85 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L85

Added line #L85 was not covered by tests
r"""(?: (?: %(h16)s : ){6} %(ls32)s |
:: (?: %(h16)s : ){5} %(ls32)s |
%(h16)s :: (?: %(h16)s : ){4} %(ls32)s |
(?: %(h16)s : ) %(h16)s :: (?: %(h16)s : ){3} %(ls32)s |
(?: %(h16)s : ){2} %(h16)s :: (?: %(h16)s : ){2} %(ls32)s |
(?: %(h16)s : ){3} %(h16)s :: %(h16)s : %(ls32)s |
(?: %(h16)s : ){4} %(h16)s :: %(ls32)s |
(?: %(h16)s : ){5} %(h16)s :: %(h16)s |
(?: %(h16)s : ){6} %(h16)s ::
)
"""
% locals()
)

# IPvFuture = "v" 1*HEXDIG "." 1*( iunreserved / sub-delims / ":" )
IPvFuture = r"v %(HEXDIG)s+ \. (?: %(iunreserved)s | %(sub_delims)s | : )+" % locals()

Check warning on line 101 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L101

Added line #L101 was not covered by tests

# IP-literal = "[" ( IPv6address / IPvFuture ) "]"
IP_literal = r"\[ (?: %(IPv6address)s | %(IPvFuture)s ) \]" % locals()

Check warning on line 104 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L104

Added line #L104 was not covered by tests

# ireg-name = *( iunreserved / pct-encoded / sub-delims )
ireg_name = r"(?: %(iunreserved)s | %(pct_encoded)s | %(sub_delims)s )*" % locals()

Check warning on line 107 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L107

Added line #L107 was not covered by tests

# iuserinfo = *( iunreserved / pct-encoded / sub-delims / ":" )
iuserinfo = r"(?: %(iunreserved)s | %(pct_encoded)s | %(sub_delims)s | : )" % locals()

Check warning on line 110 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L110

Added line #L110 was not covered by tests

# ihost = IP-literal / IPv4address / ireg-name
ihost = r"(?: %(IP_literal)s | %(IPv4address)s | %(ireg_name)s )" % locals()

Check warning on line 113 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L113

Added line #L113 was not covered by tests

# iport = *DIGIT
iport = r"(?: %(DIGIT)s )*" % locals()

Check warning on line 116 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L116

Added line #L116 was not covered by tests

# iauthority = [ iuserinfo "@" ] ihost [ ":" iport ]
iauthority = r"(?: %(iuserinfo)s @)? %(ihost)s (?: : %(iport)s)?" % locals()

Check warning on line 119 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L119

Added line #L119 was not covered by tests


### Path

# isegment = *ipchar
isegment = r"%(ipchar)s*" % locals()

Check warning on line 125 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L125

Added line #L125 was not covered by tests

# isegment-nz = 1*ipchar
isegment_nz = r"%(ipchar)s+" % locals()

Check warning on line 128 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L128

Added line #L128 was not covered by tests

# isegment-nz-nc = 1*( iunreserved / pct-encoded / sub-delims / "@" )
# ; non-zero-length segment without any colon ":"
isegment_nz_nc = r"(?: %(iunreserved)s | %(pct_encoded)s | %(sub_delims)s | @ )+" % locals()

Check warning on line 132 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L132

Added line #L132 was not covered by tests

# ipath-abempty = *( "/" isegment )
ipath_abempty = r"(?: / %(isegment)s )*" % locals()

Check warning on line 135 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L135

Added line #L135 was not covered by tests

# path-absolute = "/" [ isegment-nz *( "/" isegment ) ]
ipath_absolute = r"/ (?: %(isegment_nz)s (?: / %(isegment)s )* )?" % locals()

Check warning on line 138 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L138

Added line #L138 was not covered by tests

# ipath-noscheme = isegment-nz-nc *( "/" isegment )
ipath_noscheme = r"%(isegment_nz_nc)s (?: / %(isegment)s )*" % locals()

Check warning on line 141 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L141

Added line #L141 was not covered by tests

# ipath-rootless = isegment-nz *( "/" isegment )
ipath_rootless = r"%(isegment_nz)s (?: / %(isegment)s )*" % locals()

Check warning on line 144 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L144

Added line #L144 was not covered by tests

# path-empty = 0<ipchar>
ipath_empty = r"" ### FIXME

Check warning on line 147 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L147

Added line #L147 was not covered by tests

# path = path-abempty ; begins with "/" or is empty
# / path-absolute ; begins with "/" but not "//"
# / path-noscheme ; begins with a non-colon segment
# / path-rootless ; begins with a segment
# / path-empty ; zero characters
path = (

Check warning on line 154 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L154

Added line #L154 was not covered by tests
r"""(?: %(ipath_abempty)s |
%(ipath_absolute)s |
%(ipath_noscheme)s |
%(ipath_rootless)s |
%(ipath_empty)s
)
"""
% locals()
)

iprivate = r"[\uE000-\uF8FF] | [\uF0000-\uFFFFD] | [\u100000-\u10FFFD]"

Check warning on line 165 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L165

Added line #L165 was not covered by tests

### Query and Fragment

# iquery = *( ipchar / "/" / "?" )
iquery = r"(?: %(ipchar)s | %(iprivate)s | / | \? )*" % locals()

Check warning on line 170 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L170

Added line #L170 was not covered by tests

# ifragment = *( ipchar / "/" / "?" )
ifragment = r"(?: %(ipchar)s | / | \? )*" % locals()

Check warning on line 173 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L173

Added line #L173 was not covered by tests


### URIs


# irelative-part = "//" iauthority ipath-abempty
# / ipath-absolute
# / path-noscheme
# / path-empty
irelative_part = (

Check warning on line 183 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L183

Added line #L183 was not covered by tests
r"""(?: (?: // %(iauthority)s %(ipath_abempty)s ) |
%(ipath_absolute)s |
%(ipath_noscheme)s |
%(ipath_empty)s
)
"""
% locals()
)

# irelative-ref = irelative-part [ "?" iquery ] [ "#" ifragment ]
irelative_ref = r"%(irelative_part)s (?: \? %(iquery)s)? (?: \# %(ifragment)s)?" % locals()

Check warning on line 194 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L194

Added line #L194 was not covered by tests

CURIE = r"(?: (?: (?: %(prefix)s )? : )? %(irelative_ref)s )" % locals()
curie_validator = re.compile(f"^{CURIE}$", re.VERBOSE)

Check warning on line 197 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L196-L197

Added lines #L196 - L197 were not covered by tests

# URI-reference = URI / relative-ref
safe_CURIE = r"(?: \[ %(CURIE)s \] )" % locals()
safe_curie_validator = re.compile(f"^{safe_CURIE}$", re.VERBOSE)

Check warning on line 201 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L200-L201

Added lines #L200 - L201 were not covered by tests


def validate_curie(input):
print(CURIE)
return curie_validator.match(input)

Check warning on line 206 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L204-L206

Added lines #L204 - L206 were not covered by tests


def validate_safe_curie(input):
return safe_curie_validator.match(input)

Check warning on line 210 in linkml_runtime/utils/curie_validator.py

View check run for this annotation

Codecov / codecov/patch

linkml_runtime/utils/curie_validator.py#L209-L210

Added lines #L209 - L210 were not covered by tests
2 changes: 1 addition & 1 deletion linkml_runtime/utils/inference_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from linkml_runtime.utils.schemaview import SchemaView
from linkml_runtime.linkml_model import SlotDefinitionName, PermissibleValue, ClassDefinitionName
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.types.enum import EnumDefinitionImpl
from linkml_runtime.utils.eval_utils import eval_expr
from linkml_runtime.utils.walker_utils import traverse_object_tree
from linkml_runtime.utils.yamlutils import YAMLRoot
Expand Down
Loading
Loading