Coverage for python/pyshacl_turbo/__init__.py: 100.0%
209 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-16 12:25 +0000
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-16 12:25 +0000
1"""pySHACL compatibility layer. All SHACL execution happens in Rust."""
3import logging
4import warnings
5from collections.abc import Iterable, Sequence
6from dataclasses import replace
7from functools import wraps
8from importlib.metadata import version
9from pathlib import Path
11from rdflib import BNode, Dataset, Graph, Literal, URIRef
13from . import _native
14from .errors import ReportableRuntimeError, ShapeRecursionWarning, ValidationWarning
15from .rdf import (
16 Input,
17 commit_serialized,
18 is_oxigraph_store,
19 load_from_source,
20 merge_graph,
21 union,
22)
23from .rdf import decode as _graph
24from .rdf import input_graph as _input
25from .shape import Shape
26from .shapes_graph import ShapesGraph
27from .target_data import TargetData, prepare_target_data
29ValidationFailure = _native.ValidationFailure
30__version__ = version("pyshacl-turbo")
33def _failure_result(function):
34 @wraps(function)
35 def wrapped(*args, **kwargs):
36 try: 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @ipk[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iqkokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
37 return function(*args, **kwargs) 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @ipk[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iqkokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
38 except ValidationFailure as failure: 2*h~hfk/ia :i;i=i?idkkklkmknk@ipk[i]i^i_i`iqkok+h-i.i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j,h-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:jub.h/h:h(h)h;j=j?j@j[j]j^j;h=h?h@h[h]h^h_h`h{h|h_j`j{j|j}j~jak
39 failure.message = str(failure) 2?i[i]i^i;j=j?j@j[j]j^j_j`j{j|j}j~jak
40 return False, failure, f"Validation Failure - {failure}" 2?i[i]i^i;j=j?j@j[j]j^j_j`j{j|j}j~jak
41 except NotImplementedError: 2*h~hfk/ia :i;i=idkkklkmknk@ipk_i`iqkok+h-i.i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j,h-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:jub.h/h:h(h)h;h=h?h@h[h]h^h_h`h{h|h
42 raise 2:i;i=ikkpk_i`iqk
43 except RuntimeError as error: 2*h~hfk/ia dklkmknk@iok+h-i.i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j,h-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:jub.h/h:h(h)h;h=h?h@h[h]h^h_h`h{h|h
44 raise ReportableRuntimeError(str(error)) from error 2*hfka dklkmknk+h,h-hub.h/h:h;h=h?h@h[h]h^h_h`h{h|h
46 return wrapped
49__all__ = [
50 "CompiledShapes",
51 "ReportableRuntimeError",
52 "Shape",
53 "ShapeRecursionWarning",
54 "ShapesGraph",
55 "TargetData",
56 "ValidationFailure",
57 "ValidationWarning",
58 "__version__",
59 "compile_shapes",
60 "evaluate_query_testcase",
61 "extract_query_and_expected_result",
62 "load_from_source",
63 "meta_validate",
64 "prepare_target_data",
65 "shacl_rules",
66 "validate",
67 "validate_each",
68]
71class CompiledShapes:
72 """Reusable immutable shapes; each call gets its own Rust data store."""
74 def __init__(self, shacl_graph, *, shacl_graph_format=None, advanced=False):
75 self.graph = load_from_source(shacl_graph, rdf_format=shacl_graph_format) 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'brkskFbmin k Yb#hniBbCbb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbFkdcekuiviwiecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcGkMbCcHkIkJkKkLkMkDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcNkOkPkQkRkSkhkziAiVcWcTko p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJe1k2k3k4k5k6k7k8k9kKeLeMeNeOePeUkQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwftkukvkwkxkykzkAkBkCkDkEkxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
76 shapes = _input(self.graph, flatten=True) 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'brkskFbmin k Yb#hniBbCbb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbFkdcekuiviwiecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcGkMbCcHkIkJkKkLkMkDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcNkOkPkQkRkSkhkziAiVcWcTko p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJe1k2k3k4k5k6k7k8k9kKeLeMeNeOePeUkQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwftkukvkwkxkykzkAkBkCkDkEkxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
77 self._blank_nodes = shapes.blank_nodes 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'brkskFbmin k Yb#hniBbCbb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbFkdcekuiviwiecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcGkMbCcHkIkJkKkLkMkDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcNkOkPkQkRkSkhkziAiVcWcTko p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJe1k2k3k4k5k6k7k8k9kKeLeMeNeOePeUkQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwftkukvkwkxkykzkAkBkCkDkEkxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
78 self._native = _native.CompiledShapes( 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'brkskFbmin k Yb#hniBbCbb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbFkdcekuiviwiecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcGkMbCcHkIkJkKkLkMkDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcNkOkPkQkRkSkhkziAiVcWcTko p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJe1k2k3k4k5k6k7k8k9kKeLeMeNeOePeUkQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwftkukvkwkxkykzkAkBkCkDkEkxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
79 shapes.source,
80 shapes.format,
81 shapes.base,
82 advanced,
83 isinstance(shacl_graph, Graph),
84 [(p, str(ns)) for p, ns in self.graph.namespaces()],
85 )
87 def targeting(
88 self,
89 data_graph,
90 node: URIRef | BNode | Literal,
91 *,
92 skip: Iterable[URIRef | BNode] = (),
93 ) -> list[URIRef | BNode]:
94 """Return active node-shape identifiers whose declared targets include node.
96 Reuse TargetData to share a native reverse index across node lookups.
97 Excluded shapes are not evaluated. Graph inputs read fresh data per call.
98 """
99 return prepare_target_data(data_graph)._targeting(self, node, skip) 2tkukvkwkxkykzkAkBkCkDkEk
101 def validate(
102 self,
103 data_graph,
104 *,
105 data_graph_format=None,
106 inplace=False,
107 iterate_rules=False,
108 max_rule_iterations=100,
109 max_validation_depth=15,
110 allow_infos=False,
111 allow_warnings=False,
112 abort_on_first=False,
113 focus_nodes=None,
114 use_shapes=None,
115 ):
116 if inplace and not ( 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bskFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -hik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
117 isinstance(data_graph, (Graph, Input)) or is_oxigraph_store(data_graph)
118 ):
119 raise TypeError("inplace=True requires an RDFLib Graph or pyoxigraph Store") 2sk
120 data = _input(data_graph, data_graph_format) 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -hik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
121 conforms, report, text, expanded, recursion_warnings = self._native.validate( 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -hik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
122 data.source,
123 data.format,
124 data.base,
125 iterate_rules,
126 max_rule_iterations,
127 15 if max_validation_depth is None else max_validation_depth,
128 inplace,
129 allow_infos,
130 allow_warnings,
131 abort_on_first,
132 _expand_names(data.namespaces or dict(self.graph.namespaces()), focus_nodes),
133 _expand_names(self.graph, use_shapes),
134 [(p, str(ns)) for p, ns in data.namespaces.items()],
135 )
136 _emit_recursion_warnings(recursion_warnings) 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ ik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
137 nodes = self._blank_nodes | data.blank_nodes 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ ik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
138 report_graph = _graph(report, nodes, preserve_ids=True) 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ ik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
139 for prefix, namespace in self.graph.namespaces(): 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ ik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
140 report_graph.bind(prefix, namespace) 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ ik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
141 if inplace: 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ ik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
142 commit_serialized(data_graph, expanded, nodes, before=data) 2~ f g k LbabbbcbdbebfbMbibjbkblbmbnbobpbNbo p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : vb? @ wbxbybzb=
143 return conforms, report_graph, text 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUchkVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ ik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
145 def shacl_rules(
146 self,
147 data_graph,
148 *,
149 data_graph_format=None,
150 inplace=False,
151 iterate_rules=False,
152 max_rule_iterations=100,
153 max_validation_depth=15,
154 focus_nodes=None,
155 use_shapes=None,
156 ):
157 if inplace and not ( 2lirkmiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
158 isinstance(data_graph, (Graph, Input)) or is_oxigraph_store(data_graph)
159 ):
160 raise TypeError("inplace=True requires an RDFLib Graph or pyoxigraph Store") 2rk
161 data = _input(data_graph, data_graph_format) 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
162 expanded, recursion_warnings = self._native.expand( 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
163 data.source,
164 data.format,
165 data.base,
166 iterate_rules,
167 max_rule_iterations,
168 15 if max_validation_depth is None else max_validation_depth,
169 _expand_names(data.namespaces or dict(self.graph.namespaces()), focus_nodes),
170 _expand_names(self.graph, use_shapes),
171 )
172 _emit_recursion_warnings(recursion_warnings) 2limiYb#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
173 result = _graph( 2limiYb#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
174 expanded,
175 data.blank_nodes,
176 preserve_ids=True,
177 identifier=getattr(data_graph, "identifier", None),
178 )
179 for prefix, namespace in data.namespaces.items(): 2limiYb#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
180 result.bind(prefix, namespace) 2miYbnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi$h%hhiNibiaiii'hjikicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
181 if inplace: 2limiYb#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
182 commit_serialized(data_graph, expanded, data.blank_nodes, before=data) 2liYb#hpiaicidieifi
183 return data_graph if isinstance(data_graph, Graph) else result 2liYb#hpiaicidieifi
184 return result 2minioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,i$h%hhiNibiii'hjikiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
187def compile_shapes(shacl_graph, *, shacl_graph_format=None, advanced=False):
188 return CompiledShapes(shacl_graph, shacl_graph_format=shacl_graph_format, advanced=advanced) 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'brkskFbmin k Yb#hniBbCbb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbFkdcekuiviwiecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcGkMbCcHkIkJkKkLkMkDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcNkOkPkQkRkSkhkziAiVcWcTko p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeUkQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwftkukvkwkxkykzkAkBkCkDkEkxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
191@_failure_result
192def validate(
193 data_graph,
194 *args,
195 shacl_graph=None,
196 data_graph_format=None,
197 shacl_graph_format=None,
198 advanced=False,
199 inplace=False,
200 iterate_rules=False,
201 max_rule_iterations=100,
202 max_validation_depth=15,
203 inference=None,
204 ont_graph=None,
205 js=False,
206 debug=False,
207 allow_infos=False,
208 allow_warnings=False,
209 abort_on_first=False,
210 focus_nodes=None,
211 use_shapes=None,
212 multi_data_graphs_mode=None,
213 do_owl_imports=False,
214 ont_graph_format=None,
215 serialize_report_graph=False,
216 sparql_mode=False,
217 **kwargs,
218):
219 check_dash = kwargs.pop("check_dash_result", False) 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @ipk[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iqkokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
220 meta_shacl = kwargs.pop("meta_shacl", kwargs.pop("metashacl", False)) 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @ipk[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iqkokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
221 abort_on_first = kwargs.pop("abort_on_error", abort_on_first) 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @ipk[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iqkokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
222 _options(js, kwargs) 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @ipk[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iqkokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
223 if debug: 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
224 logging.getLogger("pyshacl-turbo").debug("Validating with the native Rust engine") 2gbGb
225 if sparql_mode: 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk kkBbCblkmknkb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
226 if inference not in (None, "none") or ont_graph is not None or inplace: 2kkBbCblkmknk
227 raise RuntimeError( 2lkmknk
228 "SPARQL Remote Graph Mode does not support inference, ontology inoculation or inplace"
229 )
230 if isinstance(data_graph, str) and data_graph.startswith(("http:", "https:")): 2kkBbCb
231 raise NotImplementedError("Remote SPARQL endpoint input") 2kk
232 if _is_multi_data_graph_input(data_graph): 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
233 if not data_graph: 2fkm dk` ^ _ { | }
234 raise RuntimeError("No data graphs were provided for validation.") 2fk
235 if multi_data_graphs_mode == "validate_each": 2m dk` ^ _ { | }
236 return validate_each( 1`{|}
237 data_graph,
238 *args,
239 shacl_graph=shacl_graph,
240 advanced=advanced,
241 data_graph_format=data_graph_format,
242 shacl_graph_format=shacl_graph_format,
243 inference=inference,
244 ont_graph=ont_graph,
245 inplace=inplace,
246 allow_infos=allow_infos,
247 allow_warnings=allow_warnings,
248 abort_on_first=abort_on_first,
249 focus_nodes=focus_nodes,
250 use_shapes=use_shapes,
251 do_owl_imports=do_owl_imports,
252 ont_graph_format=ont_graph_format,
253 serialize_report_graph=serialize_report_graph,
254 iterate_rules=iterate_rules,
255 max_rule_iterations=max_rule_iterations,
256 max_validation_depth=max_validation_depth,
257 debug=debug,
258 sparql_mode=sparql_mode,
259 )
260 if multi_data_graphs_mode not in (None, "combine"): 2m dk^ _
261 raise RuntimeError(f"Unknown multi_data_graphs_mode: {multi_data_graphs_mode}") 2dk
262 combined = Graph() 1m^_
263 for source in data_graph: 1m^_
264 source_graph = union(load_from_source(source, rdf_format=data_graph_format)) 1m^_
265 combined += source_graph 1m^_
266 for prefix, namespace in source_graph.namespaces(): 1m^_
267 combined.bind(prefix, namespace) 1m^_
268 data_graph, data_graph_format = combined, None 1m^_
269 if shacl_graph is None: 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn k BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
270 shacl_graph, shacl_graph_format = data_graph, data_graph_format 2~ HbIbJbKbabbbcbdbebfb
271 if meta_shacl: 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn k BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
272 conforms, _, text = meta_validate(shacl_graph, shacl_graph_format=shacl_graph_format) 1abc
273 if not conforms: 1abc
274 raise ReportableRuntimeError( 1a
275 "SHACL File does not validate against the SHACL Shapes SHACL (MetaSHACL) file.\n"
276 + text
277 )
278 if do_owl_imports: 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn k BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
279 shacl_graph = load_from_source( 2Fb
280 shacl_graph, rdf_format=shacl_graph_format, do_owl_imports=True
281 )
282 original = data_graph 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn k BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
283 original_snapshot = _input(data_graph) if is_oxigraph_store(data_graph) else None 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn k BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
284 data_graph = _prepare_data( 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn k BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
285 replace(original_snapshot) if original_snapshot is not None else data_graph,
286 data_graph_format,
287 ont_graph,
288 ont_graph_format,
289 inference,
290 do_owl_imports,
291 )
292 program = compile_shapes(shacl_graph, shacl_graph_format=shacl_graph_format, advanced=advanced) 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn k BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
293 if check_dash: 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
294 snapshot = _input(data_graph, data_graph_format) 2~ abbbcbdbebfbibjbkblbmbnbobpb
295 data_graph = Input( 2~ abbbcbdbebfbibjbkblbmbnbobpb
296 snapshot.source,
297 snapshot.format,
298 snapshot.base,
299 snapshot.blank_nodes,
300 snapshot.namespaces,
301 snapshot.preserve_ids,
302 )
303 result = program.validate( 2Zb0b1b2b*h~h3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
304 data_graph,
305 data_graph_format=data_graph_format,
306 inplace=inplace or check_dash,
307 iterate_rules=iterate_rules,
308 max_rule_iterations=max_rule_iterations,
309 max_validation_depth=max_validation_depth,
310 allow_infos=allow_infos,
311 allow_warnings=allow_warnings,
312 abort_on_first=abort_on_first,
313 focus_nodes=focus_nodes,
314 use_shapes=use_shapes,
315 )
316 if inplace and isinstance(original, Graph) and original is not data_graph: 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ 3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
317 merge_graph(original, load_from_source(data_graph)) 1fgkopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%'()*+,-./:=
318 elif inplace and is_oxigraph_store(original) and original is not data_graph: 2Zb0b1b2b3b~ 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUcVcWci j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ 3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
319 snapshot = _input(data_graph) 2vb? @
320 commit_serialized(original, snapshot.source, before=original_snapshot) 2vb? @
321 if check_dash: 2Zb0b1b2b3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ 3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
322 from .conformance import check_dash_result 2~ abbbcbdbebfbibjbkblbmbnbobpb
324 _, report, text = result 2~ abbbcbdbebfbibjbkblbmbnbobpb
325 return check_dash_result(report, program.graph, data_graph), report, text 2~ abbbcbdbebfbibjbkblbmbnbobpb
326 if serialize_report_graph: 2Zb0b1b2b3bf g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcNbUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ 3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
327 conforms, report, text = result 2gb
328 fmt = serialize_report_graph if isinstance(serialize_report_graph, str) else "turtle" 2gb
329 result = conforms, report.serialize(format=fmt, encoding="utf-8"), text 2gb
330 return result 2Zb0b1b2b3bf g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbn k BbCbb c ` (b^ GbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcNbUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? 2d@ 3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzbubObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
333def shacl_rules(
334 data_graph,
335 *args,
336 shacl_graph=None,
337 data_graph_format=None,
338 shacl_graph_format=None,
339 advanced=True,
340 inplace=False,
341 iterate_rules=False,
342 max_rule_iterations=100,
343 max_validation_depth=15,
344 inference=None,
345 ont_graph=None,
346 js=False,
347 debug=False,
348 do_owl_imports=False,
349 ont_graph_format=None,
350 focus_nodes=None,
351 use_shapes=None,
352 serialize_expanded_graph=False,
353 serialize_expanded_graph_format=None,
354 **kwargs,
355):
356 _options(js, kwargs) 2limiYb#hVkWkXknioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
357 if shacl_graph is None: 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
358 shacl_graph, shacl_graph_format = data_graph, data_graph_format 2nioi
359 original = data_graph 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
360 original_snapshot = _input(data_graph) if is_oxigraph_store(data_graph) else None 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
361 data_graph = _prepare_data( 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
362 replace(original_snapshot) if original_snapshot is not None else data_graph,
363 data_graph_format,
364 ont_graph,
365 ont_graph_format,
366 inference,
367 do_owl_imports,
368 )
369 if do_owl_imports: 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
370 shacl_graph = load_from_source( 2mi
371 shacl_graph, rdf_format=shacl_graph_format, do_owl_imports=True
372 )
373 result = compile_shapes( 2limiYb#hnioiqirisitigid e ekuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifibkckOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
374 shacl_graph, shacl_graph_format=shacl_graph_format, advanced=advanced
375 ).shacl_rules(
376 data_graph,
377 data_graph_format=data_graph_format,
378 inplace=inplace,
379 iterate_rules=iterate_rules,
380 max_rule_iterations=max_rule_iterations,
381 max_validation_depth=max_validation_depth,
382 focus_nodes=focus_nodes,
383 use_shapes=use_shapes,
384 )
385 if inplace and isinstance(original, Graph) and original is not data_graph: 2limiYb#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
386 merge_graph(original, result) 2Yb
387 result = original 2Yb
388 elif inplace and is_oxigraph_store(original) and original is not data_graph: 2limi#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
389 commit_serialized(original, _input(data_graph).source, before=original_snapshot) 2li#hpi
390 if serialize_expanded_graph: 2limiYb#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipi$h%hhiNibiaiii'hjikicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
391 rdf_format = serialize_expanded_graph_format or "trig" 2$h%hhibiaiii'hjiki
392 if rdf_format in {"json-ld", "nquads"} and not result.context_aware: 2$h%hhibiaiii'hjiki
393 dataset = Dataset() 2$h%h'h
394 context = dataset.graph(result.identifier) 2$h%h'h
395 context += result 2$h%h'h
396 for prefix, namespace in result.namespaces(): 2$h%h'h
397 dataset.bind(prefix, namespace) 2$h%h'h
398 result = dataset 2$h%h'h
399 return result.serialize(format=rdf_format) 2$h%hhibiaiii'hjiki
400 return result 2limiYb#hnioiqirisitigid e uiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMi,ipiNibiaicidieifiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i
403def _emit_recursion_warnings(messages):
404 # Emit before committing rule/inference additions. A warnings-as-errors
405 # policy must leave the caller's Graph or Store untouched.
406 for message in messages: 2Zb0b1b2bli3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbmin k Yb#hniBbCbb c ` (b^ GbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcuiviwiecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyiUchkziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? 2d@ ,ipiik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbubbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)eOi*e+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
407 warnings.warn(message, ShapeRecursionWarning, stacklevel=3) 2bk(hck)hObPbQbRbSbTbUbVbWbXb
410def _options(js, kwargs):
411 if js: 2Zb0b1b2b*h~hli3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbmin dkk kkYb#hVkWkXkniBbCblkmknkb c ` (b^ @ipk[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjc_i`iqkokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
412 raise NotImplementedError("Unsupported SHACL-JS") 2pkqk
413 for option in ("meta_shacl", "check_dash_result", "metashacl"): 2Zb0b1b2b*h~hli3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbmin dkk kkYb#hVkWkXkniBbCblkmknkb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjc_i`iokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
414 if kwargs.pop(option, False): 2Zb0b1b2b*h~hli3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbmin dkk kkYb#hVkWkXkniBbCblkmknkb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjc_i`iokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
415 raise NotImplementedError(f"Unsupported option: {option}") 2VkWkXk
416 if kwargs: 2Zb0b1b2b*h~hli3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbmin dkk kkYb#hniBbCblkmknkb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjc_i`iokabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
417 raise TypeError(f"Unsupported options: {', '.join(sorted(kwargs))}") 2ok
420def _expand_names(graph, names):
421 result = [] 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbmin k Yb#hniBbCbb c ` (b^ GbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUchkziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
422 namespaces = graph if isinstance(graph, dict) else dict(graph.namespaces()) 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbmin k Yb#hniBbCbb c ` (b^ GbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUchkziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
423 for name in names or []: 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbmin k Yb#hniBbCbb c ` (b^ GbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUchkziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
424 prefix, sep, local = str(name).partition(":") 2Abl n ^ giDbEbcidieifiwbxbybzb
425 result.append( 2Abl n ^ giDbEbcidieifiwbxbybzb
426 str(namespaces[prefix]) + local if sep and prefix in namespaces else str(name)
427 )
428 return result 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b6b7ba m h 8b9b!bgb#b$b%b'bFbmin k Yb#hniBbCbb c ` (b^ GbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bgkd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjcabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUchkziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-hik3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$ejk%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h
431def _prepare_data(data, rdf_format, ontology, ontology_format, inference, imports):
432 if ontology is None and inference in (None, "none"): 2Zb0b1b2b*h~hli3b~ f g 4bAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbmin k Yb#hniBbCbb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcziAiVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb? ,h2d@ ,ipi-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
433 return data 2Zb0b1b2b*h~hli3b~ 4bAb5b/i6b7bm 8b9b:i;i!bgb#b$b=i%b?i'bFbminiBbCbb c ` (b^ @i[i]i^iGbHbIboiJbqirisiti)b*b+b,b-b.b/b:bKbgihb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcekuiviwiecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNbxiyi+hUcziAiVcWcXcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdBiCiDiEiFiGiHiIiJiKiLiMiXdYdZd0d1dvb,h2d,ipi-h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ $h%hAeBeCe{ | } qbrbsbhiNiDetbEeFebiaiii'hjikicidieifiwbxbybzbub.h/h:hbk(hck)hObPbQbRbGeSbTbUbVbWbXbHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]hOi^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+itfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
434 multigraph = not isinstance(data, Graph) or data.context_aware 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
435 if not isinstance(data, (Graph, Input)) and not is_oxigraph_store(data): 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
436 data = load_from_source(data, rdf_format=rdf_format, multigraph=True) 1;
437 snapshot = _input(data, rdf_format) 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
438 source, source_format = snapshot.source, snapshot.format 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
439 namespaces = dict(snapshot.namespaces) 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
440 if ontology is not None: 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
441 ont = _input( 1fghkij
442 load_from_source(ontology, rdf_format=ontology_format, do_owl_imports=imports),
443 flatten=True,
444 )
445 source = _native.inoculate(source, source_format, ont.source) 1fghkij
446 source_format = "nquads" 1fghkij
447 for prefix, namespace in ont.namespaces.items(): 1fghkij
448 namespaces.setdefault(prefix, namespace) 1fghkij
449 if inference not in (None, "none"): 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
450 source = _native.infer( 2f g l a h n Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
451 source, source_format, inference, "urn:pyshacl:inference" if multigraph else None
452 )
453 source_format = "nquads" 2f g l a h n Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
454 if is_oxigraph_store(data) or isinstance(data, Input): 2f g l a h n k Yb#hb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j ? @ [ ; ] =
455 return Input( 2#h? @
456 source, source_format, None, snapshot.blank_nodes, namespaces, preserve_ids=True
457 )
458 result = _graph(source, snapshot.blank_nodes, preserve_ids=True) 2f g l a h n k Ybb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j [ ; ] =
459 for prefix, namespace in namespaces.items(): 2f g l a h n k Ybb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j [ ; ] =
460 result.bind(prefix, namespace) 2f g l a h k Ybb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j [ ; ] =
461 return result 2f g l a h n k Ybb c o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j [ ; ] =
464def _is_multi_data_graph_input(value):
465 return not isinstance(value, (str, bytes, Graph)) and isinstance( 2Zb0b1b2b*h~h3b~ f g 4bfkAbl 5b/i6b7ba m h 8b9b:i;i!bgb#b$b=i%b?i'bFbn dkk BbCbb c ` (b^ @i[i]i^iGbHbIbJb)b*b+b,b-b.b/b:bKbhb;b=b?b@b[b]bDbEb^bd _b`b{b|b}b~bacbce ccLbdcecfcgchcicjc_i`iabbbcbdbebfbkclcmcncocpcqcrcsctcucvcwcxcyczcAcBcMbCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcibjbkblbmbnbobpbRcScTcNb+hUcVcWco p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T -i.iU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # $ % ' ( ) * + , - . / : i j XcYcZc0c1c2c3c4c5c6c7c8c9c!c#c$c%c'c(c)c*c+c,c-c.c/c:c;c=c?c@c[c]c^c_c`c{i|i}i~iajbjcjdjejfjgjhj{c|c}c~cadbdcdddedfdgdhdidjdkdldmdndodpdijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3jqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1dvb? ,h2d@ -h4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze_ AeBeCe{ | } qbrbsbDetbEeFewbxbybzb!k#k$kYkZk0kub.h/h:h(h)hObPbQbRbGeSbTbUbVbWbXb[ ; ] = HeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e;j!e#e=j?j@j[j]j^j$e%e'e(e)e;h=h?h@h[h]h^h_h*e`h{h|h+e,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h_j8h9h`j{j|j}j~jak!h
466 value, (Sequence, set, frozenset)
467 )
470def validate_each(data_graphs, *args, **kwargs):
471 if not _is_multi_data_graph_input(data_graphs): 2m dk` hb{ | } qbrbsbtb!k#k$kYkZk0k
472 raise ReportableRuntimeError("validate_each expects a sequence of data graphs to validate.") 2!k#k$k
473 data_graphs = list(data_graphs) 2m dk` hb{ | } qbrbsbtbYkZk0k
474 if not data_graphs: 2m dk` hb{ | } qbrbsbtbYkZk0k
475 raise ReportableRuntimeError("No data graphs were provided for validate_each.") 2dkYkZk0k
476 return {index: validate(data, *args, **kwargs) for index, data in enumerate(data_graphs)} 2m ` hb{ | } qbrbsbtb
479def meta_validate(shacl_graph, inference="rdfs", **kwargs):
480 kwargs.pop("meta_shacl", None) 1abc
481 kwargs.pop("metashacl", None) 1abc
482 source_format = kwargs.pop("shacl_graph_format", None) 1abc
483 source = load_from_source(shacl_graph, rdf_format=source_format) 1abc
484 return validate( 1abc
485 source,
486 shacl_graph=Path(__file__).parent / "assets/shacl-shacl.ttl",
487 inference=inference,
488 **kwargs,
489 )
492from .conformance import evaluate_query_testcase, extract_query_and_expected_result